She was already under the covers when I stepped out of the bathroom, towel around my waist, steam still curling behind me.

The hotel room smelled like cheap citrus air freshener and the faint leftover garlic from the room service we’d split earlier. Rain hammered the window in sheets, the kind of downpour that makes you glad you’re not driving.

Sophie looked up from her phone, her green eyes catching the lamp light. Her dark auburn hair was twisted up in a messy knot, a few strands sticking to her neck from the shower she’d taken first. She had that signature way of tilting her head when she was nervous, like she was sizing up a jump she wasn’t sure she could make.

Advertisement

“They really fucked up the reservation,” she said, voice low, almost apologetic. “One king instead of two queens. Front desk swore there wasn’t another room in the whole place.”

I stood there dripping a little on the carpet, heart already doing something stupid. This was Sophie. My best friend Jake’s older sister. The one who’d teased me mercilessly through college visits, the one with the sharp laugh and the habit of stealing the last slice of pizza. She’d always been off-limits. Gorgeous in that effortless way—curvy hips, soft shoulders, a small scar on her left eyebrow from a childhood fall she’d told me about once.

But here we were, stuck in Omaha for Jake’s wedding weekend because our flights got canceled and the only car rental left was a beat-up sedan we’d driven through a storm. The rehearsal dinner had been three hours ago. Jake was safely passed out in the groom’s suite with his buddies. And Sophie and I had drawn the short straw on this room.

Advertisement

I’d known her for eight years. Met her the summer after my freshman year when Jake dragged me home for a barbecue. She was twenty-three then, fresh out of her first real job, always the one organizing everything. I’d been the quiet tagalong, the friend who laughed at her jokes and tried not to stare too long at the way her sundresses moved.

Life had moved on. I graduated, got a boring tech job in the city. She stayed closer to family, managing a small marketing firm. We texted sometimes—mostly memes about Jake being an idiot—but nothing deep. Until this trip. Until the delayed flight turned into a six-hour drive in pouring rain, her bare feet on my dashboard, singing off-key to the radio while I gripped the wheel and pretended I wasn’t noticing how her shorts rode up her thighs.

Now the clock on the nightstand read 12:47 a.m. The leftover chicken from dinner sat in grease-stained containers on the desk. A half-empty bottle of cheap red wine we’d bought at the gas station leaned against the lamp.

“You can take the bed,” I offered, clutching the towel tighter. My voice came out rough. “I’ll crash on the chair or something.”

Advertisement

She rolled her eyes, that familiar gesture that made her look exactly like the girl who’d once locked me out of the bathroom as a prank. “Don’t be ridiculous, Mark. It’s a king. We’re adults. We’ve shared worse. Remember that tent in the backyard when we were all broke?”

I did remember. Jake, me, Sophie, and her then-boyfriend crammed into one tent during a camping trip that ended with us all soaked and laughing. But that was years ago. Before she got engaged and then un-engaged last winter. Before I started wondering what her laugh sounded like when it wasn’t meant for everyone else.

The rain picked up, rattling the glass. I nodded, grabbed the gym shorts I’d packed, and retreated back into the bathroom to change. My hands shook a little as I pulled them on. This was fine. Normal. Just two people who knew each other forever sharing space because of bad luck.

Advertisement

When I came out she had scooted to the far side, back against the headboard, knees drawn up under the thin hotel blanket. She’d changed into an oversized band t-shirt—something faded from Jake’s old collection, I guessed—and shorts that barely peeked out. Her toenails were painted a deep blue that caught the light when she wiggled them absently.

I killed the main light, leaving just the bedside lamp. The room felt smaller. The bed felt enormous and too small at the same time.

I slid in on my side, keeping as much distance as possible. The mattress dipped. She didn’t move. For a minute we just lay there listening to the rain and the occasional car swishing through puddles outside.

“This is weird, right?” I finally said, staring at the ceiling tiles.

