Back in her room, Elena set the notebook on her desk like it might bite her.
Maya had left five minutes ago, saying she’d let Elena “sit with it,” but the quiet was worse. She didn’t open it. She didn’t need to. She recognized the loops of his g, the way he underlined therefore three times when he was annoyed.
Adrian hadn’t forgotten.
The realization sat heavy in her chest. Nine months. He’d been gone nine months and he still sent her things in the middle of the night.
The door clicked open without a knock.
“Hey, you didn’t answer my text. I figured I’d—” Caleb stopped in the doorway when he saw her face.
He took one look at the notebook on her desk and his jaw tightened.
“You okay?” he asked, but it wasn’t really a question.
Elena didn’t answer. She just stared at the leather cover like if she looked away it would disappear.
Caleb crossed the room in three steps. He didn’t ask for permission. He came up behind her, arms sliding around her waist, pulling her back against his chest.
She went stiff for half a second, then didn’t move.
“I saw you in the common room,” he said quietly, his chin resting near her shoulder. “You looked like you were a thousand miles away.”
“It’s him,” she said. It came out smaller than she meant it to.
“I know.”
Caleb’s grip tightened slightly. Not possessive. Just steady.
“Elena, if you’d give me a chance,” he said against her hair, “I’d take him out of your mind.”
She closed her eyes.
She was tired. Tired of waiting. Tired of comparing every guy to a professor who’d left without a goodbye. Tired of feeling like she was paused while everyone else moved forward.
Maya’s words from earlier came back: With Caleb, you’re nice. With Dr. Cole, you’re alive.
But alive hurt. Alive felt like waiting for rain that never came.
Caleb was here. Caleb was warm. Caleb remembered how she took her coffee and didn’t care about her GPA or her messy proofs.
She turned in his arms, just enough to look up at him.
“Stop saying things like that,” she whispered.
“Why?” he asked. “Because it’s true?”
Elena didn’t have an answer. She just reached up and grabbed the front of his shirt.
“Okay,” she said.
Caleb blinked. “Okay?”
“If you think you can do it,” she said, voice low, “then do it.”
Something shifted in his face. Like he hadn’t expected her to say yes, not like this, not now.
He didn’t ask again.
He kissed her.
It wasn’t gentle. It wasn’t careful like he’d been for the past three months. It was like he’d been holding back and decided he wasn’t anymore. His hands came up to cradle her face, thumb brushing her cheek like he was memorizing the shape of it.
Elena kissed back.
Not because she’d stopped thinking about Adrian. She hadn’t. That wasn’t fair to Caleb and she knew it. But for the first time in months, the ache in her chest quieted. For a second, it was just her and Caleb and the rain against the window, and the part of her brain that kept replaying Adrian’s voice finally shut up.
When they pulled apart, both of them were breathing harder.
Caleb rested his forehead against hers.
“Was that okay?” he asked, quiet.
Elena nodded. She didn’t trust her voice yet.
“Good,” he said. A small, relieved smile. “Because I’m not letting you go back to just being nice to me.”
She huffed a laugh, and it felt real.
Caleb stepped back, but kept his hand on her waist.
“You should sleep,” he said. “Quiz tomorrow. And I don’t want you failing because of me.”
Elena glanced at the notebook on her desk. Then she looked back at him.
“Stay?” she asked.
Caleb’s expression softened.
“Yeah. I’ll stay.”
He moved to the edge of her bed, pulling her down with him. They didn’t talk. They didn’t need to. Outside, the rain kept falling, but it didn’t feel heavy anymore.
For the first time since Adrian left, Elena fell asleep without seeing his office in her dreams.