“I made her a promise,” I say finally.
Gavin looks up, instantly focused. He doesn’t interrupt. Doesn’t rush me. Just waits.
“Sophie,” I continue. “She knew something was wrong. I didn’t at first. I thought she was exhausted. New mom, night shifts, no support system. But it got worse. She started jumping at noises. Locking her doors three times. Calling me at three in the morning just to make sure I answered.”
Gavin lowers himself into the chair across from me, forearms resting on his thighs. His eyes never leave my face.
“She told me if anything ever happened to her—anything at all—I had to take Aidan and disappear. No questions. No delays. Just… run.”
My voice wobbles, and I hate that. I swallow and push on.
“I laughed it off. God, I hate myself for that now. I told her she was being dramatic. That nothing bad was going to happen. That people don’t just… come after babies.”
Gavin’s jaw tightens.
“She said someone wanted him,” I whisper. “Not her.Him.”
Silence stretches between us, thick and heavy.
“What kind of threats?” Gavin asks gently.
“Texts at first. Unknown numbers. Short messages. Stuff likeYou don’t get to keep what isn’t yoursandThis ends when the mistake is gone.” My stomach twists remembering it. “She blocked them. They came from new numbers. Then there were phone calls. No one ever spoke. Just breathing. Sometimes silence.”
My hands start to shake, and I press them into my thighs.
“Then things got physical. Her tires were slashed twice. Someone tried to get into her apartment while she was at work. The doorframe was damaged, but nothing was taken. It was like… a warning.”
Gavin exhales slowly through his nose, like he’s forcing himself to stay calm.
“She went to the police?” he asks.
“Yes. Hanover Falls PD. Twice.” My laugh is brittle. “They treated her like she was hysterical. Wrote a report. Told her stress can make people imagine patterns that aren’t there. One of them actually suggested therapy.”
Gavin’s eyes darken.
“They never followed up. Never called. Never checked security footage. Nothing.” I shake my head. “After the second visit, Sophie stopped going. She said it was pointless. That if thecops weren’t helping, it meant either they couldn’t… or they wouldn’t.”
“And you?” Gavin asks.
“I didn’t know how bad it was until the end.” My voice cracks. “The night before she died, she showed up at my place with Aidan in the middle of a snowstorm. She looked… wrecked. Like she hadn’t slept in days. She begged me, Gavin.Beggedme.”
My eyes burn.
“She grabbed my hands and made me swear. She said, ‘If anything happens to me, you run. You don’t wait. You don’t call anyone. You don’t trust anyone. You keep him safe.’”
I close my eyes, and for a second, I can see her so clearly it hurts.
“She died the next night.”
The room feels too small suddenly.
Gavin stands, pacing once, twice, then stopping like he’s afraid he’ll say the wrong thing if he keeps moving. “You think it wasn’t an accident,” he says quietly.
“I know it wasn’t.” My voice is steadier now, fueled by certainty instead of fear. “They said she lost control of the car. Single-vehicle collision. No witnesses. No surveillance footage. And I believed it for about an hour.”
Gavin looks at me sharply. “What changed?”
“I found her phone.”