“A little,” she admitted. Her voice was softer than usual. “But not bad weird. Jake would lose his mind if he knew.”

That made me laugh, a short nervous bark. Jake had always been protective of her, even though she was four years older. He’d punch me in the arm if he heard half the thoughts I’d had over the years. Harmless ones. Mostly.

Advertisement

We talked about the wedding then. Safe ground. How the bride’s dress was too tight, how Jake had cried during the rehearsal when he thought no one was looking. Sophie reached over for the wine bottle at one point, took a swig straight from it, and passed it to me. Our fingers brushed. Nothing. Just skin.

But something in the air had shifted. I could feel it in the way she kept glancing at me when she thought I wasn’t looking. The way her foot accidentally grazed my calf under the covers and didn’t immediately pull away.

Advertisement

I handed the bottle back. Our eyes met longer this time. Her green ones looked darker in the low light, pupils wide. She had a small freckle cluster on her left cheek I’d never noticed up close before.

“You’ve been quiet since we left the rehearsal,” she said suddenly. “Everything okay?”

I shrugged against the pillow. “Just tired. Long drive. Thinking about work stuff.” Lies. I was thinking about how her shoulder looked where the t-shirt slipped, the smooth line of her collarbone.

Advertisement

She set the wine on the nightstand with a soft clink. Turned on her side to face me, propping her head on one hand. The blanket slid down a little, revealing the curve of her hip under the shirt hem.

“Liar,” she whispered. Not accusing. Just knowing. That was Sophie—always able to read me better than Jake ever could.

My pulse kicked up. I mirrored her position, facing her now. The space between us felt charged, like the static before lightning. The rain drummed on, steady background noise.

Advertisement

“Okay. Maybe I’m thinking this is a bad idea,” I confessed. My voice was barely above the rain.

Her eyebrows lifted, that scar pulling slightly. “Sharing a bed? Or something else?”

I didn’t answer right away. My mouth felt dry. She waited, patient, her breathing even. I noticed the way her chest rose and fell under the thin cotton, the faint outline of her nipples because she wasn’t wearing a bra. Real life. Not polished. Just there.

Advertisement

She reached out first. Not grabbing. Just her fingertips brushing my forearm where it rested on the mattress. Warm. Calluses from typing all day, I guessed. The touch lingered a second too long.

That was the first charged moment. The one that broke the usual rules between us. Her fingers on my skin, eyes locked, neither of us pretending it was accidental.

I should have pulled away. Cracked a joke about Jake’s face if he walked in. Instead I stayed perfectly still, feeling the heat of her hand like it was burning a brand into me.

“Mark,” she said softly. Her voice had that husky edge now, the one she got when she was serious. “I’ve been thinking about you. For months.”

The words hung there. My stomach flipped. Months? Her? The woman who’d dated lawyers and once called me “little brother” in a teasing voice that always stung more than it should.

Advertisement

“What do you mean?” I managed. My hand moved without thinking, covering hers where it rested on my arm. Not pushing it away. Holding it there.

She didn’t flinch. Instead she scooted a fraction closer, the mattress creaking. Her knee brushed mine under the covers. Bare skin on bare skin.

“Since Christmas at Jake’s place. When you helped with the dishes after everyone left. You were drying that stupid platter and I watched your hands and thought… what if. What if I just walked over and kissed you instead of saying goodnight.”

I swallowed hard. Christmas. She’d been there with her ex then, though they’d fought in the driveway later. I’d gone home alone, jerked off in my shower thinking about her laugh in the kitchen, hating myself for it.

“I thought about it too,” I admitted. The words tumbled out before I could stop them. “A lot. But you’re… you’re Soph. Jake’s sister.”

Advertisement

Her smile was small, crooked. She squeezed my arm. “And you’re his best friend. I know. It’s messy. But tonight the storm happened and the hotel screwed up and maybe it’s a sign or maybe it’s just dumb luck. Either way, I’m not pretending anymore.”

