AI The portal opened behind the wine cellar of the Golden Empress with the wet crackle of sugar on a flame.
Aurora Carter stood with one foot on cracked concrete and the other hovering over a line of amber light that had not been there ten seconds ago. The Heartstone Pendant burned against her sternum through her shirt, a thumbnail-sized coal on its silver chain. Its deep crimson glow leaked between her fingers when she pressed her palm to it.
Behind her, a stack of soy sauce crates trembled . One bottle rolled loose, tapped the floor, and stopped short of the light as if it had hit glass.
Nyx leaned out of the shadow beneath the stairs. Their form held the shape of a tall person for three breaths, then frayed at the shoulders, violet eyes floating in the dark.
“The door has a hunger.”
Aurora swallowed the taste of metal at the back of her tongue.
“That’s comforting . Love that for us.”
Isolde Varga stood beside a tower of flour sacks as if she had grown from the dust between them. Her silver hair fell to her waist without catching on anything, and her pale lavender eyes reflected the portal’s glow. She had left no mark in the flour scattered underfoot.
“A mouth opens both ways, little barrister.”
“I’m not a barrister.”
“Yet you argue with doors.”
Aurora tightened the strap of the delivery satchel across her chest. The Fae-Forged Blade rested inside, wrapped in an old tea towel printed with faded dragons. Even through cloth and leather, its cold reached her ribs.
The amber line widened. Heat rolled out, rich with roasted fruit, yeast, spice, and something darker underneath, like old coins left in blood. The cellar walls bent. The bare bulb overhead stretched into a long white smear. For a moment the world looked like cling film pulled over a sink .
Aurora took one step.
The floor disappeared.
Her stomach lurched into her throat, but her boot met solid ground before she could flail. Warm soil pressed under the sole, springy and black, threaded with roots that gleamed like copper wire. She stumbled forward and caught herself against a vine as thick as her thigh.
The vine shivered under her palm.
Clusters of grapes hung above her head, each grape the size of a plum, their skins clear as smoky glass. Inside them, tiny sparks drifted and bumped against the flesh. One burst with a soft pop. Golden juice ran down the stem and hissed when it touched the earth.
Aurora snatched her hand back.
“Right. Don’t lick the scenery.”
Nyx poured through the opening behind her, less stepping than arriving, shadow unspooling over the warm soil. Their edges pulled in tight as the portal spat them into the open.
Isolde came last, her bare feet touching the ground without sinking. A ring of small white flowers opened around her ankles, then folded shut.
The portal sealed with a sound like a cork pushed into a bottle.
Aurora turned.
No cellar. No concrete. No Golden Empress. Only a slope of vineyards rolling down toward impossible distance beneath a warm amber sky.
The sky had no sun. Light pooled everywhere, soft and golden, as if the air itself had steeped in honey. Above, long pale clouds curled like cream stirred through tea. Far off, mountains rose in layers of red and purple stone, their peaks crowned not with snow but with orchards . Trees clung to cliffsides and dangled fruit over emptiness: black pears, silver figs, oranges that glowed from within.
Below the vineyard, a city spread across the valley. Its buildings looked carved from baked bread, polished bone, and dark green glass. Domes bulged like rising dough. Bridges arched between banquet halls the size of cathedrals. Smoke spiralled from a hundred chimneys and carried scents that changed with each breath—cardamom, charred meat, butter, sea salt, caramel, rot.
Music drifted up from somewhere far below. Strings, bells, a drumbeat that matched the pulse of the Heartstone.
Aurora gripped the pendant until its edges bit her palm.
“This is Dymas.”
Isolde walked past her. The vineyard parted around the Seer’s knees, leaves turning their pale undersides toward her.
“A table with no last course.”
Nyx crouched beside a root that had broken through the soil. Their long fingers hovered above it, not touching.
“The ground remembers teeth.”
Aurora looked down. The soil moved.
Not much. Not like worms. More like a sleeping animal breathing under a blanket. A seam opened between two roots and showed a glimpse of something smooth and white beneath.
Bone.
Aurora’s mouth dried.
“Human?”
Nyx’s violet eyes narrowed .
“Many things wore the same shape.”
A laugh rose from somewhere in the vines.
Aurora spun, hand going straight into her satchel. Her fingers found the tea towel and the cold bite of moonsilver beneath it.
A small creature sat on a fence post that had not been there a moment before. It had the body of a plucked chicken, the face of a wrinkled old man, and a crown of beetle wings folded over its skull. Its feet gripped the post with black talons. Around its neck hung a brass tasting spoon.
It sniffed, nostrils fluttering.
“New cuts. Fresh from Earth. One human, one half-bloom, one spoiled shade.”
Aurora pulled the dagger free. The tea towel dropped to the soil. Moonlight did not exist here, but the blade still held a thin inner sheen, cold and clean against all the amber heat.
The creature leaned back.
“Oh, she brought table silver.”
Nyx rose behind Aurora, shadow lengthening over the ground.
“Name your price or lose your perch.”
The creature’s face pinched.
“No manners in the upper kitchens. None at all. You’ll spoil before service.”
Isolde tilted her head.
“The spoon counts mouths. The mouth fears knives.”
Aurora took half a step forward.
“We’re not on anyone’s menu.”
The creature licked its lips. Its tongue split at the end like a fork.
“Everything in Dymas is on someone’s menu.”
The fence post sagged. Sap bled from it, thick and red. The creature hopped back, wings buzzing, and vanished into the vines with a rattling chuckle that travelled in three directions at once.
Aurora kept the blade out.
“Was that a demon chicken?”
Nyx’s shoulders rippled.
“A minor taster. It marked us.”
“Marked us how?”
A drop of red sap slid from the fence post and struck the soil. The earth drank it in. Across the nearest vines, leaves turned one by one, all pointing toward them.
Isolde lifted a finger to her lips, though no smile touched her mouth.
“Dinner bells wear many skins.”
Aurora exhaled through her nose and scanned the vineyard. No path led where she wanted, but several suggested bad ideas. One descended toward the bright city. Another curled between trellises loaded with glass grapes. A third climbed toward a line of black cypress trees, beyond which stood a structure like a fallen crown: broken arches, stone pillars, and a pool reflecting a sky darker than the one above.
The Heartstone warmed harder when she faced the ruins.
“There.”
Nyx followed her gaze.
“Old threshold.”
“You can tell from here?”
“It casts the wrong shadow.”
Aurora glanced at the ground. The ruined arches threw long black shapes uphill, though the light came from everywhere at once.
“Lovely. Off we go to the wrong-shadow death gazebo.”
Isolde stepped onto the upward path. Purple wildflowers sprang open after each place her foot touched, though her soles left no prints.
“Wrong doors remember right names.”
Aurora slid the blade into her hand rather than the satchel. Its cold steadied the tremor in her fingers. She started after Isolde, with Nyx gliding at her back.
The path climbed through the vineyard. The air thickened with sweetness until it coated Aurora’s teeth. Grapes brushed her shoulders. Some held shapes inside their translucent flesh: tiny rooms, tiny tables, tiny figures bent over plates. In one cluster she saw a man in a chef’s jacket chopping onions with frantic speed. His mouth moved without sound. In another, a woman knelt before a cauldron, stirring with both arms while something behind her held a contract over her bowed head.
Aurora stopped so fast Nyx passed through her shadow and re-formed ahead.
“That’s a person.”
The grape trembled on its stem. The chef inside dropped his knife. He looked up.
His face pressed against the inner skin.
Aurora lifted the dagger toward the vine.
Isolde’s hand caught her wrist. Her fingers felt cool, almost weightless, but Aurora’s arm stopped dead.
“Cut fruit, spill vintage. Spill vintage, wake the keeper.”
The chef’s tiny fists beat against the grape. No sound came.
Aurora’s jaw locked.
“We can’t just leave him.”
Nyx stared at the cluster, violet light dimming.
“Not him. A memory steeped for flavour.”
The chef inside the grape opened his mouth wider. His hands left wet prints on the inner skin.
Aurora thought of the Golden Empress kitchen at rush hour, Yu-Fei shouting orders, oil spitting, steam fogging the metal shelves. She thought of the delivery tickets pinned in a line. Names. Addresses. People waiting for dinner, not damnation.
“Memories don’t beg.”
Isolde released her.
“Some flavours did.”
The vine above them tightened. Leaves rubbed against one another with a dry whisper . The whole row leaned nearer.
Nyx’s voice thinned into wind.
“Rory.”
Aurora lowered the blade.
The tiny chef sagged against the grape wall. A bubble rose through the juice and burst against his face. The cluster swayed as the group moved on.
The path narrowed after that. The trellises gave way to trees with braided trunks and bark like toasted sugar. Fruits hung from their branches in mismatched abundance—pomegranates with brass hinges, peaches furred with frost, cherries that beat like hearts. One dropped near Aurora’s boot and split open. Inside lay a curl of parchment soaked in syrup.
She crouched and nudged it with the dagger tip.
Letters crawled across the parchment in a neat legal hand.
I, Tomas Elian Reed, of sound mind and empty belly, do bind my craft, my tongue, my hands—
Aurora stood.
“Nope.”
The parchment curled toward her boot like a starving worm.
Nyx stamped a shadow over it. The writing shrivelled. The fruit collapsed into grey pulp.
“Contracts grew wild here.”
Aurora looked toward the city below. More music rose from it now, bright and inviting. Cheering followed. A burst of fireworks opened above one of the glass domes, not sparks but tiny roasted birds that flew in circles and vanished beak-first into the waiting mouths of stone statues along the rooftops.
She pressed her tongue against the back of her teeth.
“Who lives like this?”
Isolde walked between two sugar-bark trees without disturbing a single leaf.
“Those who mistook fullness for safety.”
The temperature shifted as they neared the black cypress line. The rich kitchen heat faded, replaced by cellar damp and the mineral chill of deep wells. Aurora welcomed it until the smell changed. Less spice. More wet ash.
The cypress trees stood too straight. Their trunks were not trunks, she realised, but stacked antlers blackened by age, interlocked so tightly bark had grown over them in strips. Wind passed through the branches and produced a low note like someone blowing across a bottle.
Nyx paused at the boundary.
“This part predates the feastlands.”
Aurora peered through the antler-trees. The ruins beyond shimmered , edges sliding out of place. One arch appeared close enough to touch, then far away, then close again. The pool at the centre reflected not the amber sky but a dark ceiling scattered with stars .
“The Heartstone likes it.”
The pendant pulsed once. Heat licked across her chest.
Nyx turned their head.
“Does it?”
Aurora did not answer.
They stepped through the cypress line.
Sound dropped out.
The music from the city vanished. The whispering vines vanished. Even Aurora’s breath seemed to fall short of her ears. The air inside the ruin tasted thin, rinsed clean of spice. Stone slabs lay underfoot, each carved with circles within circles, their grooves filled with black salt. Moss grew in silver patches along cracked steps. The columns had been shaped like open mouths, but time had broken most of the lips away.
At the centre waited the pool.
Its surface lay flat as polished obsidian. Stars moved inside it, slow and cold. Not reflections. Depth. Aurora felt that at once. If she leaned too close, she would not touch water; she would fall upward into whatever night lived below.
Isolde approached the rim. Her hair lifted in a breeze no one else felt.
“Here, gluttony learned longing.”
Aurora kept a few paces back.
“Can you translate that into something less embroidered?”
The Seer looked into the pool.
“A prince took a bite of absence and built a kingdom to forget the taste.”
Nyx slid beside one of the mouth-columns. Their fingers sank into its shadow and came out dusted with pale ash.
“This was a Veil wound.”
Aurora’s eyes cut to them.
“A portal?”
“Older than the monitored rifts. Wider. Sealed from below.”
The Heartstone gave a sharp pulse . Aurora hissed and pulled it from under her shirt. The crimson gem glowed brighter now, light shifting inside it like blood stirred in a glass.
Across the pool, a matching glow answered beneath the black surface.
Aurora stepped closer before sense caught up with her.
The Fae blade went colder in her grip.
A shape emerged in the pool’s depths : not a face, not at first. Lines gathered. A long table. Plates stacked high. Silverware arranged with surgical care. At the far end sat an empty chair carved from bone and vine. On its back, a crest had been gouged out, leaving raw grooves that bled amber light.
Then the image changed.
A kitchen appeared. Not the Golden Empress. Older. Stone hearths, copper pots, hooks bearing herbs and skinned things. A young man stood over a bowl, sleeves rolled to his elbows, dark hair stuck to his brow. He stirred, tasted, added salt. Behind him, a shadow in court robes bent close to his ear.
Aurora leaned in.
The man turned as if he had heard her.
His eyes were bright blue.
Her own eyes.
The pool rippled.
Aurora jerked back. Nyx’s hand closed around the back of her jacket and yanked her from the rim.
A black tendril snapped out of the water where her face had been. It struck the stone, smoked, and recoiled into the pool.
Aurora’s heart battered her ribs.
“What the hell was that?”
Nyx did not release her jacket.
“Invitation.”
The pool smoothed itself. Stars drifted as if nothing had happened.
Isolde’s gaze remained on the water.
“Blood calls to kitchens. Kitchens call to knives.”
Aurora shook Nyx off and lifted the pendant.
“This thing showed me someone with my face.”
“No.” Isolde turned. “It showed you someone with your hunger.”
Aurora barked a dry laugh.
“My hunger? I had half a bao bun for lunch and a panic attack for dessert.”
The ruins answered with a faint clink.
Aurora froze.
Another clink followed. Metal on porcelain .
From the broken arches around the pool, pale figures appeared one by one. They did not walk in. They unfolded from the stone shadows like napkins shaken loose. Men and women in stained aprons. Children with flour-white hands. An old woman with a cleaver buried in her shoulder. A broad-shouldered butcher whose chest opened and closed around a cavity packed with rosemary.
None cast a shadow.
All stared at the Fae blade.
Nyx spread out, their body widening into a dark veil between Aurora and the nearest figures.
“Bound remnants.”
The old woman raised one translucent hand and pointed at Aurora’s satchel.
Her mouth opened.
No voice came out.
Aurora’s grip tightened around the dagger.
“I can’t hear you.”
The old woman pointed again, sharper this time, at the satchel, then at the pool.
Isolde’s lavender eyes narrowed .
“Gifts given in moonlight cut locks made in appetite.”
Aurora pulled the satchel round with her free hand.
“The blade?”
The butcher lifted both hands. His fingers had been chopped at the first knuckle. He nodded once.
Around them, the other remnants began to move. Not towards Aurora. Around her. They formed a loose circle at the edge of the pool, leaving gaps in their ranks like missing teeth. Their faces stretched with strain. One young girl pressed her palms together as if pleading, but her eyes fixed on the black water, not on Aurora.
Nyx’s voice brushed Aurora’s ear.
“If you cut the ward, something may notice.”
“Something already sent a demon chicken with a spoon.”
“That was not the thing I meant.”
Aurora looked from the ghosts to the pool, to the glow answering the Heartstone beneath the surface. Heat from the pendant met the cold from the dagger. Her left wrist prickled; the small crescent-shaped scar there had gone pale against her skin.
She crouched at the rim.
The black water did not reflect her face. It reflected a banquet hall. Empty plates. Empty chairs. A door at the far end sealed with chains of red-gold light.
The Fae blade brightened.
Aurora held it over the nearest carved groove in the stone, where black salt packed the circle.
“Tell me where.”
The old woman with the cleaver crossed the circle. Her feet passed through the stone without sound. She bent beside Aurora and placed two fingers over a point where three carved lines met.
The air there pulsed .
Aurora set the tip of the moonsilver blade against it.
The ruin inhaled. Every mouth-column opened wider, stone cracking at the corners. The ghostly cooks flinched but held their places. Nyx’s shadow climbed the columns, pinning darkness to darkness. Isolde stood opposite Aurora across the pool, hair lifting around her like a silver banner under deep water.
Aurora pressed down.
The blade entered the stone as if cutting cheese .
A sound burst through the silence —not a scream, not a bell, but a thousand knives drawn across a thousand plates . Aurora’s teeth rang. The Heartstone flared hot enough to scorch. Red light spilled from the pendant over her fingers.
The black salt in the groove ignited.
Lines of fire raced around the circle, red-gold and white-blue, appetite and moonlight snapping at each other. The pool convulsed. Stars broke apart under its surface. The banquet hall reflection shuddered, and the chained door at its far end strained inward.
The old woman leaned close to Aurora’s ear. This time, a voice scraped out, thin as steam through a cracked kettle.
“Not the door. The hinge.”