How ruthlessly dreams can turn to nightmares.
A run to the Europa League Final that so often felt steeped in fairytale came to the cruelest of ends for Rangers in Seville.
Again they were forced to go beyond 90 minutes, but this time all that awaited at the end of the long road was the heartbreak of penalties as Eintracht Frankfurt prevailed on a night of unbearable tension at the Ramon Sanchez-Pizjuan.
Joe Aribo had Giovanni van Bronckhorst 's side ahead before Rafael Santos Borre levelled as the Final came to life in the second half.
But with neither team able to conjure up a winner in extra-time, it went all the way to spot-kicks and the agony fell on Aaron Ramsey, the marquee January signing who promised so much when he arrived from Juventus.
In a horrible twist of fate for the Welshman, his Ibrox legacy will now become this gut-wrenching moment.
And with it ended Rangers' remarkable adventure as the 100,000-plus who made the pilgrimage were left devastated in the Andalusian capital.
In time, they will reflect on this adventure with fondness but there's no crueler way to lose and they will return to Glasgow with wounds to heal ahead of Saturday's Scottish Cup Final against Hearts.
It ended in devastation but started as a carnival.
Giovanni van Bronckhorst went with the side which swept Leipzig aside at Ibrox, resisting the temptation to throw in Ramsey and the fit-again Kemar Roofe, instead placing huge faith in Scott Wright on the flank and Aribo as a false nine.
The opening moments, set against a backdrop of relentless noise, were frantic.
That sparring was halted by a rather bloody face injury to Frankfurt captain Sebastian Rode, courtesy of John Lundstram's boot.
When he returned and proceedings restarted, it was the Germans threatened through Kamada, who should've pulled the trigger on Allan McGregor's goal earlier when slipped down the inside left channel, but instead allowed Rangers to regroup.
Frankfurt were attacking at pace and it wasn't long before Ansgar Knauff forced a smart save from the Rangers keeper after galloping in from the right.
It took that warning for Van Bronckhorst's side to settle and Joe Aribo's curling effort had Kevin Trapp scrambling after good work from the lively Scott Wright.
Ryan Jack shot over from the edge of the box as the interval approached but it was a half in which Rangers failed to work the goalkeeper and saw Filip Kostic go close twice.
A pyro-induced fog fell over the Ramon Sanchez-Pizjuan as the second-half commenced and with it Frankfurt turned up the heat on Rangers.
Jesper Lindstrom's deflected shot so nearly crept into the corner with McGregor rooted to the spot.
Borre, quiet thus far, wanted a penalty when he went down under Goldson's challenge in the box and although the referee and VAR wasn't interested, replays showed the striker had a case.
And then came the moment Rangers fans were dreaming of.
A poor backward header from Djibril Sow set Aribo into a foot race with Tuta and when the Frankfurt man slipped and fell, he could only watch as the Nigerian strode through and slotted home.
It sparked chaotic scenes in the swathes of blue around the ground as the Rangers fans dared to dream.
But rather than wilt, it was a goal that served to drive Frankfurt up a notch and they went close more than once before Borre punished Rangers' hesitancy to poke home Kostic's inch-perfect low cross.
What followed was near unbearable tension.
Kostic lashed another terrifying ball across Rangers' six-yard box in the most heart-stopping moment of the remaining time but there was to be no decisive strike within 90 minutes.
And so to the attritional battle of extra-time we went, with sub Scott Arfield marking his arrival with a speculative strike that rose over Trapp's cross bar.
At the other end, Borre looked bound for a second were it not for Calvin Bassey's incredible recovery pace after he himself had slipped at the worst possible moment to set the striker bearing down on McGregor.
Understandably, the lightning pace slowly sapped out of the game as energy sapped from the players' legs.
Still though, there were moments as Davis had a shot blocked crucially at the edge of the box and Kristijan Jakic fired over from distance.
Penalties beckoned, but Rangers came so close to a winner as Kent fired against Trapp from point-blank range and Davis fired the rebound into the stands.
The standard of spot-kicks that followed were remarkable considering the pressure, but it only takes one mistake and it fell to Ramsey.
That opened the door for the Germans and Borre made no mistake in breaking Rangers hearts.
5 talking points
Festival of football
From the moment Rangers emerged from the tunnel from a pre-match scout of their surroundings, it was clear the Ramon Sanchez-Pizjuan was in for a raucous evening.
Almost two hours before kick-off, the roar that greeted the players was an ear-splitting one and set the tone for what was to come.
Rangers fans occupied around two-thirds of the stadium, the choice of which was criticised for its relatively low capacity but, on the night, served up a cauldron of noise in Seville 's energy-sapping heat.
It didn't relent either.
Even through the peaks and troughs of a contest dripping in tension, the noise level refused to dip.
Big European finals haven't been immune to the increasing soullessness of elite football - this was anything but.
Heartbreak in Seville
There's not much that unites Rangers and Celtic but for both fanbases, Seville will now forever stir up mixed emotions.
Joy and nostalgia at a few days to remember in the Andalusian sunshine, heartbreak and an eternal sense of 'what if' at what transpired on the pitch.
Rangers have claimed some serious scalps, notably Borussia Dortmund and RB Leipzig, on this remarkable run but they couldn't overcome Frankfurt from 12 yards.
They didn't play particularly well, but it would be harsh to claim Rangers buckled under the weight of the occasion - they had moments and it was no mismatch - but neither did they impose the aggressive yet tactically astute football that carried them to this occasion.
And that, undoubtedly, will be a regret for players, manager and supporters.
Ramsey's agony
It wasn't supposed to be like this for Aaron Ramsey.
Probably the most high-profile signing in Scottish football for some time, the Juventus superstar brought a star quality that captivated Rangers fans, and understandably so.
How cruel that it will be this moment that will define his spell at Ibrox.
His penalty was a poor one, truth be told, and it proved fatal against a flawless Frankfurt as they rattled in all five of theirs.
McGregor's last dance?
Was this the night Allan McGregor's long and storied Rangers career came to an end?
With a new contract not yet and the veteran keeper in his 41st year, there's a sense one of Ibrox's favourite sons may be readying himself to bow out.
If so, he'll go down as one of the club's greats.
The likes of Tavernier and Morelos have been the headline-grabbers in Rangers' Europa League adventures in recent years but it's testament to McGregor that he has just as often been among them.
It seemed written for him to then become the hero in the shoot-out but on this occasion, it just wasn't meant to be.
Tale of the 120
Where Leipzig lacked imagination and incisiveness, their countryman shifted through the attacking gears at a much more intimidating pace.
Afford them space and they moved from back to middle to front with purpose and quality and it was something that unsettled Rangers in the early stages.
Frankfurt also ensured Rangers' difference-makers were shackled - Tavernier was constantly swarmed in possession and Kent found himself being paid plentiful attention at all times.
But the most galling reality for Van Bronckhorst is that too many players who had set a sky-high bar in this tournament fell below those standards at times.
However, they can return to Ibrox with heads held high, regardless of the devastating outcome.