(Sparse piano → slow strings → restrained orchestral swell)
[Verse 1 – T]
Your keys are still here on the table
Like you forgot to leave all the way
I keep pretending I don’t notice
How every breath sounds like your name
I thought we’d have more time than this
More reasons not to quit
But love don’t die in one night
It just gets tired of trying
[Pre-Chorus – T]
If this is the moment we break
I need you to look at my face
[Chorus – T]
If you’re gonna go
Say goodbye first
Don’t hold me close
Then let it hurt
I can handle the truth tonight
Just don’t leave me in the in-between light
If you’re gonna go
Say goodbye first
⸻
[Verse 2 – G]
I’ve packed my heart in quiet ways
Folded up what I couldn’t save
I’ve learned that love can be sincere
And still not strong enough to stay
I don’t regret the nights we tried
Or the parts of me you saw
But staying now would break us both
And I love you too much for that
[Pre-Chorus – G]
If I lie and say we’ll be okay
I’ll steal your chance to walk away
[Chorus – G]
If I’m gonna go
I’ll say goodbye first
I won’t leave hope
Where it can hurt
You deserve a cleaner end
Than promises I can’t defend
If I’m gonna go
I’ll say goodbye first
⸻
[Bridge – Duet (soft → rising)]
T:
I kept waiting for a sign
That you were choosing me this time
G:
I kept praying love would change
But love don’t grow where fear remains
(Harmonised voices)
So stand with me in what is real
Don’t touch me just to help me heal
This is the kindest thing we do
Let go before we turn untrue
(Strings swell, then drop to piano)
⸻
[Final Chorus – harmonised voice (orchestral, restrained)]
If we’re gonna break
Say goodbye first
Don’t fade away
Make it hurt
I can live with letting go
I just can’t love a ghost
If we’re gonna break
Say goodbye first
⸻
[Outro – T & G (whispered, alternating)]
T:
I’ll be okay… just not tonight
G:
You’ll find a love that stays and fights
(Harmonised voices)
If this is where our story ends
Let it end with honesty
Say goodbye first
Then set me free
(Final piano note, silence)