Grant's stomach tightened, but he shoved his phone back in his pocket. She was probably on the train. Couldn't text back. She'd be here.
"Grant!"
He turned to find Hannah making her way through the growing crowd, looking frazzled and holding a shepherd's crook that was taller than she was.
"Have you seen Max's other shoe?" she asked. "He swears he had both of them in the car but now we can only find one."
"No, sorry. Want me to help look?"
"Would you? I swear, these kids are going to give me gray hair before I'm forty."
Grant followed Hannah backstage, where organized chaos reigned. Kids in angel costumes arguing over who got the better halo. A wise man crying because his crown was itchy. Teachers moving through the fray with the calm efficiency of people who'd done this a hundred times.
He found Max's shoe under a folding chair and delivered it to Hannah, who looked ready to cry with relief.
"Thank you. You're a lifesaver." She glanced around. "Where's Riley? I thought she'd be here by now."
Grant's chest tightened. "She had to go to the city for work. Emergency meeting. But she said she'd be back in time."
Hannah's expression flickered—something that looked like concern. "She texted me a little bit ago. Said she was going to miss it."
Grant's stomach dropped. "What?"
"About an hour ago. Said she was sorry, asked me to tell the kids she tried." Hannah paused. "You didn't know?"
Grant pulled out his phone with shaking hands. Anew text, received at 3:52 p.m.
Riley: I'm so sorry. I'm not going to make it in time. My boss kept piling on work and I missed my train. I'm trying to get there as fast as I can but I won't make the pageant.
The message had come in while he'd been helping Hannah search for the shoe. While his phone had been on silent in his pocket.
There was another one, timestamped ten minutes later.
Riley: Grant, please. I know you're upset. I tried everything to get away. I'll be on the next train. I'll explain when I get there.
Grant stared at the screen, his throat tight, his chest aching.
She wasn't coming.
She'd promised. Looked him in the eye this morning and sworn she'd be back. And now she was stuck in the city, exactly like he'd feared, exactly like he'd known would happen.
"Grant?" Hannah's voice was soft. "Are you okay?"
"Yeah. Fine." He shoved his phone back in his pocket. "I should get back to my seat."
He walked back to the main room on autopilot, barely seeing the people he passed. The two seats he'd saved sat empty, his coat still draped over Riley's chair like a placeholder for someone who wasn't going to show.
Grant grabbed his coat and sat down heavily.
The seats around him were filling up now. Families settling in with anticipation. Friends greeting each other. The energy in the room building toward something joyful.
Grant felt hollow.
"Grant! You made it!"
Carol Monroe slid into the row in front of him, David right next to her. She turned in her seat with a bright smile that dimmed when she saw the empty space beside him.
"Where's Riley?"