Work Text:
Roxas was no stranger to detention. Most commonly, it was due to something with his skateboard—riding it through the halls, grinding down the stair rails, and hitting someone with it on more than one occasion—just as it was today.
He was sitting with his head on his arms, feet absentmindedly rolling his skateboard back and forth on the floor. The teacher kept sending him nasty looks, but he was bored, and he refused to do anything else. Theoretically, detention was a perfect place to get your homework done, but Roxas would rather die than do something productive.
Usually, detention was boring and lonely and monotonous, but on this day, there was a new face sharing the room—a somewhat familiar boy with gravity-defying hair scribbling frantically on a paper and cursing under his breath. Roxas had never spoken to him, but he knew who this was well enough; Sora, the captain of the lacrosse team, well-known jock who was sickeningly optimistic and friendly. The complete inverse of Roxas, a grungy kid who avoided everyone outside of his small, tight-knit group.
Roxas spent a few minutes watching him struggle, tracing shapes into the desk with his index finger. After Sora roughly ran a hand through his hair and let out a shaky sigh, Roxas decided to take mercy on him and see what was up. Getting up from his desk got a hissed ‘sir!’ from the teacher, but he ignored it and slumped down into the seat next to Sora.
Sora seemingly took no notice of Roxas, chewing on the end of his pencil with his eyes scanning his worksheet hopelessly. Roxas sighed, “Hey.” You would’ve thought he’d shouted in Sora’s ear with the way he jumped.
“Holy crap! Sorry, I didn’t see you there,” Sora chuckled, brushing some hair out of his face. “I’m Sora.”
“I know, everyone knows you. I’m Roxas.” Roxas omitted the fact that he knew him because he’d paid attention to him since the first day he saw him, daydreaming about his muscles and his tanned skin and his mouth.
“I know!” Sora smiled, echoing Roxas. “I’ve seen you around. You’re friends with Ventus.”
Roxas groaned. “I guess. He’s my cousin, but I only hang out with him because his pain-in-the-ass boyfriend is friends with my friends.”
Sora tapped the end of his pencil against his cheek. “Yeah, Vanitas can be pretty annoying. He’s my cousin, so I don’t get much relief.”
Roxas nodded, wanting to change the subject because fuck, Vanitas pissed him off sometimes. “What are you working on?”
Sora let out a half-whine, half-groan, which was really fucking cute. He looked like a grumpy puppy. “Algebra. Math goes completely over my head. Totally the dumb jock stereotype.”
“Here, give it to me,” Roxas motioned, and Sora slid the paper over. Glancing through the problems quickly, he realized this was remedial math, and he definitely knew how to do this. He plucked the pencil out of Sora’s hand, launching into an explanation. “See, you need to make the equation equal to y, so you have to isolate it on this side. If you add something, you do the inverse on the other side by subtracting, and vice versa.”
Sora was right up close to him, arm pressed up against Roxas as he perched his chin in his hand. Roxas was trying his hardest to contain his blush, feeling like his skin was going to catch on fire with how warm he was. “Wait, so you don’t do the same thing on both sides?”
“No, that just makes it unequal because then it’s double on one side,” Roxas replied, chuckling a little at how consternated Sora looked at all this, with a thick crease between his brows.
Sora crinkled his nose at him. “Okay. Let me try one.” He took the paper and pencil back from Roxas, scribbling something down, erasing it, and scribbling again. He tapped his pencil against his lips—impossibly pink and slightly chapped, Roxas noted—before leaning over to Roxas again. “This?”
Roxas flicked his eyes over it quickly and nodded. “Yeah, you’re getting the hang of it.”
Totally unexpected, Sora tossed an arm around Roxas’s shoulders, squishing him in close. “Thank you so much, Rox! You’re a lifesaver.”
Okay, now Roxas was definitely blushing. Sora was so touchy and willing to get close, and he had already given him a nickname?! This was too much for his poor heart as he stuttered, “Um, uh—yeah, a-anytime.”
Roxas spent the rest of detention helping Sora, trying to keep from hiding his face in his hands every time Sora made eye contact with him. Sora was infectious, sending him grins that lit up the room with sparkling blue eyes; it made him constantly feel like he was in the middle of an inside joke. Roxas left feeling lighter than ever, something thrumming in his chest and filling his stomach with butterflies.
A few days later at lunch, Roxas was sitting with his legs tossed up on the table (Ventus constantly insisting that ‘Roxas, that’s gross!’ and trying to push his legs off) as he played on his DS. He fumbled and nearly dropped it when Sora came up behind him and proclaimed, “Hi!” in a way too loud voice.
“God, Sora, keep it down. What do you want?” Vanitas said from across the table, rolling his eyes.
“I need to talk to Roxas. I need help with algebra again,” Sora whined, fingers clutching at the textbook held up against his chest.
Vanitas burst out laughing. “Seriously? Roxas? Helping with math?"
“Shut the fuck up,” Roxas hissed at Vanitas, getting to his feet and grabbing Sora by the arm to drag him away. “No one knows I’m good at school, and I intend to keep it that way,” he muttered in Sora’s ear.
Sora grinned knowingly and proclaimed, “Let’s go to the library!” as he grabbed Roxas by the hand, not stopping to see if he would agree. Roxas was at a loss for words with his slightly sweaty hand in Sora’s calloused one and just let himself be manhandled.
Sora let go of him as soon as they got to the library, choosing a table towards the back. This time, Sora was working on graphing linear equations—thank god Roxas had helped him figure out how to solve them at all before—and Roxas was able to easily help him again for the rest of the lunch period.
“Do you wanna come over after school and help me? I don’t have practice, but I have a test tomorrow and it’s gonna kill me,” Sora said, pouting. He had perfected the puppy dog face, and Roxas couldn’t say no, even if he was incredibly anxious about spending time with his— Possible friend? Crush? Infatuation?
Upon seeing Roxas’s quick, stuttered nod, he grinned widely (god, what Roxas wouldn’t do to see that grin more) and half shouted, “I’ll meet you at the front entrance after school! I gotta get going!” as he ran out the door, earning him a glare from the librarian. As soon as the door closed, Roxas faceplanted on the desk—it was going to be a long, long day.
Roxas was promptly at the front entrance at 3:01, having practically ran there. He stood there fidgeting with the safety pins on the straps of his backpack, skateboard underneath his arm, as he waited for Sora and watched all the rowdy high schoolers try to force their way out of the school.
Sora made it within a few minutes, slightly sweaty with his lacrosse bag swung over his shoulder. “Okay! We have to walk, but it’s not far away.” Roxas nodded, and they began their way out.
Sora was very talkative on the walk, talking about the seasons and school and practice and everything that came to mind, while Roxas was fairly quiet, not wanting to fumble or stutter too badly.
“Uh— What did you end up in detention for that day, anyways?” Roxas asked after a few beats of silence, eyes downcast. “I’ve never seen you there.”
Sora let out a small laugh, rubbing the back of his head bashfully. “I almost fought an upperclassman.”
“Seriously? You?” Roxas gaped. Sure, Sora was strong and technically a jock, but he didn’t seem the type who would be able to hurt someone maliciously. Roxas wouldn’t be surprised if he cried when he killed a bug.
“He was being rude to one of my best friends. Kairi. He wouldn’t lay off her with being creepy, and I’d had enough of it. I mean, she definitely could have handled it herself, but I just got so mad!” Sora lamented. “I probably would have punched him if a teacher hadn’t come over right then.”
“That’s awfully noble of you,” Roxas grinned. “Think you’ll come to the rescue if I’m the damsel in distress?” Shit, that was pretty gay, he thought, too late to actually think his words through.
Sora mirrored his grin back and elbowed him in the side. “I don’t know if you’d need it, but sure. That’s what friends do!” Swinging his arms lightly, Sora continued, “What were you in detention for?”
Roxas scowled at the sky. “I’m almost always in there. I was skateboarding to class like I usually do, and a teacher told me to stop, but I—” he said, making a motion with a certain finger.
Sora burst out laughing so hard that he had to stop and clutch his stomach. “You’re too much, Roxas! Oh, we’re here!” he said, stopping in front of a house. “My parents aren’t home, so we don’t have to worry about them.”
Roxas felt his stomach clench a little in anxiety. He’s going to be here, alone, with Sora? Okay, yes, it’s just studying, breathe. No gay panic now.
Sora let them in quickly and led Roxas to his room, shutting the door. He put his bags on his bed and began dragging some textbooks out as Roxas took note of the room. Bright blue walls, some sports and band posters on the wall, and actually a lot tidier than he would have expected from someone as scatter-brained as Sora.
Sora sat on the floor, leaning against the end of his bed. He patted the floor next to him, signaling for Roxas to come sit, and launched into an explanation. “Okay, so the test tomorrow is on the linear equations and functions and graphing them, but I still don’t understand how to graph them, and I’m confused on all the exponents and stuff…”
He was chewing on the end of his pencil again, lips chapped, and Roxas had to shake his head to clear it and stop staring at Sora’s mouth. He grabbed a pencil and the textbook, starting to explain things to a perplexed Sora.
Sora was oddly determined to study—Roxas was expecting him to have a lot more attention issues—and they worked at it for nearly two hours. Eventually, Sora got frustrated and flopped on the floor, proposing they play some video games, as he’d just gotten the new Mario Kart. That devolved into another couple hours of shoving and yelling, and Roxas had the greatest time he’d had in weeks.
After that, Sora and Roxas spent a lot more time together, Roxas getting more comfortable with Sora and his overenthusiasm about everything. Sora began bursting his way into Roxas’s group’s dedicated lunch table, much to the irritation of Vanitas, because Roxas refused to go sit with the jocks. Roxas continued to help him study after school on occasion and hang out with the promise that Sora wouldn’t tell anyone that he was smarter than he looks—reputation and all that.
One day, Roxas was standing and talking to one of his friends in the hallway, when Sora came running at him full tilt, jumping on him and swinging his arms around his neck.
“Woah! What’s up?” Roxas laughed, catching Sora by the waist and setting him down, careful not to let his hands linger.
“I got an 89 on my test!” Sora cheered, planting a big kiss on Roxas’s cheek. “Thank you so much!”
Roxas started blushing so hard that he thought he was going to short-circuit and stop functioning. Sora was so touchy, but this was the most he had ever been. “Th-that’s great, Sor! I’m, uh, so proud of y-you!”
Sora grinned so wide his eyes crinkled shut. “Okay, gotta go! Come over after I’m done with practice, we should celebrate!” he yelled before running off; he was constantly in motion to the point that Roxas could barely keep up with him.
Roxas was left in the hallway with his jaw hanging open and his friend punching him in the side, jeering about what just happened.
Roxas made it to Sora’s house right as he made it home, stomach still in knots from earlier. He slipped his shoes off at the entrance, following Sora to his room.
“I’m gonna order some pizza, and we can just play a game or something. No work today! I’ve had enough schoolwork for the rest of my life,” Sora said, making a face and sticking out his tongue. Roxas busied himself with looking through Sora’s game collection while he put in their order.
Once it was done, Sora flopped onto the bed, arms outstretched and legs dangling over the side, and let out a big sigh. “I’m so relieved about the test. I always feel bad because I try, but I’m not that smart.”
Roxas peered over the edge of the bed from his spot on the floor. “Are you okay?”
Sora let out another deep sigh. “Yeah. I just get frustrated. I wish I could do better.”
Roxas felt a pang in his heart at these words coming from Sora; sure, Roxas was insecure as all hell, but that wasn’t something he’d expect from Sora. “I think… you’re perfect just the way you are. School is stupid, and grades won’t matter that much in the whole scheme of things, you know. You don’t need to force yourself to do something that makes you unhappy.”
Sora rolled over onto his side to look at Roxas, who had his head laying on his arms right on the edge of the bed. “You’re so smart and cool, Roxas. I’m really glad to have you.”
Roxas flushed and tilted his face further into his arms. “Nah. I’m not all that. I’m lucky to have you.”
“Seriously, you’re great!” Sora pouted, propping himself up on his forearms. “You’re so much fun to be around, and it makes me really happy!”
“Stop, oh my god, Sora!” Roxas whined, covering his face with his hands. “No emotional touchy-feely stuff!”
Sora giggled and rolled off the bed, lunging at Roxas. “I’m gonna kick your ass, then!”
Roxas howled, “Nooooo!” as they started wrestling, trying his hardest to get Sora into a headlock.
Unfortunately, neither of them had thought this situation through very well, both being stupid teenage boys. It ends up with Sora, predictably as he was far stronger, on top of Roxas, straddling his hips with his hands next to Roxas’s head. Roxas felt his pulse beating in his throat, cheeks burning as he stared into Sora’s shockingly blue eyes; Roxas kept flicking his eyes down to Sora’s lips, slightly parted, and it almost seemed like Sora’s face was getting closer and closer and closer as his eyes fluttered shut and—
The doorbell rang, and Sora jumped off Roxas like he was burning him. “Th-the pizza,” he stuttered, practically falling on his face as he tried to get up. “I’ll go get it, be r-right back!”
Roxas laid his head back down on the ground as Sora scrambled out of the room. Holy shit, he was totally fucked.
Sora had come back in the room totally red-faced, but he pretended there was nothing happening right before that, steadfastly offering Roxas pizza and booting up his console. Within a couple hours of playing, it seemed as if he had all but forgotten about it.
Finally throwing his controller down and giving up, Sora heaved a huge sigh. “Hey… Do you wanna stay over here tonight?”
Shit, okay, now Roxas was really fucked, but there was no way he could refuse. “Y-yeah. Just let me call my mom and ask.”
Sora nodded and decided to choose a movie while Roxas called his mom to get the okay. Sora chose some generic action flick and flopped down on the bed; Roxas was blushing again (would this ever stop?) because he knew he was going to have to lay next to Sora on Sora’s own bed, but it would be awkward if he just sat on the floor. Breathing out heavily through his nose, he tentatively sat next to Sora, keeping his hands in his lap as he picked at his nails.
At one point, Sora leaned his head onto Roxas’s shoulder, and his hands stilled in his lap. He was afraid to move or even breathe, so scared of what could happen. He was sure Sora could feel how tense he was, so he eventually willed himself to calm down and lay his head on top of Sora’s; when he did so, Sora hummed and moved closer just the tiniest bit, and Roxas felt so, so warm.
By the end of the movie, Sora was completely laid down with his eyes closed, nearly asleep. Roxas ghosted a hand over Sora’s arm, feeling the goosebumps that had crept up there. “Sor, are you awake?”
“Yeah, what’s up?” Sora said in a bleary voice, opening his eyes halfway.
Roxas started speaking, and then stopped and cleared his throat. “Hi.”
“Hi,” Sora grinned at him. “How are you?”
“I’m good. Can I, uh, borrow some pajamas?” Roxas whispered.
“Oh, yeah, I guess we should actually get ready for bed,” Sora yawned, sitting up and clambering off the bed. He threw a pair of gym shorts and a large shirt at Roxas, who went into the bathroom to change.
As Roxas changed, he was painfully aware of the fact that he was now partially naked in his crush’s house, in his crush’s clothes. They even smelled like him, and Roxas took a sharp inhale. Sora always smelled fresh, like on a sunny day when the grass is green and flowers are blooming.
He came out of the bathroom to the end of Sora changing, watching the shirt cover the muscles of his tanned back, and he quickly averted his eyes.
“So… where do I sleep?” Roxas asked, shifting from one foot to the other.
“You can sleep in my bed, if you’re okay with it,” Sora said quietly, ears turning red as he crawled into bed and rearranged the blankets.
Roxas swallowed around the lump in his throat. “Yeah. Okay.”
They laid side by side in Sora’s bed, simply staring at each other. Sora kept parting his lips as if he wanted to speak, then snapping them shut again. After a few minutes of tense silence, the only sounds being their breathing, he spoke.
“I… really like you, you know,” he said, so softly that Roxas almost had to strain to hear it.
“Me too,” Roxas whispered.
Sora let out a soft sigh. “Not like that, you know.” Roxas started to speak, but he shushed him with a finger to his lips. “I don’t want to ruin our friendship, but I’ve felt so many things since I first saw you in school. You were laughing across the cafeteria with your friends because Ventus shot milk out his nose. It was the cutest thing.”
Roxas raised a hand to cup Sora’s cheek. “I first noticed you on the field at lacrosse practice, throwing up your helmet and whooping at the sun because you’d made a goal. The way your eyes shone…” Roxas trailed off, touching Sora’s face so gently, like he could break if he pushed too hard.
Finally, what had been aching between them for days crumbled as Sora propped himself on his forearms to lean down to Roxas and connect their lips.
It wasn’t perfect, but things never were. Teeth struck each other and noses got squished as they had to keep repositioning their faces, yet it was so perfect and everything that either of them could have wanted.
As Sora held Roxas’s face with both hands and hummed against his mouth, Roxas slid his fingers into the soft hairs at the base of Sora’s neck and pulled him closer. The kisses tasted of sweat and salt, but also of sunshine and sweetness, and Roxas never wanted to let go.
When they did eventually part, faces flushed and breathing heavily, Sora gave Roxas a grin so wide and bright that he thought he would melt under it. Roxas gave him a small smile back, just barely showing his teeth, and Sora flopped on top of him with his arms around his neck.
“Thank you for everything,” Sora said, muffled in Roxas’s neck as he pressed a kiss to it.
Roxas shivered and held Sora as tight as he could. “Anytime, for you.”
They didn’t let each other go all night, and the sun rose to bright smiles and sweet kisses; as Sora giggled into Roxas’s mouth, Roxas was never more grateful for high school and detention.
