It didn't happen under fireworks.
Not during a kiss.
Not in the middle of some big dramatic moment.
It happened in the rain.
Two days after the festival, the sky cracked open during lunch.
Everyone scattered, running for cover shrieking, slipping, waving umbrellas like shields.
But Rose and I?
We didn't run.
We just stood at the edge of the covered walkway outside the gym, watching the water pour off the roof like silver strings.
She held her notebook against her chest to protect it.
I stood close so our shoulders stayed warm.
The air smelled like wet grass and pavement.
And something inside me something quiet and sure finally said:
It's time.
She looked at me sideways, eyes soft.
"Do you ever think about the past versions of us?" she asked.
"All the time."
"I wonder what we'd say to them."
I smiled. "They were brave."
"They were scared."
"But they loved each other anyway."
She looked down at her feet.
"I've said it before," she said. "But only in my head."
I reached for her hand.
"Say it now."
Her eyes lifted. Met mine.
And there it was all of it.
The tears that hadn't fallen.
The walls she'd dropped for me.
The girl who used to smile like she was hiding.
"I love you," Rose said. Quiet, but clear. "I love you, Kellie."
The world slowed.
Even the rain felt softer somehow.
And I said it back:
"I love you, Rose."
Not a whisper.
Not shy.
Not hidden.
Just true.
We didn't kiss.
Not this time.
We just stood there hand in hand, rain all around us, eyes locked and let the words echo between us like a bridge finally crossed.
That night, she texted me a photo.
It was the strip of pictures from the festival booth.
Underneath, she'd written:
> "This is where I started to feel it.
The rooftop is where I knew.
But today was when I meant it."
I stared at my screen for a long time before replying:
> "Same.
I loved you in pieces before.
But today I gave you the whole thing."