The rooftop smelled like grilled corn and cheap sparklers. Someone had strung fairy lights along the railing, and below us, downtown Seattle blinked awake as the sky went purple. Fourth of July always brought out the whole group — twelve of us, give or take, sprawled on borrowed lawn chairs, waiting for the fireworks over the water.
Donovan stood near the cooler, laughing at something, a beer sweating in his hand. Five years, and he still had that easy way of taking up a room without trying. I used to love that about him. Tonight, I just watched him laugh and felt tired.
"Okay, okay, everyone up!" Marcus Elliot clapped his hands like a camp counselor. "Couples game. Red string. You know the drill — tie it on your partner's wrist, make a wish, don't let go till midnight."
Someone passed around little spools of red thread. Kiara, my cousin, caught my eye across the roof and mouthed, *this is so dumb,* but she was smiling when she said it. Kiara never met a tradition she didn't want to make fun of first and participate in anyway.
Donovan came over, string looped around two fingers. "C'mere, Ross."
I held out my wrist. The string was warm from his hand. He looped it once, twice — and then Aylin's voice cut through the noise, high and breathless. "Donovan, wait, can you help me with mine? I can't get the knot."
Aylin Castillo. Twenty-four, always in something soft and pastel, always slightly overwhelmed by whatever was happening around her. She'd been orbiting our group for about eight months, ever since Donovan's coworker brought her to a dinner. She had a laugh like a wind chime and a talent for needing things at exactly the wrong moment.
Donovan glanced at me. I thought — stupidly, hopefully — that he'd finish tying my string first. He didn't. He just let go. The thread slipped off my wrist and dropped, curling on the rooftop concrete like something already dead.
He crossed to Aylin in two steps and took her wrist like it was the most natural thing in the world. "Hold still," he said, grinning, and tied the string around her, and she giggled and leaned her shoulder into his chest like she belonged there.
I stood there with my hand still out. Empty. The fairy lights blurred a little.
"Wow." Kiara's voice, flat and loud, cut through the party chatter. "Donovan. You are actually — you are pathetically blind. You know that?"
A few heads turned. Somebody's laugh died halfway out of their mouth.
Donovan waved a hand without even looking at her. "Kiara, don't be dramatic. It's a game." He pulled Aylin a little closer, like proving a point.
I didn't say anything. I crouched down, picked up my string off the concrete, and folded it into my palm. It was still warm. I don't know why that detail stuck with me — that it was still warm from his hand, even after he'd let it fall.
"I'm gonna head out," I said to no one in particular, and nobody stopped me.
---
In the cab, the city smeared past the window in long gold streaks. My phone buzzed against my thigh, over and over. Kiara.
*are you okay*
*Steph answer me*
*I swear to god I will end that man*
Forty minutes after I left the roof, one more message came through. Donovan.
*Don't be dramatic. It's just a game.*
I read it twice. Then I turned the phone face-down on the seat beside me and looked out at the lights again. My thumb moved on its own, drifting over my left wrist, over the place where a fraying red cord had sat for three years — the one he'd braided himself back when he had nothing, when a bracelet was the biggest thing he could give me. I didn't even notice I was doing it. I never noticed I was doing it. That night was the last time.
---
Kiara ordered two lattes the next morning and didn't touch hers. She just talked, hands flying, voice low and furious in the corner booth of the coffee shop we'd been going to since college.
"March. He canceled on your birthday dinner in March because Aylin 'had a panic attack.' April, he skipped your dad's gallery opening for the exact same reason. June, he forgot your anniversary and then acted like *you* were the one being unreasonable for bringing it up." She ticked them off on her fingers like she'd been keeping a list. Maybe she had. "And now this. In front of everyone, Steph."
I stirred my latte. Watched the foam spiral down into brown.
"You're not going to defend him?" Kiara said, and there was something in her voice I'd never heard before. Not anger this time. Something closer to fear.
I didn't have an answer ready. That scared me more than anything Donovan had done the night before — that I opened my mouth to say something in his favor, the way I always did, the way I'd done for five years, and nothing came out.
The silence sat there between us, heavier than any fight we could have had.
"Steph," Kiara said quietly. "Say something."
I looked up at her. "I don't know yet," I said. "But I know it's not nothing anymore."
Outside, the sky was clear and bright, like nothing had happened at all.
I bought groceries on autopilot.
That's the only explanation I have. My hands just did it — picked up the reusable bag by the door, walked to the market three blocks from my apartment, filled it with the things Donovan liked. Sourdough. The good olive oil. Those little cherry tomatoes he ate straight from the container. Five years of Tuesdays, and my hands didn't know how to stop.
I didn't even realize what I was doing until I was already in his elevator.
The doors opened. I let myself in with my key.
The apartment smelled like takeout and something floral — a perfume I didn't recognize. Donovan was in the kitchen, phone to his ear, back to me. He raised a hand in my direction without turning around. A wave. Like I was a delivery.
And then I saw her.
Aylin was on the couch, legs tucked under her, a throw blanket pooled around her waist. She looked up when I walked in and gave me a soft, slightly startled smile — the kind that said *oh, you're here* without actually saying it. She was wearing a cream-colored sweater, her dark hair loose, and around her neck —
I set the grocery bags on the counter.
I set them down very carefully, because my hands needed something to do.
The pendant caught the lamplight. Two interlocking circles, silver, hanging on a delicate chain. Simple. Unmistakable. I had pressed my fingers to a store window for it once, on a cold November afternoon, breath fogging the glass. *That's so beautiful,* I'd said. Donovan had been standing right beside me. He'd smiled and said nothing and steered us toward dinner.
That was fourteen months ago.
Aylin reached up and touched it absently, the way you touch something you've already forgotten is new.
Donovan hung up the phone and turned around. "Hey. You didn't have to —" He gestured at the bags. "You want to stay? We were just about to order more food."
*We.*
"No," I said. "I'm good."
My voice came out normal. I don't know how.
I left the groceries on the counter and walked back out. The elevator doors closed behind me, and I stood there watching the numbers count down, and I thought: *fourteen months.* I thought: *he remembered her size, her taste, her neck.* I thought: *he smiled and said nothing.*
Outside, the July air was still warm. I walked home without feeling my feet on the pavement.
---
I called him that night.
I sat on the edge of my bed, back straight, and I called him. He picked up on the third ring.
"Hey." He sounded relaxed. Unbothered. Like the evening had been entirely ordinary.
Maybe it had been. For him.
"I need to say something," I said. "And I need you to actually hear it."
"Okay —"
"If we're not married by the 26th," I said, "we're done. Not a break. Not a conversation. Done."
A beat of silence. Then he laughed — short, a little incredulous. "Steph. Come on."
"I mean it."
"You're doing this because of last night? Because of a string?"
"I'm doing this," I said, "because of fourteen months. And March. And April. And every time I stood somewhere waiting for you to show up and you were already somewhere else."
He exhaled. I could hear him shifting, settling into the familiar posture of this argument — the one where I was being too much, wanting too much, making things too complicated. "Your mom put this in your head," he said. "That astrologer thing. You're letting superstitious nonsense run your life."
"The 26th," I said.
"You're pressuring me. You know I hate ultimatums."
"I know."
"Steph —"
I hung up.
I sat there for a moment with the phone in my lap. My thumb drifted to my left wrist. I caught it this time. Held my own hand still.
Then I set the phone on the nightstand and turned off the light.
---
I stopped calling the next morning. Stopped texting. No *good morning,* no *did you eat,* no links to things I thought he'd find funny. I just — stopped. Closed the tap.
He noticed, I think, the way you notice when the refrigerator stops humming. A background sound, gone. Nothing urgent. He sent one text on Thursday — *you still mad?* — and when I didn't answer, he didn't follow up. He told himself, probably, that I was sulking. That I'd come around. That I always did.
He wasn't wrong about the *always.* He was wrong about the *this time.*
I spent that week very quiet. I went to work. I had dinner with Kiara on Wednesday and didn't talk about Donovan at all, which felt strange at first and then felt like taking off a coat I'd been wearing so long I'd forgotten it had weight.
I thought about the pendant. The way it caught the light.
I thought: *he knew exactly what he was buying.*
I thought: *so do I.*
The restaurant had those big windows that ran floor to ceiling. You could see the whole street from inside. Aylin sat across from Donovan, her fingers playing with the pendant at her throat. The same one. Silver. Two circles. I watched her touch it three times during the appetizers.
Kiara kicked my ankle under the table. I didn't look at her.
Marcus was telling some story about work. His girlfriend laughed. The server brought more water. Everything felt very normal except for the way Aylin kept glancing at Donovan, her face soft and worried.
"So my apartment's a disaster," she said finally, cutting into Marcus mid-sentence. "The heating just died. Landlord says it'll be a week before they can fix it."
She looked down at her plate. Pushed a piece of lettuce around with her fork.
"That's awful," someone said.
Aylin nodded. She tucked her hair behind her ear. The pendant swung forward, caught the light. "I don't really know what to do. Hotels are so expensive, and I can't afford —" She stopped. Shook her head. "Sorry. I shouldn't complain."
Donovan leaned forward. "You can crash at my place. I've got a couch."
He said it before I'd even swallowed my wine.
Aylin's face brightened. "Really? Are you sure?"
"Yeah, of course. No big deal."
I set my glass down. Carefully.
Kiara's foot pressed against mine again. Harder this time.
Donovan didn't look at me. Not once. Not to check if I'd heard. Not to see if I minded. He just smiled at Aylin and said something about bringing extra blankets, and she laughed that wind-chime laugh, and I sat there with my hands folded in my lap and thought: *this is what it feels like when someone stops seeing you in the room.*
I excused myself before dessert.
---
The parking lot was half-empty. I stood by Donovan's car and waited. The air smelled like rain coming.
He walked out five minutes later, keys already in his hand. He saw me and slowed. "You left early."
"The 26th," I said.
He stopped walking. "Steph. Not this again."
"That's the deadline. I told you."
"You're really going to do this? Right now?" He looked past me, toward the restaurant. "She needed help. What was I supposed to say?"
"You were supposed to ask me first."
"Ask you?" He let out a short laugh. "She's a friend. She's staying on my couch. You're acting like I invited her into my bed."
"You didn't even look at me."
"Because I knew you'd make it into something it's not." He rubbed his face. "This is exhausting, Steph. You're exhausting. Every conversation is an ultimatum. Every dinner is a test. I can't even help a friend without you turning it into some referendum on our relationship."
I felt the rain start. Small cold drops on my shoulders.
"The 26th," I said again.
Donovan shook his head. "You know what? Fine. Keep your deadline. Keep your astrologer's nonsense and your mom's superstitions and your business-negotiation timelines. But don't expect me to play along with this manipulation."
"It's not manipulation."
"Then what is it?"
I looked at him. Really looked. At the face I'd known since I was twenty-two. At the man who used to braid me bracelets and walk me home in the rain and remember the small things. I tried to find him in the person standing in front of me, annoyed, impatient, already halfway to his car.
I couldn't.
"It's a choice," I said quietly. "I'm asking you to choose."
He laughed again. Bitter this time. "You want me to choose? Fine. I choose not to be held hostage."
He got in his car. The engine started. I stood there in the rain and watched him pull out of the parking spot, watched the taillights disappear around the corner.
I stood there for a long time.
Then I started walking.
---
By the time I reached my apartment, my clothes were soaked through. My hair dripped onto the floor. I peeled everything off and got into the shower and stood under the hot water until it ran cold.
I called him.
Voicemail.
I called again.
Voicemail.
On the third try, I opened the app. The little green dot next to his name glowed. *Active now.*
He was online. He was seeing my calls. He was choosing not to answer.
I set the phone on the nightstand and lay down.
Sometime after two, the fever started. I felt it crawl up my spine, settle behind my eyes. My throat hurt. My skin hurt. I pulled the blankets up to my chin and shivered and stared at the ceiling.
I didn't call again.
I just lay there in the dark, burning, and thought: *this is what it feels like when someone lets you go.*