By morning, the message is gone.
No lipstick on the window.
No note in my locker.
No comment on Ivy's post.
Like it never happened.
But I know it did.
My phone screen's cracked from where I threw it, and the time of the comment—3:03 a.m.—is burned into my head.
Ivy's old favorite number.
Because she was born at 3:03 in the morning.
Because she used to say, "Only witches and icons are born when the world sleeps."
I'm halfway through avoiding eye contact in the lunchroom when I hear it.
Riley's voice. Low. Sharp. My name.
"Lena. Come with me. Now."
She doesn't wait for me to answer. Just turns on her heel and heads for the old maintenance stairwell behind the gym.
I follow. Of course I follow.
No one's used these stairs in years. They're dim and dusty and always smell like mildew and regret.
When I catch up, Riley's lighting a cigarette with shaking fingers.
"You got one too, didn't you?"
I stare.
"What?"
She blows out smoke.
"The note. In the locker. Ivy's handwriting. 'Do you remember?'"
The words hit me like ice in my throat.
"How—how do you—"
"Because I got the same damn one," she says. "And so did Cami."
We sit in silence for a beat.
Riley leans against the wall like nothing scares her, but I can see it. The twitch in her jaw. The way her nails are digging into her palm.
"Someone's messing with us," she says. "Some sick freak who knows what we did."
"But no one else knows."
"Exactly."
Then, quietly:
"It has to be Ivy."
I flinch.
"Don't say that."
"Why not?" Riley stares at me. "You saw the comment too, didn't you? Her account? The emoji?"
(The 💋. The same one she always signed off with.)
We don't speak Ivy's name out loud anymore. We haven't in almost a year. Not since—
"We should tell someone," I whisper.
"And say what?" Riley snaps. "That our dead best friend is texting us from the afterlife? That we buried a secret and now it's clawing its way back?"
"She's not dead," I say.
"We don't know that."
Riley's lips tighten.
"Then where the hell is she?"
A creak. Footsteps.
We both turn fast.
Cami.
She's standing on the stairwell landing, gripping the railing like she might fall. Her face is pale, eyes wide.
"I saw her."
Her voice is barely there.
"Last night. In my mirror. She was behind me."
Riley swears under her breath.
Cami starts crying, but not loudly. The kind of crying where you're trying so hard not to make a sound, it hurts more.
"I thought I imagined it. I thought maybe I was just tired or... or sick. But then I found this."
She pulls something from her hoodie pocket. A bracelet.
Not just any bracelet.
Ivy's bracelet.
The one with the tiny silver heart.
The one she wore every day.
The one we buried with her hoodie in the woods.
"We have to talk about it," I say. "Really talk. No more pretending."
Riley throws her cigarette to the ground and stomps it out.
"Fine. But if we do this, we do it like before."
"Like before?" I ask.
She looks at both of us, dead serious.
"We make a pact."
Cami's voice is barely above a whisper.
"We already made one."
"No," Riley says. "That was a lie. This time, we make it real. We tell the truth. All of it. We say it out loud, together. And we swear no more secrets. If she's back, she already knows what we did. If we're next, we go down knowing we didn't keep lying."
I swallow hard.
The air in the stairwell feels heavier now. Like it's pressing down on us.
We sit in a triangle on the floor.
Three girls with nothing left to hide.
Three girls who once followed Ivy Monroe into the woods.
"Say it," Riley says.
My hands are cold. My voice is thinner than I thought it'd be.
1. "We left her."
2. "We lied," Cami chokes out.
3. "And now she's coming back for us," Riley says.
We sit in silence, Ivy's name hanging in the air like smoke.
I feel it in my chest. That pressure. That warning.
We broke the silence.
And I think she heard us.