Work Text:
The tide was low when they reached the shore.
The beach was quieter than Mark expected — just the hush of waves folding into themselves and the sky slowly melting into gold. The air smelled like salt and sunscreen and something warm that felt like the end of a long day.
Vee kicked off his sandals first.
“Race you,” he said, already stepping onto the sand.
Mark snorted. “You’re twenty-two, not twelve.”
But he ran anyway.
The sand was still warm under their feet, soft enough to sink into. Mark almost slipped when Vee bumped his shoulder on purpose. By the time they reached the waterline, they were both laughing — breathless, careless, uncomplicated.
The waves curled around their ankles.
For a moment, neither of them spoke.
The sea stretched endless in front of them, glowing orange under the sinking sun. Mark folded his arms, pretending to study the horizon. He could feel Vee looking at him.
“What?” Mark asked without turning.
“Nothing,” Vee said softly.
But it wasn’t nothing.
It was the way Mark’s hair caught the light. The way he wasn’t tense anymore. The way he stood there like he wasn’t afraid Vee might disappear.
Vee reached out and brushed sand off Mark’s wrist. He didn’t even think about it. He just did it.
Mark glanced down at their hands. “You’re clingy.”
“You like it.”
Mark didn’t deny it.
A couple walked past them further down the shore, laughing loudly. Vee’s fingers slid naturally into Mark’s. No hesitation. No checking who was watching.
Mark felt it — that small, steady pressure.
Not urgent. Not guilty. Not stolen.
Chosen.
The waves rushed in again, higher this time, soaking the hem of Mark’s shorts. He yelped and grabbed onto Vee’s shirt. Vee laughed, loud and unrestrained, wrapping an arm around Mark’s waist to steady him.
“You’ll fall,” Vee said.
“Then hold me properly.”
The words came out teasing — but they landed somewhere deeper.
Vee’s smile softened.
He adjusted his grip, pulling Mark fully against him this time. Mark didn’t resist. He let himself rest there, forehead brushing Vee’s collarbone.
The sun dipped lower. The sky turned amber, then rose, then something dangerously close to violet.
“You know,” Vee murmured, voice quieter now, “last time we were near water, everything was a mess.”
Mark huffed. “Everything was a mess everywhere.”
“Not now.”
Mark leaned back slightly to look at him. The wind tugged at Vee’s hair. His expression wasn’t conflicted. Wasn’t guilty. Wasn’t divided.
Just sure.
“No,” Mark agreed. “Not now.”
A wave crashed harder than the others, spraying cold droplets against their legs. Mark gasped and instinctively buried his face into Vee’s shoulder. Vee laughed again — softer this time — and pressed a quick kiss into Mark’s hairline.
It wasn’t desperate.
It wasn’t something that might disappear tomorrow.
The tide rolled in, then out, steady and predictable.
Vee tightened his hold just slightly.
Mark didn’t pull away.
And for the first time, the ocean didn’t feel like something that could drag them under.
It just felt wide.
And theirs.
They stop at the same time.
Both slightly bent forward, hands on their knees, laughing too hard for how short the run was. The night air is cooler now, the beach washed silver under the moon. The sound of the waves feels louder in the dark — closer somehow.
Mark straightens first.
“You’re so out of shape,” he says between breaths, pushing his hair back from his forehead.
Vee looks up to argue — and forgets what he was going to say.
The moonlight spills over Mark’s face, soft and pale, catching on the curve of his cheekbone, the shine of sweat at his temple, the way his lips are still parted from laughing. His eyes are bright. Unaware. Open.
For a second, the world narrows.
No waves.
No wind.
No past.
Just Mark.
Mark notices the silence first. “Why are you staring at me like that?”
Vee doesn’t answer.
He steps closer instead.
They’re standing so near now that their breaths overlap — warm, uneven, still trying to steady. Mark’s laughter fades into something quieter. Something curious.
“Vee?”
There’s no hesitation this time.
Vee lifts a hand — slower than usual, almost careful — and brushes his thumb just under Mark’s eye, as if confirming he’s real. As if memorizing him.
“You look…” Vee starts, then shakes his head faintly. “Never mind.”
Mark rolls his eyes softly. “Idiot.”
But he doesn’t move away.
The moonlight shifts with the clouds, brightening for just a moment — bathing Mark’s face in silver. And Vee feels it again, that pull. Not urgent. Not messy. Not desperate like before.
Just overwhelming.
He leans in.
It isn’t a rushed kiss. It isn’t hungry.
It’s slow — like he’s afraid to break the quiet.
Their lips meet softly, tasting like salt and night air. Mark makes a small surprised sound against Vee’s mouth, but his hands come up instinctively, curling into the front of Vee’s shirt.
Vee deepens it just slightly — enough to say I’m here. Enough to say I choose you.
When they part, they don’t step back.
Their foreheads rest together, breaths still mingling.
Mark opens his eyes first. There’s something shy in his expression, but steady too.
“You’re really cheesy,” he murmurs.
Vee smiles, thumb brushing along Mark’s jaw.
“Yeah,” he says quietly. “But you’re mine.”
Mark’s lips twitch — not offended, not insecure.
Just certain.
The waves roll in again behind them, endless and patient, and under the moonlight, nothing feels fragile anymore.
They’re still close when the laughter fades.
Mark’s hands are curled loosely in Vee’s shirt, their foreheads almost touching, the sea breathing in and out behind them like something alive.
Vee looks at him — really looks at him.
Moonlight softens the sharp edges of Mark’s face. There’s salt on his skin. Sand at his ankles. A stubborn crease between his brows that only appears when he’s pretending not to care.
And Vee’s chest tightens.
We almost ruined this.
The thought doesn’t hurt the way it used to. It settles instead — heavy, honest.
He remembers the mess. The jealousy. The nights Mark cried because he felt second. The way Vee hesitated when he should have been brave. The guilt. The fear. The ugly, selfish parts of himself.
He remembers thinking love was supposed to be easy.
It wasn’t.
It was sharp.
It was confusing.
It was painful in ways he didn’t know how to handle.
But every mistake forced him to choose.
Every fight stripped something immature away.
Every time Mark almost walked out made Vee realize what losing him would actually mean.
If it had been easier, Vee thinks, I might not have understood.
If there hadn’t been pain, he wouldn’t know how deeply he could feel it.
If there hadn’t been doubt, he wouldn’t recognize certainty now.
Not everything between them is perfect. They still argue. Vee still gets jealous. Mark still pretends he doesn’t need reassurance.
But the difference now is simple.
They stay.
Vee brushes his thumb along Mark’s jaw, memorizing the warmth of his skin.
I wouldn’t change a single thing.
Not the chaos.
Not the heartbreak.
Not even the guilt.
Because every broken piece led him here — standing under the moon with the man he is absolutely, terrifyingly sure about.
The man he wants in his life.
Now.
And forever.
Mark blinks at him. “Why are you looking at me like that again?”
There’s humor in his voice — but something softer underneath.
Vee exhales slowly.
His heart is pounding, but not from running.
From knowing.
From choosing.
From being chosen.
Before he can overthink it — before fear can whisper anything stupid — Vee steps back just enough to create space between them.
Mark frowns slightly.
“Vee?”
The sand shifts under Vee’s feet as he lowers himself down.
One knee.
The world goes quiet.
Even the waves seem farther away.
Mark’s eyes widen. “What are you—”
Vee looks up at him from below, moonlight framing Mark like something unreal, something he somehow gets to keep.
“I was stupid,” Vee says quietly. “And selfish. And scared.”
Mark’s throat moves when he swallows.
“But every bad decision, every fight… it brought me here.” Vee’s voice steadies. “It made me sure.”
The wind lifts Mark’s hair again, brushing it across his forehead.
“You’re not the easy choice,” Vee continues, a faint smile tugging at his mouth. “You’re the right one.”
His chest feels open. Exposed. But unafraid.
“I don’t want a life that doesn’t have you arguing with me. Or laughing at me. Or pulling away when you’re embarrassed and then coming back anyway.”
He takes a breath.
“I don’t want perfect. I want us.”
The tide rolls in behind them, silver and endless.
Vee’s voice softens.
“So stay with me. Not because it’s easy. Not because it’s romantic.”
He holds Mark’s gaze, unwavering.
“But because we fought for this. And I’ll keep choosing you. Every time.”
The moonlight catches in Mark’s eyes — bright, trembling, full.
And for the first time in his life, Vee doesn’t feel afraid of what comes next.
He’s exactly where he’s meant to be.
Mark’s breath catches.
The words hit him slower than they should have — like the moonlight itself is pausing to let him feel everything at once.
He… he’s serious?
Mark’s hands twitch in the air, unsure where to go, unsure if he’s allowed to move, unsure if he’ll break this perfect moment. His chest tightens. His lips tremble. He swallows, hard, because his throat won’t cooperate.
Vee’s gaze is steady, even as his own eyes glisten with emotion. He’s kneeling there in the sand, moonlight painting him in silver and gold, voice quivering just enough to make Mark’s heart clench.
“I… I don’t have a ring,” Vee says softly, voice breaking, “but I… I still want to marry you, Mark.”
The honesty, the raw vulnerability, the certainty of it — it hits Mark like a wave stronger than anything the ocean behind them could manage.
A tear slips from the corner of Mark’s eye. Then another.
Mark’s hands linger on Vee’s shoulders, trembling just a little. His chest heaves, his lips parted, but he doesn’t immediately respond. His eyes, shining in the moonlight, flicker with something more than tears. Something like… disbelief.
“Wait,” he breathes, voice cracking, soft. “Are you… really, really sure about this?”
Vee blinks, caught off guard by the question. His own tears are still slipping down his cheeks, but he nods immediately. His voice wavers, but there’s no hesitation in it.
“I’ve never been more sure of anything in my life,” he says. “Not even the waves, not even the stars… just… you, Mark. Always you.”
Mark swallows hard, chest tight, and presses a hand to his mouth for a second as if to steady himself. The shaking in his arms, in his legs, isn’t fear — it’s the weight of how much he loves Vee and how incredible it feels that this man kneeling in the sand wants him… for eternity.
He steps closer, forehead brushing Vee’s again, and whispers, voice raw:
“You… you really mean that? No hesitation?”
Vee laughs softly through his tears, nodding again. “Not a single hesitation. Not ever.”
Mark exhales, slow, shaking, letting the tension leave him. A tear escapes, and then another, and finally he laughs — a little broken, a little choked — and leans down fully, pressing his lips to Vee’s in a kiss that says everything he can’t put into words.
For a moment, they just stay there, sand beneath them, waves behind them, hearts racing in sync, knowing this is real. That the choice is mutual. That the “forever” they’ve always been afraid to promise is finally theirs.
