“He’s hung out with Charlie and me, yeah. But I don’t know him well enough to tell you his favorites beyond the brand of beer he buys or something. Now let me go get ready.”

“You look cute. Just wear that.”

She’s got on a Kelly-green dress with Swiss dots and a pair of Mary Jane heels Sami’s grandmother found for Ruby while she was thrifting. I eye them, jealous that we don’t wear the same shoe size, but at QQQ5’7, I have almost half a foot on Ruby.

“He said to dress up, so I need to change.”

“Dress up,” I repeat. Sami comes in from the hallway, earbuds in, her forehead wrinkled. I know that look; she’s dissecting a song. I tap my ears to signal Sami to take them out.

“What’s up?” she asks, removing one of them.

“Niles is taking Ruby out for dinner. He told her to dress nice.”

Sami taps her phone, pulls out the other earbud, and looks at Ruby. “Where is Niles taking you?”

Ruby’s face flickers between looking guilty and stifling a smile. “He made reservations at Spenser’s.”

Sami and I exchange lightning-quick looks.

“Spenser’s is super nice,” Sami says. “Is it a special occasion? Did we forget your anniversary or something?”

I don’t remember them celebrating an anniversary before, most likely because I’m not sure they even know what it is. They sort of fell into dating when we were in college, drifting into it without a hard start.

Ruby bites her bottom lip for a couple of seconds before she says, “He said he has a surprise for me.”

“Ruby! Could this be a proposal?” Sami’s voice sounds excited, but I’d bet anything, inside she’s saying the same thing I am.Please no, please no, please no.

Niles is so not the guy for Ruby for the same reasons you don’t mix mayonnaise in with anything you want to taste good: it only drowns out the flavor. But my job is to be excited for her if this is what she wants, right? I fix my face to project enthusiasm.

“I think so.” Ruby’s smile is nervous, and my heart squeezes. She’s not sure we’ll be happy for her.

“Oh my gosh, Ruby!” I say, hoping it doesn’t sound loud—the kind of loud people always get when they’re faking. I really, really wish I could be sincere. “I didn’t know you guys were talking about this seriously! Are you dying?”

“Yeah, kind of. What do you think I should wear?”

“To the closet,” I say, already on my feet. Sami is right on my heels.

We spend the next fifteen minutes pulling clothes from Ruby’s closet—which is cramped because she hasn’t found time to switch rooms with Ava.

We narrow it down to three possibilities.

“Model this one first,” I tell Ruby. “Booty will be popping, but it’s ladylike and the color is perfect.” It’s turquoise, and Ruby has strong Victoria Justice vibes, so she can get away with saturated colors. It’s sleeveless and ties around the waist in a chic knot.The darts in the back are what make the booty magic happen. That, and Ruby’s actual perky bum.

She takes the dress and slips into the bathroom. Once the door is safely shut, I look at Sami and whisper, “Are we okay with this?”

She sighs and shakes her head. “Let’s talk about it while she’s at dinner.”

When she walks out, I know before we even add the accessories that this is the dress. She checks her reflection in the closet mirror, smiles, and does a quarter turn to check the booty angle.

“Right as usual,” she says.

“Louder for the people in the back,” I say.

“Nah, don’t have to tell me twice,” Sami says. “I know you’re a fashion genius.”

Given my family business, I’d have to go out of my way not to be.

I squish Ruby in a hug and give her a loud, smacking kiss on the cheek.