They enter separately.
That’s Violet’s rule.
She watches Astrid go first—laughing already, hair loose, lute slung easy like an afterthought. Astrid belongs anywhere. Violet waits three breaths, then follows, shoulders loose, expression bored. Violet edges the perimeter, clocking doors, windows, the position of the stairwell. She catches Rowan’s eye. Nods. He slips toward the back. Ilsa ghosts past Violet’s shoulder, light as rumor, already counting pockets.
Inside, the safe is exactly where Astrid said it would be. Ilsa slips in behind them, breathless, grinning.
“Crowd’s drunk,” she whispers. “Astrid’s killing it.”
Violet’s mouth twitches. “She always does.”
They work fast. Violet doesn’t rush them, but she feels the timing. The way Astrid’s voice swells downstairs, the way a song like this only holds attention for so long.
“Thirty seconds,” Violet says quietly.
They finish in twenty-five.
Outside, in the alley behind the house, they regroup one by one. Astrid arrives last, breathless, eyes bright.
“Tell me you got it,” she says.
Ilsa lifts the coin pouch. Violet nods once.
Astrid laughs and throws her arms around Violet’s neck, momentum carrying them both into the brick wall.
“You’re incredible,” Astrid says into her hair.
Violet stiffens for half a heartbeat—then relaxes, hands settling at Astrid’s waist.
“You were,” Violet replies.
Rowan clears his throat pointedly. Ilsa pretends not to watch.
Astrid pulls back, grinning at the group. “Drinks are on me.”
They share rooms when they can afford them, floors when they can’t. Rowan against the wall. Ilsa near the door. Astrid curled into Violet’s side, foot hooked over Violet’s calf like an anchor. Violet learns the rhythm of her breathing, where it catches in dreams.
She sleeps lighter than anyone, but when Astrid shifts, she adjusts automatically, even in half-sleep. She doesn’t touch when Astrid is asleep. That feels like crossing a line.
One night, Astrid whispers, “You don’t have to stay awake for us.”
She doesn’t move until she hears Astrid breathe properly, the hitch smoothing out into something deep and even. Only then does Violet sit up, stretch carefully so the floor doesn’t creak. She puts water on to heat. Quietly. The lookout—older now, goes by Rowan—grunts and rolls over.
In the morning, Astrid wakes last. Always. Hair everywhere, eyes half-lidded. She squints at Violet like she’s trying to decide whether she’s real.
“You’re still here,” Astrid says.
Violet smirks. “Disappointed?”
Astrid reaches for her hand instead of answering.
“We’ll make up the time,” Astrid says as they stand on the corner, waiting for her wagon to come by. She presses a kiss into Violet’s collarbone. “I’ll bring you something pretty.”
Violet smiles.
She doesn’t say: I hate when you leave.
The gang keeps working, but the jobs pay less without Astrid smoothing edges, lying sweetly, making things look like accidents instead of crimes.
Coin runs thin.
Violet does the math.
She knows the routes. Knows who still owes her. Knows how to keep it quiet.
She tells herself it’s temporary.
She has been at it for six months, and for the first time, the contact doesn’t show.
That’s the first sign something’s wrong, though she is early — perched on the low stone wall behind the dyehouse, boots braced against damp brick, counting breaths and watching steam curl from the river. The city smells like wet wool and old bark, tannins and rot. Honest work smells worse than crime. She’s always thought that.
The crate sits at her feet, wrapped in oilcloth and twine. It’s heavier than it should be.
She checks the time again, thumb rubbing the notch she’s carved into the face of her pocket watch. Five minutes late is nothing. Ten is careless. Fifteen is a message.
She waits anyway.
Violet has learned patience the hard way.
When the bell tolls the quarter hour, she exhales and crouches, peeling back the oilcloth just enough to check the seal. It’s intact. No leaks. No tampering. She swallows.
“Just a handoff,” she mutters. “Then gone.”
She straightens, scanning the street. The dyehouse windows are dark. The river runs slow and indifferent. Somewhere a dog barks, then goes quiet. No footsteps. No runner. No nervous apprentice pretending not to watch her from across the way.
She considers her options.
Leaving the crate here is impossible. Too many eyes could grow curious by morning. Turning it in to someone else would mean explaining how she got it. That conversation ends badly, no matter how it starts.
Which leaves only one thing.
The bar is a bad idea the moment she pushes the door open.
Too bright. Too open. The kind of place where people watch each other because there’s nothing else to do. Afternoon drinkers. Dockhands between shifts. A woman asleep at a table with her head on her arms like she’s pretending.
Violet tells herself: Just sell it. In and out.
She orders something cheap she won’t finish and takes the seat at the far end of the bar, waiting for the right moment.
An opportunity presents itself first.
Violet slides down from her stool when no one’s looking, ducks under the bar and out the employee’s entrance to where the delivery bay is. The cold air braces her slightly - and then the scent of half smoked cigarettes releases her. She opens the crate.
The smell hits first.
Sweet. Green. Too alive. She tells herself she’s checking quality. That a bad batch won’t sell. That she needs to know what she’s offering.
The warmth blooms too fast.
That’s how she knows she’s fucked. Her breath stutters, then smooths. The noise of the bar fades into something manageable. The edges of the world soften, like someone’s rubbed a thumb over wet ink.
She sways.
Someone clears their throat.
Violet looks up.
The barkeep is staring at her — not angry, not alarmed — just tired, eyes flicking to the blue stain on her fingertip, the half-open crate, the way she’s leaning like gravity is optional.
He doesn’t shout.
That’s worse.
“You can’t do that here,” he says flatly.
A couple patrons glance over, through the open door. One of them snorts.
“Figures,” someone mutters. “Middle of the day.”
Violet opens her mouth to explain — to say she’s selling, to say she has coin coming, to say anything that makes her sound like she belongs —but the words come out slow, wrong-shaped.
“I’m working,” she says.
Her room is three floors up, cheap and forgettable, the kind of place no one looks twice at. She locks the door behind her, wedges a chair under the handle, then sets the crate on the table like it might bite.
She doesn’t open it at first.
She washes her hands instead. Again and again, until the skin burns. When she looks up, her reflection in the cracked mirror is sharp-eyed, pale, too thin. She looks like herself.
That steadies her.
She cuts the twine.
Inside, the bottles are packed tight, nestled in straw. Violet lifts one free, holding it to the lantern light. The liquid inside is the deep, dangerous blue she remembers too well, like twilight caught in glass.
High quality. Clean. Potent.
She could try again, sell it properly. Of course she could. She knows buyers who wouldn’t ask questions, who’d pay in clean coin and vanish before dawn. She could flip it fast, walk away, never touch a drop.
Her pulse picks up, traitorously.
“Fuck,” she whispers, and laughs once, short and humorless.
The scent hits her like a ghost — floral and bitter and unmistakable. Her eyes sting. For a moment she’s back in the cottage, pine needles underfoot, Maple’s jaw working beside her as they chewed the petals raw and laughed at how awful it tasted.
Her breath catches.
“That’s not fair,” she says to the empty room.
The relief is immediate and devastating. The tight coil in her chest loosens. Her thoughts slow, spreading out like ink in water. She slumps back in the chair, staring at the ceiling as the drug settles into her bones.
There it is.
The quiet.
The warmth she’s been chasing since Astrid left.