AI The portal opened in the hollow of a dead oak.
Not split, not torn, not glowing in any way Rory’s tired brain had prepared for. The bark folded in on itself, ring by ring, until the trunk held a vertical mouth of amber light. Heat breathed through it, rich with cinnamon, roasted fat, crushed grapes, and the green bite of torn herbs.
Rory stopped with one boot sunk in Richmond mud.
“That’s Hel?”
The Heartstone pendant warmed against her chest. Not a gentle warmth . A warning held in a fist.
Isolde stood beside the oak without leaving a mark in the damp soil. Her silver hair stirred though the grove carried no wind. Pale lavender eyes watched the amber slit as if it watched her back.
“One table has many seats. This is only the chair that smiles.”
“That’s not comforting .”
“Comfort feeds the wrong mouth.”
Nyx’s shape gathered under the oak’s shadow, tall and narrow, violet eyes kindling inside a face that never settled into features. Their edges smoked into the night air.
“Dymas,” they whispered. “Gluttony’s orchard. Do not accept a cup. Do not taste fruit fallen from a silver branch. Do not answer if something calls you by a name your mother used.”
Rory’s fingers went to the crescent scar on her left wrist. She rubbed once, then stopped. The habit belonged to old fear, and old fear had no right to steer her.
“Brilliant. No snacks, no weird fruit, no childhood trauma. Anything else?”
Nyx tilted their head.
“If the road sweats, step around it.”
Rory stared at them.
“The road can sweat?”
“It can hunger.”
Isolde lifted one hand. Between her fingers lay the Fae blade, slender and leaf-shaped, moonsilver catching the amber spill from the portal and turning it the colour of bone. Rory took it. Cold bit through her palm, sharp enough to clear the last of London from her head.
“Cut only what has already chosen to bind you,” Isolde murmured.
“Could you lot ever just say ‘good luck’?”
A small smile touched Isolde’s mouth and vanished.
“Luck is a debt with pretty teeth.”
Rory slid the blade into the sheath at her belt and looked through the oak.
Beyond the amber light lay a stone path lined with vines so heavy they bent their iron trellises into bows. The sky on the other side burned warm gold, though no sun showed. Far away, impossible hills rose in rounded terraces, each level crowded with orchards, glasshouses, fountains, and long white buildings with fluted roofs like folded napkins. Bells rang in the distance, not church bells, not alarm bells, but bright, delicate chimes that made her think of spoons striking crystal .
She swallowed.
“Right. In and out. Find the rift point. Work out who sent me this.” She tapped the pendant . “Avoid being eaten by architecture.”
Nyx slipped through first.
Their body thinned to a ribbon of black and passed into Dymas without disturbing the light. For one second their silhouette stretched across the path beyond, too long, too jagged, like something had seized their shadow and pulled.
Then they re-formed.
“Cross.”
Rory went next.
The portal clung to her skin.
It felt like stepping through warm honey. The air dragged at her eyelashes, slid under her nails, pressed against her tongue with the taste of burnt sugar and red wine. Her ears popped. Her stomach dipped as if she had missed the last stair in the dark.
Then her boot hit pale stone.
Heat rose through the sole.
The Grove vanished behind her, replaced by a round arch of living oak standing alone in the middle of a courtyard paved with cream-coloured slabs. Each slab held fossil shapes that moved when she looked too long: fish with human hands, wheat stalks twisting into spines, mouths open in the stone and closing without sound.
Rory stepped off one.
“Nope.”
Isolde came through last. The portal folded shut behind her, bark knitting itself back into blank wood. The dead oak became a living one in Dymas, heavy with red-gold leaves and small black pears that clicked against one another like teeth.
Rory looked up.
The sky had no sun because the sky itself glowed. Warm amber stretched from horizon to horizon, thickened by slow currents of deeper orange, like broth stirred in a giant bowl. Birds wheeled overhead in perfect circles. They had peacock tails, vulture necks, and silver masks for faces. Whenever one opened its beak, a flute note drifted down.
“Those birds natural?”
Nyx kept to the shade of a trellis. The shadow there curled around them as if pleased to have company.
“In Dymas, natural means it has eaten enough to survive.”
Rory pulled her jacket open. Sweat already gathered at the base of her throat. London’s chill clung to the lining, losing the fight.
The courtyard overlooked a valley that should not have fit inside any realm with borders. Vineyards rolled in every direction, each row hung with grapes the size of plums. Some glowed blue under their skins. Others held tiny sparks that pulsed like trapped heartbeats. Orchards rose beyond them, branches heavy with fruit she couldn’t name: glass pomegranates with seeds shining through clear rind, peaches covered in downy scales, long green pods that hummed and flexed. Between the fields stood kitchens the size of cathedrals, their chimneys breathing coloured smoke. Yellow smoke smelled of saffron. Purple brought blackberries and lightning. A thick red plume made Rory’s mouth flood with saliva so fast she bit the inside of her cheek.
Blood sharpened her focus.
She spat onto the stone.
The drop sizzled, then grew a tiny red flower with a white centre. It opened, sniffed, and turned towards her boot.
Rory stepped back.
“Is my spit gardening now?”
Isolde leaned closer to the flower. It trembled under her gaze.
“Dymas wastes nothing.”
The flower snapped at the air where Rory’s ankle had been.
“Dymas can piss off.”
A laugh rose from somewhere below.
Not a person. A crowd. Far across the valley, beneath a series of striped pavilions, tables stretched in gleaming rows. Thousands of figures sat shoulder to shoulder. Some looked human. Some wore horns polished with oil. Some had mouths that opened down their necks. Servants moved between them carrying platters larger than doors.
The laugh came again, rippling over the hills.
A sound of full bellies and empty eyes.
Rory’s wonder shrank into a hard knot.
“Helbound souls?”
Nyx’s violet gaze fixed on the distant feast.
“Some. Contracted chefs. Guests. Debtors. Winners who lost the next course.”
“Nice place.”
“The prettiest traps need the best gardeners.”
They moved down the path.
The pale stone led from the courtyard into a tunnel of vines. Leaves overlapped overhead, thick and glossy, filtering the amber sky into green-gold patches that slid across Rory’s arms. Grapes hung low enough to brush her hair. Each cluster smelled different. Roast duck. Fresh bread. Chocolate orange. Her mum’s leek and potato soup, the one Jennifer Carter made on wet Sundays in Cardiff, thick with pepper and served in chipped blue bowls.
Rory stopped dead.
Steam seemed to curl from one grape.
For half a breath, she heard rain on the kitchen window. Her father laughing from the hall. Her mother humming under her breath.
Then Nyx’s hand closed around Rory’s wrist.
Their fingers felt like cold smoke packed into bone.
“Do not let this place season your memories.”
Rory dragged her arm back, breath rough in her chest.
“I wasn’t going to eat it.”
“The mouth begins in the mind.”
“Put that on a tea towel.”
Isolde had drifted ahead. Wildflowers grew between the stones wherever her bare feet passed near them, blooming and withering in seconds, unable to decide which realm’s rules to obey. She paused at a bend where the vines parted around a fountain.
The fountain stood in a small circular court. Three marble women rose from its centre, back to back, each with a different face: one laughing, one weeping, one asleep. Instead of water, dark sauce poured from urns in their arms, thick and glossy, steaming as it fell into the basin. The smell hit Rory like a hand on the sternum: beef marrow, red wine, rosemary, onions cooked past sweetness into something deep enough to drown in.
Her stomach cramped.
She had eaten before they left. Two bites of toast over Silas’ bar, standing in her kitchen with one trainer untied and Eva texting her seventeen question marks. Now hunger scraped at her ribs as if she had been fasting for days.
Nyx turned away from the fountain.
“Keep moving.”
Rory’s legs refused for one embarrassing second.
The weeping statue’s stone eyes rolled towards her.
“Laila,” it sang.
Her blood went cold .
Nobody here should have known that name .
Isolde’s head snapped round, silver hair cutting across her cheek.
Rory drew the Fae blade.
The moonsilver cleared its sheath with a whisper . Its cold ran up her arm and drove the hunger back. The statue’s mouth stretched wider, stone lips splitting at the corners.
“Little Laila, late for tea. Little Laila, thin as—”
Rory slashed the air between them.
The blade didn’t touch marble . It cut something thinner.
A shimmer peeled away from the fountain like cling film from a bowl. The smell vanished. The sauce became black water crawling with white grubs. The three statues sagged into one lump of pitted stone with a dozen mouths carved into its belly.
Each mouth opened.
Nyx flowed forward and spread into a sheet of darkness, swallowing the sound before it formed. The mouths worked in silence , chewing the air.
Rory backed away, blade raised.
“Was that a ward?”
Isolde’s eyes reflected the warped fountain.
“A napkin over rot.”
“Lovely.”
Nyx condensed beside her, taller than before, edges serrated.
“It marked you.”
Rory looked down.
A thin red line had appeared across the back of her left hand. Not a cut. A stain beneath the skin, curved like a smile.
She rubbed it. Nothing changed.
“Marked me for what?”
From the path behind them came a soft dragging sound.
All three turned.
A slug the length of a sofa inched across the stones. Its body shone translucent pink, full of floating seeds and half-digested jewels. On its back grew a tiny dining table set for one, complete with a white cloth, a silver candleholder, and a covered dish. The slug’s eyestalks waved at Rory’s hand.
The covered dish trembled .
Rory tightened her grip on the blade.
“Tell me that’s not coming over for a chat.”
Nyx watched the slug slide past the entrance to the fountain court.
“It is a courier.”
“For who?”
The slug stopped.
Its table bell rang by itself.
A voice came from under the silver cloche, muffled and wet.
“A welcome for the bearer of the Heartstone.”
Rory’s pendant pulsed hard enough to hurt.
Isolde lifted two fingers, and the wildflowers around her feet all turned black.
“Do not answer.”
The cloche rattled.
“Guest-right awaits. A seat has been warmed. A cup has been sugared. A name has been written in salt.”
Rory kept her mouth shut.
The slug’s eyestalks bent towards Nyx.
“Shadow without supper. Still fasting after all these years?”
Nyx made no sound, but the shade beneath the vines deepened until the leaves above shrivelled at the edges.
The eyestalks turned to Isolde.
“Rootless daughter. Courtless tongue. Your plate remains in the hollow hill.”
Isolde’s expression did not move. Only her hair shifted, lifting as if underwater.
The slug’s body rippled with a chuckle. The cloche rose a finger’s width. A smell escaped: hot butter, sea salt, the first bite of something forbidden.
Rory flung the Fae blade.
It struck the little table dead centre.
The moonsilver sank through cloth, wood, slug flesh, and the stone beneath with one clean note. The courier convulsed. The cloche flew off.
Under it lay no food. Only an eye, large as a grapefruit, lidless and amber, staring straight at Rory.
The eye blinked.
Every grape in the tunnel turned towards her.
Rory strode forward, yanked the dagger free, and the slug collapsed into a puddle of pink syrup and pearls. The pearls cracked one by one, releasing sighs.
“Still not answering.”
Nyx’s violet eyes gleamed.
“Good.”
Isolde stepped over the melting courier.
“The road heard you refuse. It will change its manners.”
As if the realm had waited for the cue, the pale stones ahead softened. Cream turned to gold, gold to wet brown. The path sagged, sweating beads of oil. A smell of frying dough rose from it.
Rory stared at the slick surface.
“The road’s sweating.”
Nyx pointed left.
“Orchard.”
They left the path and pushed through a gap in the vines.
The ground beyond gave under Rory’s boots with a springy, moss-like texture. Not grass. Tiny green tongues carpeted the slope, each one tasting the air as she passed. She stepped lighter, though every part of her wanted to run.
The orchard opened around them.
Trees towered in ordered rows, their trunks dark purple and twisted like braided muscle. Leaves hung broad and blue-black, veined with gold. Fruit dangled high above: lantern-shaped, milky white, each one filled with a drifting shadow. When the breeze moved, the fruit knocked together with soft glassy chimes.
Rory forgot to breathe.
A stream crossed the orchard, narrow and clear, flowing uphill. In its bed lay cutlery instead of stones: forks, spoons, knives, ladles, all worn smooth by current. Tiny fish with human lips darted between them. One surfaced and blew a bubble that held a perfect miniature image of Cardiff Bay at dusk.
Rory crouched before she could stop herself.
The bubble drifted near her face. Inside it, water slapped the barrage, gulls hung in the wind, and a younger Rory stood with Eva at seventeen, both of them in cheap coats, sharing chips out of paper while pretending adulthood wouldn’t find them.
The fish smiled with too many flat teeth.
Rory popped the bubble with the tip of the dagger.
“Not today.”
Isolde watched the stream run uphill.
“Memory ferments quickly here.”
“Everything ferments here.”
Nyx stood beneath one of the lantern fruits, head tilted back. The shadow inside the fruit pressed against its pale skin in the shape of a hand.
“They grow appetites.”
Rory rose.
“Appetites for what?”
A fruit above her split with a sigh.
The shadow inside poured out, not down but sideways, spreading into a flat black shape in the air . It lengthened, gained shoulders, gained a bowed head. For one dreadful second it looked human.
Then a mouth opened in its chest.
Rory raised the blade.
Nyx moved first.
They surged up the tree trunk, became a smear of night across purple bark, and wrapped the newborn thing before it could detach. The chest-mouth bit into Nyx’s darkness. Violet light flashed. Nyx’s form shuddered, then tightened like a fist.
The shadow-fruit creature folded in on itself and vanished with a dry pop.
The tree groaned. Several lantern fruits dimmed.
Rory backed towards Isolde.
“Appetites. Great. We’ve seen the appetites.”
Nyx dropped from the trunk and landed without a sound. Their outline held for a moment in too many angles before settling back into humanoid shape.
“Unripe. Weak.”
“That was weak?”
“In Dymas, hunger learned patience.”
A horn sounded across the valley.
Low. Brass. Enormous.
The birds with silver masks rose from the vineyards in a single glittering cloud. The distant feast quietened. Even the uphill stream seemed to hush, cutlery clinking softer under the current.
Rory looked through the trees.
Beyond the orchard, the land dipped towards a canal of dark red liquid. On the far bank stood a market street that hadn’t been there before. It stretched under awnings striped cream and crimson, crowded with stalls. Copper lamps burned though the sky remained bright. Figures moved between counters stacked with impossible goods: jars of bottled laughter, cages full of singing tongues, pyramids of fruit that changed shape whenever someone reached for them.
At the end of the street rose an archway made of ribs.
The Heartstone pendant pulsed towards it.
Rory wrapped her hand around the gem. Heat throbbed through her fingers.
“That way.”
Isolde’s gaze followed the pendant’s pull. Her pupils narrowed to pale slits.
“Where ribs remember the beast, the Veil has been gnawed thin.”
“Rift point?”
“The wound wore a market’s face.”
Nyx turned their head towards the horn’s fading note.
“And markets have masters.”
Rory looked back the way they had come. The path through the vines had sealed. Leaves knitted over the gap. Grapes swelled in the new growth, glossy and watchful.
“Of course they do.”
She wiped sweat from her upper lip with the back of her wrist. The red smile-mark on her hand seemed darker now, almost fresh. Beneath her palm, the Heartstone beat and beat, eager as a second heart.
The canal lay ahead, red and slow, carrying white petals and small bones. A bridge arched over it, made from lacquered wood carved into the shapes of intertwined forks. On the near side of the bridge stood a signpost with no writing, only three shallow bowls nailed to the wood.
One held salt.
One held honey.
One held teeth.
Rory stopped before it.
“Let me guess. Toll.”
The nearest bowl shifted. The teeth inside turned, roots clicking against porcelain .
A voice came from the signpost, dry as nutshells.
“Salt for passage. Honey for favour. Teeth for truth.”
Rory glanced at Isolde.
“Can I stab a sign?”
Isolde studied the bowls.
“A toll paid poorly follows on soft feet.”
Nyx’s shadow stretched across the ground, stopping short of the bridge as if pressed against glass.
“The canal is warded. I cannot cross first.”
Rory exhaled through her nose.
The market beyond the bridge brightened. A stallholder with antlers and no face lifted one long hand in greeting. Somewhere under the awnings, a child laughed, then coughed, then laughed again in an adult man’s voice.
Rory stepped closer to the bowls.
“No food. No cups. No answering childhood names. No sweaty roads. What about salt?”
Nyx’s whisper brushed her ear.
“Salt binds. Honey invites. Teeth confess.”
Rory looked at the crescent scar on her wrist, then at the red mark on her hand, then at the bridge waiting over the canal.
She reached into her jacket pocket and pulled out the small paper sachet of salt she’d taken from the Golden Empress counter before leaving, the kind Yu-Fei kept beside soy sauce packets and wooden chopsticks.
Isolde’s brows lifted a fraction.
Rory tore it open with her teeth.
“Delivery work teaches preparation.”
She poured the salt into the first bowl.
For a moment, nothing happened.
Then the signpost shivered. The salt sank as if the bowl had no bottom. White lines spread from the post across the bridge, tracing hidden symbols in the lacquered wood. The fork-carvings loosened their tines and bowed away from the centre, making a narrow path.
The dry voice returned.
“Passage for one.”
Rory froze.
The bridge waited.
Behind her, Nyx and Isolde stood among the tongue-grass and lantern trees, both still, both watching the market beyond the canal.
Rory looked down at the empty salt sachet in her hand.
“Yeah,” she muttered. “Should’ve nicked more condiments.”