The tension thickened. Her foot slid against my calf again, deliberate this time. I felt my body respond, cock twitching under the shorts. She noticed—I saw it in the way her breath caught.

I leaned in first this time. Not all the way. Just enough that our faces were close, sharing the same air. Her lips parted slightly. She smelled like the hotel soap and the red wine.

“Is this okay?” I whispered. My free hand came up, hovering near her waist, not touching yet.

She answered by closing the gap. Her mouth met mine softly at first, almost tentative. Like testing. Then she made a small sound in her throat—relief, maybe—and kissed me harder. Her hand slid up my arm to my shoulder, gripping.

Advertisement

It wasn’t fireworks. It was real. Our noses bumped once. She tasted like wine and the mint from the gum she’d chewed in the car. Her hair came loose from the knot, falling across my cheek. I pushed it back, fingers tangling in the auburn strands.

When we broke apart she was breathing faster. So was I. The blanket had slipped down between us. Her t-shirt had ridden up, exposing a strip of pale stomach.

“Fuck,” she breathed, laughing a little. “I’ve wanted to do that for so long.”

“Me too,” I said. My voice cracked. I felt clumsy, heart hammering against my ribs. This was my best friend’s sister and I was kissing her in a hotel bed while rain poured down outside.

She rolled closer, leg draping over mine. The heat of her thigh against me made my shorts feel too tight. I kissed her again, this time letting my hand settle on her waist, thumb brushing the bare skin under her shirt.

Advertisement

She shivered. Not from cold. Her fingers traced my chest, light at first, then firmer, exploring the lines of muscle I’d built at the gym to burn off thoughts exactly like this.

“Tell me to stop and I will,” I said against her mouth, even though every part of me hoped she wouldn’t.

She pulled back just enough to look at me. Her eyes were serious now, green and clear. “I don’t want you to stop, Mark. I’ve been wet thinking about this drive for hours. Don’t you dare stop.”

That admission hit me like a truck. I kissed her deeper, tongue sliding against hers. She moaned softly into it, the sound vibrating through me. My hand moved higher under her shirt, cupping the weight of her breast. No bra. Just soft, warm skin and a hard nipple against my palm.

She arched into the touch, pressing closer. Our legs tangled more. I could feel the heat between her thighs now, radiating through her thin shorts.

This was the escalation. The point where flirting became direct. Where clothing started to shift. She tugged at my shorts waistband, not pulling them down yet, just teasing the edge. I slipped her shirt up further, exposing her completely from the waist up. Her breasts were full, nipples a dusky pink that made my mouth water.

“You’re beautiful,” I said, the words stupid and honest at the same time.

She smiled, a little self-conscious, and reached to pull the shirt off over her head. It landed somewhere on the floor with a soft thud. Then she was on me again, bare chest against mine, kissing like she was starving.

My hands roamed her back, tracing her spine, the dip above her ass. She ground against my thigh once, involuntary, and we both froze at how good it felt.

“Shit, sorry,” she whispered, forehead against mine. But she didn’t pull away. Instead she did it again, slower, deliberate. Her breath hitched.

I slid my hand down between us, cupping her through the shorts. She was soaked. The fabric clung to her. She gasped when I rubbed gently, eyes fluttering shut.

“Mark… yes. Like that.” Her voice was breathy, demanding in the softest way. She rocked against my fingers, chasing the friction.

We stayed like that for minutes—kissing, touching, building it slow because neither of us wanted to rush and ruin the moment. I slipped my fingers under the waistband of her shorts, finding her bare and slick. No underwear. She let out a shaky laugh when I touched her clit.

“I’ve been thinking about your fingers too,” she confessed between kisses. “Not just your hands. This. God, I’ve been so bad about it.”

I circled her slowly, learning what made her hips jerk. She was vocal—soft curses, my name mixed in, little instructions like “harder there” and “don’t stop.” Her hand found my cock through my shorts, stroking me in time with my fingers on her.

