Chapter 12

CALVIN

The chant swells, a wave carrying us forward.

“Jules… Calvin… Jules… Calvin…”

The betting jar clinks. Someone wolf-whistles. Cara throws her arms up like a cheer captain and points at us as if this is destiny or a good rom-com.

Jules throws up her hands in mock surrender, tugging mine up with hers. She mouths I hate you at Cara, but the crooked smile ruins it. Cara just blows her a kiss.

The crowd eats it up.

And me? I’m reeling, because for one beat it feels less like a performance and more like… we’re doing this together.

My palm is damp against hers, but I don’t let go. The only speed that calms me is steady, so I walk us forward through the noise.

Up close she smells like summer and raspberry lemonade. It’s simple and dizzying. There’s a faint pink stain on her lip.

“You ready?” I ask, low, for her only.

“No,” she says. “Absolutely not.”

We walk anyway.

Riot fans the mic like he’s calling the main event.

“Clear the way! Our next brave souls!”

The crowd parts, chanting. Our names collide into a single drumbeat.

Mrs. Dorsey sweeps an arm like she’s officiating a wedding.

“In you go, my darlings.”

The curtain exhales a breath of cool air as it sways.

Inside: two folding chairs, a wobbling card table, and a pile of props someone thought would be funny.

A tiny chalkboard that reads I was wrong in loopy handwriting.

A plastic crown. Broken sunglasses. A folded scrap of paper I nudge aside, assuming it’s part of the joke.

The curtain swishes shut. From outside, Mrs. Dorsey calls, “Privacy, but not too much. We are still in public.”

We sit. The chairs squeak. The table tilts. Our knees knock, a quick spark that lingers hot in my chest.

Riot’s toy mic booms from the lawn. “Don’t take more than five minutes, lovebirds. After that I’m charging extra for booth rental.”

“Riot,” Maddie groans. “No one’s lasted two minutes.”

“I’m trying reverse psychology.”

“You’re still amplified, Riot,” I yell through the curtain.

Our fingers interlace on top of the table.

“Hi,” I say, the smile tugging at me before I can stop it.

“Hi,” she says, eyes flicking down.

All I want is to kiss her. I don’t. Not yet.

We start with crumbs, the easy bits.

“I’m sorry for flipping your yearbook photo upside down,” she says. “Artistic choice.”

“I’m sorry I told everyone you wore Snoopy pajamas in tenth grade,” I say.

“I did.” She grins. “They were iconic.”

“They were adorable,” I admit, and her laugh lands like I’ve been waiting for it all day.

Giggles ripple close to the curtain. The toy mic still carries us to the lawn; our words feel bigger than this little space.

She wipes a smudge from the tiny chalkboard and writes I used to steal your fries. Tilting it toward me with a smirk, she reads aloud for the lawn. “Sorry.”

I nod. “That’s why I always ordered large.”

Whispered bets buzz. A breeze tugs the curtain. A fork clatters. Someone gasps. Someone tries to shush and gets shushed back.

Riot lifts the mic again, gentler. “Clock’s ticking. Make it count.”

I flick the curtain in his direction; he laughs from the other side.

I trace the back of her hand with my thumb. The jokes thin. The air gathers. The space feels smaller, like a held breath.

I set the plastic crown on my head for a beat, deadpan. “I’m sorry for acting like I was the king of strategy.”

She snorts. “I’m sorry I acted like you were the enemy. Truth is, I wanted to be on your side. I just… wanted in.”

A beat passes.

“Okay,” she says. She glances down at our hands, her eyes ready to break in the most beautiful way. “I apologize for stealing your hoodie that winter and never giving it back…”

“You didn’t steal it,” I say. “I left it for you.”

“I still have it. Doesn’t get worn, but… it’s there.”

My chest stumbles at the thought she’s kept it all these years.

Her voice is soft, but it echoes inside me. In this little box, my own heartbeat sounds loud, like the booth is pressing a stethoscope to my ribs.

“You know,” she says, “I could keep apologizing for fries or the hoodie or the yearbook photo.” She swallows, her eyes dropping to the broken sunglasses. “Or I could say the thing I’ve been avoiding for ten years.”

I don’t move. I wait. It’s the bravest thing I know how to do.

“I’m sorry,” she says, and the words land heavy and right.

“I’m sorry I didn’t fight for us when I should have.” Her voice shakes, but she doesn’t look away.

“I’m sorry I called you selfish.” Her throat catches. “And I let ten years slip by even though I never stopped loving you.”

My pulse stumbles. For a second, I can practically see it: eyes going wide on the other side of the curtain, jaws dropping, the whole town leaning in to listen. But all I can hear is her.

She presses her lips together, breathes, keeps going anyway.

“I’m sorry I walked away when every part of me wanted to stay.”

Her hand twitches under mine. I don’t let go.

“I’m sorry I turned you into the villain when really, I was just afraid.”

Her voice softens to almost nothing. “Afraid of how much you mattered… and afraid I never really did.”

Her words crack open and spill between us, each one heavier than the last. Every sorry feels like a blade she’s turned on herself, and all I want is to take it out of her hands. Ten years of weight, and she’s still carrying it like it’s hers alone.

I feel it in my chest, sharp and deep. Not her guilt, but mine. The hoodie. The strategy. The way I let her walk away without fighting harder. She thinks she ran. Truth is, I let her go.

I don’t let go of her hand. My throat is tight.

“No, Jules,” I say. “You were right to walk when you did. Don’t ever carry the blame for my mistakes. I was young, arrogant. I let my ego outweigh us. I thought I was Superman when people started listening to me.”

My grip tightens around her fingers. I nod once.

“Thank you,” I say.

Silence folds around us. One breath. Two. I take mine slow so she doesn’t have to count hers.

“My turn,” I say, keeping my voice low. “I’m sorry I treated us like a game I could win instead of a life we could build. I built up strategies when what you needed was presence and honesty. I shouldn’t have made you feel small.”

Something in her loosens. I see it in the small drop of her shoulders, the way her mouth softens like relief and grief have finally agreed to share space.

Outside, Riot forgets he’s amplified. “Uh-oh. Tone shift. Grab tissues, people.”

“Riot,” Cara says, sharp as a blade. “Shut it! This is the good part.”

Snickers ripple, then fade. The betting jar stops clinking. The lawn holds still.

I free one hand, slide it into my back pocket, and find the letter I’ve carried too long. I set it on the table between us like glass. Her name waits on the front in my careful print, the creases a map of every time I chickened out.

“I meant to give this to you ten years ago,” I say. “Then a few weeks ago, when we were looking for Riot’s ring.”

I glance at the folds, then back at her. “Back then, I didn’t think I could live up to what it promised.”

The words scrape my throat raw. “It’s my biggest regret. But now…” I let out a breath. “Now it feels like a letter of hope. I never thought I’d get the chance to hand it to you.”

Her finger hovers at the edge of the paper. Everything in me goes still. Ten years of weight balanced on this moment.

“What is this, Cal?”

Her finger traces the letters of her name, written in my old handwriting. The world outside the curtain fades.

For the first time in ten years, the story is back in our hands.

If ads affect your reading experience, click here to remove ads on this page.