The basil and fish sauce smell from the takeout filled the kitchen. Outside, a siren passed, then faded. Noelle leaned back against my counter and studied me with narrowed eyes.

“Did Camille know?”

That was the question I had been dodging all day.

“I don’t know.”

“You think she didn’t?”

I thought of her face in that wedding photo. The way she’d looked at the camera from the back corner of the frame, not joyous, not smug. Tense. Watching.

“I think,” I said slowly, “she knew something.”

Noelle tapped a fingernail against her takeout container. “Then find out.”

“How?”

“You have all this.” She gestured toward my laptop, the folders, the printouts, the digital fortress of proof. “Start with the trail.”

I nodded, but shame crawled through me anyway. Because the trail didn’t just lead to them. It led to me. To every moment I had accepted crumbs and called it closeness. To every time I had stepped in because being needed felt adjacent to being cherished.

After Noelle left, I went back through my messages with Camille.

At first, they were normal wedding chaos. Dress photos. Venue questions. Guest count drama. Her mother objecting to local olive oil favors because they were “too farmstand.” Ethan vanishing during critical decisions. Me solving everything.

Then, around mid-June, the tone changed.

She stopped asking for anything directly.

Instead, she sent odd little check-ins.

You booked your travel, right?
What hotel did Ethan send?
You’re arriving Friday, not Thursday?
Did he forward the transport memo?

At the time, I read those as anxious bride energy. Now I saw the seams.

She hadn’t been making conversation.

She had been checking what version of the lie I had.

My chest went tight.

I clicked one message from twelve days before the wedding.

Just making sure you got the final itinerary from Ethan because there were “updates” lol.

There were quotation marks around updates.

I hadn’t noticed that before.

I went colder with every scroll.

Another message, a week later:

You should text me when you land. Just in case.

Just in case what?

At 11:47 p.m., after three hours of rereading, one detail surfaced like a hand from dark water. In the metadata of the seating chart draft, the file creator wasn’t Camille.

It was Diane Monroe.

My mother had made the chart where I didn’t exist.