It built and built. She came first, suddenly, thighs clamping around my hand, a low moan spilling out that she tried to muffle against my shoulder. Her body shook, pussy pulsing against my fingers. I kept touching her through it, gentler now, until she relaxed.

Then it was my turn. She pushed my shorts down, freed me, and wrapped her hand around my bare cock. Her grip was perfect—firm, stroking from base to tip while she kissed my neck.

“I want you inside me,” she whispered against my ear. “But not yet. Let me watch you come first.”

I didn’t last long. The sight of her—naked from the waist up, hair wild, green eyes locked on mine while she jerked me off—pushed me over fast. I came with a groan, spilling over her fingers and onto my stomach. Messy. Real. She kept stroking until I was done, then wiped her hand on the discarded towel without a word.

We lay there catching our breath, half-undressed, the rain still falling. She pulled the blanket up over us, tucking her head against my chest like it was the most natural thing.

“That was… intense,” I said after a while. My hand stroked her back absently.

She nodded. “I’ve wanted you since that Christmas. Kept telling myself it was nothing. Then the flight got canceled and we were alone in the car for hours and I couldn’t stop imagining pulling over and climbing into your lap.”

I laughed quietly. “I almost did. At that rest stop. You were stretching and your shirt rode up and I had to pretend to check the tires.”

She lifted her head, grinning. “Pervert.” But her tone was affectionate. She kissed me again, slower this time. The kind of kiss that said we had all night.

The first full intimate scene happened after we cleaned up a little. I used the bathroom, came back to find her completely naked now, lying on her side under the sheet, waiting. The lamp cast warm shadows on her body—full breasts, the soft curve of her belly, the neat trim of hair between her legs.

I shed my shorts and joined her. This time there was no rush in the touching. I explored her with my mouth, tasting the salt on her neck, sucking gently on her nipples until she arched and threaded fingers through my hair.

“Lower,” she said, voice husky. “Please.”

I went lower. Spread her legs and settled between them. She was pink and wet, glistening. I licked her slowly at first, learning her taste—musky, sweet from the wine maybe. She moaned louder now, hips lifting to meet my tongue.

“Right there. Use your fingers too.” She guided me with words and gentle pressure on my head. I slid two fingers inside her while sucking her clit. She was tight, gripping me. Her thighs started to tremble after a few minutes.

She came again, this time with a sharp cry, flooding my mouth a little. I kept going until she pushed me away, oversensitive, laughing breathlessly.

Then she pulled me up, kissed the taste of herself off my lips, and rolled me onto my back. She straddled me, reaching between us to guide my cock to her entrance.

“I want this,” she said, looking down at me. Her hair fell around her face like a curtain. “Do you? Tell me yes.”

“Yes,” I answered immediately. My hands gripped her hips. “God, Sophie, yes.”

She sank down slowly. We both groaned at the same time. She was hot and slick and perfect. I pushed inside her inch by inch until I was buried completely. Her walls fluttered around me, adjusting.

For a moment we just stayed like that, connected, breathing together. Then she started to move, rolling her hips in a slow circle. Her breasts swayed with the motion. I reached up, cupping them, thumbs on her nipples.

She rode me like that for a while, eyes half-closed, mouth open. The sounds were obscene in the quiet room—wet slide of skin, her soft gasps, my low grunts. The rain provided cover.

I sat up eventually, wrapping arms around her, changing the angle. She gasped as I hit deeper. We kissed messily, foreheads bumping, noses brushing. My hands gripped her ass, helping her move faster.

“I’m close again,” she panted against my mouth. “Come with me. Please.”

I thrust up to meet her, feeling the tension build in my balls. She clenched around me suddenly, coming hard, nails digging into my shoulders. The pulse of her orgasm tipped me over. I came deep inside her, groaning her name, hips jerking uncontrollably.

We collapsed together, sweaty and spent, her on top of me. I stayed inside her as we softened. She kissed my chest, right over my heart.

“That was better than I imagined,” she whispered after a long silence. “And I’ve imagined it a lot.”

I traced patterns on her back, feeling the sweat cool on our skin. The wine bottle had tipped over at some point, a small red stain spreading on the carpet. Neither of us cared.

Hours passed. We dozed, woke, ate cold chicken straight from the container with our fingers, laughing at how ridiculous we looked naked on the hotel bed. The rain eased to a drizzle. The clock hit 3:17 a.m.

That’s when the second encounter happened. Different vibe. Slower, deeper. She was on her stomach this time, face turned to the side on the pillow. I lay behind her, spooned close, my hand between her legs again, stroking lazily.

“I have to tell you something,” she said quietly. Her voice was vulnerable now, no teasing. “After my breakup… I kept comparing everyone to you. Even when I told myself it was stupid. You’re the one who makes me laugh without trying. The one who remembers I hate mushrooms on pizza. I think I’ve been a little in love with you for years and was too scared to say it because of Jake.”

Her confession hit me in the chest. I kissed the back of her neck, tasting salt. “I’ve been in love with you since that first barbecue. Just never thought I’d get the chance.”

She pushed back against me, ass pressing into my growing erection. “Then take the chance. Make love to me like you mean it.”

I did. I entered her from behind, slow and deep. One arm wrapped around her, hand on her breast. The other between her legs, rubbing her clit in gentle circles. We moved like that for a long time—unhurried, savoring every slide, every shared breath.

She turned her head for kisses over her shoulder. They were sloppy, perfect. She whispered things between thrusts: “Harder now,” “I feel you everywhere,” “Don’t pull out when you come.”

I felt her build again, muscles tightening around me. This orgasm was quieter, a long shudder that ran through her whole body. I followed right after, spilling inside her again, face buried in her hair.

We stayed connected afterward, my softening cock still inside her, arms wrapped tight. The room smelled like sex and rain and the faint garlic from dinner. Her breathing evened out against my chest.

In the quiet I thought about Jake. About how this would change everything. About how I didn’t care, because she was here and real and choosing me.

Eventually she spoke again, voice thick with sleep and satisfaction. “This isn’t a one-time thing for me, Mark. I don’t want to sneak around forever. But tonight… tonight was the start.”

I kissed her shoulder. “Yeah. The start.”

The aftermath settled in the early morning hours. We finally separated, cleaned up in the tiny bathroom together, bumping elbows and laughing at the mirror fog. She stole my t-shirt to sleep in. I wore just the shorts.

We lay facing each other again, the lamp off now. City lights filtered through the curtains, painting faint stripes on the ceiling. The rain had stopped completely. A truck rumbled past outside, splashing through puddles.

I traced her eyebrow scar with my thumb. She smiled, eyes heavy.

“What happens when we get home?” I asked, the question that had been hovering since the first kiss.

She thought about it, fingers playing with the hair on my chest. “We tell Jake. Not right away. Maybe after the wedding. He’ll be pissed at first, but he’ll get over it. He’s not stupid. He knows we’re good for each other.”

I nodded. It felt right. Scary, but right. My life before this—work, lonely apartments, the occasional bad date—seemed distant now. Like it belonged to someone else.

She yawned, curling closer. Her leg slid between mine. “Stay with me tomorrow. Skip the early golf thing with the guys. We can order bad breakfast and pretend the flight delay never ended.”

“Deal,” I said.

The room grew quieter as exhaustion won. Her breathing deepened first. I lay there feeling her weight against me, the steady beat of her heart, the small sigh she made in her sleep.

This wasn’t how I expected the wedding trip to go. A hotel mix-up, a king bed, months of unspoken thoughts finally spilling out. But lying there with Sophie wrapped around me, I couldn’t imagine it any other way.

She stirred once, half-asleep, and pressed a kiss to my collarbone. “You’re mine now,” she murmured, voice soft but certain, like she was claiming something she’d waited too long for.

I smiled in the dark, already knowing it was true.