Chapter 19

Hanna

Savla showed up at my door the next morning exactly on time—which meant he’d been standing outside for at least ten minutes pretending he wasn’t waiting.

I opened the door and found him holding a stack of slim tablets under one arm, and Ribbon pressed against his back like he was trying to merge with him.

“He insisted on coming,” he said flatly.

Ribbon croaked like it was an outrageous lie.

I laughed and stepped aside to let them in. Ribbon immediately barreled in like a boulder with enthusiasm, stopping only to sniff the new curtain Zara had sewn for me before settling dramatically in the middle of the floor.

“So,” Savla said, setting the tablets on my table. “We’re building your website today.”

We. There it was again—the word that made warmth flood my chest.

“Okay,” I said, trying not to sound giddy. “Teach me.”

He sat beside me—too close, but not close enough—and turned the first tablet on. On the screen were menu options for witch-run e-commerce networks, each more complicated-looking than the last.

He glanced sideways at me, half-amused. “Try not to panic,” he said, softly. “I did a lot of research last night and these are the most common options.”

“I’m not panicking,” I lied.

“You’re panicking,” he retorted, deadpan.

I bumped his shoulder. “Says the man who keeps flinching every time Ribbon breathes.”

Ribbon exhaled loudly through his nose. On purpose. Savla sighed like he’d been personally betrayed by the universe.

“It’s not just a breath. He’s judging me,” he insisted.

“He judges everyone,” I corrected.

He muttered something in Orcish that sounded suspiciously like a complaint, but I could barely make out the words, before focusing on the tablets again.

We worked through the layout options, his voice low and steady beside me.

Every time I reached across him to select an icon or swipe through designs, his breath caught in this tiny, imperceptible way—a hesitation like he wasn’t used to being touched, even accidentally.

But he didn’t pull away. And the Goddess Mother help me, I felt it. Every inch between us hummed and every time our fingers brushed, something inside me fluttered like wings trapped behind my ribs.

“So,” I said, casually, “what should we call the shop?”

He didn’t look up from the tablet when he answered. “Our potion shop should have your grandmother’s name in it.”

My heart slammed into a wall again. Our.

He froze the moment the word escaped him. His posture went rigid, eyes widening like he’d just realized he’d stepped on an emotional landmine.

“I—I meant—” He cleared his throat, looking anywhere but at me. “The shop. Your shop. I was referring to the… cooperative nature of this project, not…” He gestured vaguely at the air, as if trying to scrub the word out of existence.

Not the bond. Not fate. Not anything terrifying.

Heat pooled in my chest—part ache and part amusement.

“Savla,” I whispered.

“No,” he said firmly. He raised a finger without looking at me, as if he knew exactly what I was going to say. And chances were that he did know. “Don’t.”

“But—” I started, and he cut me off.

“It was a linguistic accident.”

“It really wasn’t,” I teased, unable to help myself.

He finally shot me a sharp look—but the edges of it were soft, like he wasn’t actually mad. It was more like he was overwhelmed.

Before I could say anything else, Ribbon sat up, croaked triumphantly, and smacked his front foot straight into the table. The prototype potion rolled off the edge, bounced once, and—

“No, no, no—!”

The bottle hit the floor and a puff of forest-green mist exploded outward, glittering through the room like a miniature nebula. Ribbon froze mid-croak, eyes wide. Savla swore violently in two languages. I burst into laughter so hard I nearly folded over.

“It—it’s non-corrosive,” I wheezed. “It’s harmless!”

“It’s everywhere,” Savla muttered, brushing shimmering particles off his hair. The specks clung to him stubbornly, making him glow faintly like someone had dipped him in enchanted sugar.

Ribbon looked delighted. He tried to lick the floor.

Savla gently pushed his head away. “Do not eat that.”

I knelt beside the mess, gathering the cracked bottle. “Good thing it wasn’t the final batch or the shimmer might have been brighter.”

Savla crouched next to me, brushing a strand of hair from my cheek with a touch so light I wasn’t sure if he meant to. My breath caught anyway.

“I’ll help you remake it,” he said softly.

There was no panic in his voice now. No attempt to take it back. Just… sincerity.

“And the website?” I whispered.

He held my gaze, steady and warm—a kind of warmth he didn’t let anyone else see.

“We’ll finish it,” he said. “Together.”

My stomach flipped. We. This time he didn’t correct himself.

Ribbon was not supposed to do it again.

But when the little menace nudged the second prototype potion with one curious, gelatinous wobble, the bottle spun like a drunken top and shattered across the table. A shimmering tidal wave of glitter fanned out, coating everything again—including us.

I froze mid-sentence, my hands still on the tablet as Savla walked me through integrating payment processing. “Did… did he just—”

“Yes,” he said flatly, staring down at his now-sparkling forearms. “He did.”

Ribbon puffed up proudly and croaked. I slapped a hand over my mouth, trying not to laugh.

“It’s so much worse this time. It looks like you lost a fight with a fairy,” I guffawed.

Savla lifted one brow at me, glitter cascading off his cheek like he was shedding magical dandruff. “You’re covered twice as much.”

“Because I’m a delight,” I said. “This is on-brand for me.”

He muttered something in Orcish that I was positive was a curse. I grabbed a roll of paper towels and knelt to start cleaning—but Savla knelt at the same time, and we bumped shoulders. Hard. The impact made a soft thud, like the universe clearing its throat and whispering, pay attention.

My breath caught and I heard his catch as well. For a moment we just stayed there. Shoulder to shoulder on the floor, surrounded by glitter that caught the lantern-light and reflected it in warm glints over his face. His lashes were dusted with it. His lips, too.

He looked unreal. Untouchable and dangerous, because my heart was starting to understand something my brain was terrified to acknowledge.

He reached out first, big hand closing around the paper towel I was holding.

But instead of taking it, he paused—his fingers brushing over my knuckles.

A slow drag and a soft shock to my senses.

My entire body hummed, heating in a way that was far more inappropriate than this much glitter warranted.

He cleared his throat, too quickly. “I’ll… I’ll clean the floor. You shouldn’t breathe this in if it becomes airborne.”

“Savla,” I said softly.

He didn’t look at me as his jaw ticked. “It’s just glitter.”

We both knew it wasn’t. The bond tugged at me—stronger than ever—like a low, magnetic pull under my ribs, insisting closer, closer, closer. I didn’t know if he could feel it too, or if he was fighting it with that iron will of his, but the air between us was charged with tension.

I dipped my hand into the glitter mess, scooping the shimmering powder off the wood. “You don’t have to help. I can do it.”

“It’s our mess,” he said without thinking.

I froze before slowly lifted my gaze. His eyes went wide again. Panic—not the dangerous kind, but the soft, alarmed kind—flashed across his face.

“I meant,” he said too quickly, “the workspace. It’s a shared workspace. Your workshop and my—my helping with the online storefront. Not—ours—not like—” He exhaled sharply through his nose. “Forget it.”

I didn’t smile and I didn’t tease him. Even though he’d gusted out a rush of glitter like he was a dragon that roared with glitter-bombs instead of flames.

Because the bond pulsed hard enough to make my fingers tremble. Instead, I reached out and brushed glitter from the back of his wrist. His skin tensed beneath my fingertips—hot, warm and alive.

“You can say ‘ours,’” I whispered. “If you want to.”

His breath trembled out of him in a long rush. The room felt suddenly too small and far too hot, just like the moment between lightning and thunder. Electricity and anticipation filling the space.

He swallowed. “I don’t want to claim something that isn’t mine.”

“I get to choose,” I said, my voice barely above a breath.

His head snapped up. “Hanna—”

Ribbon suddenly launched himself onto my lap and croaked loudly—breaking the moment so violently I yelped. Savla shut his eyes like he was thanking every ancestor ever born.

“You,” I scowled at Ribbon, “need to apologize. You ruined a perfectly good emotional moment.”

Ribbon sprawled dramatically over my thighs like a fainting Victorian aunt, clearly unbothered. And then he refused to get up.

Savla frowned at him. “Ribbon. Off.”

Ribbon jiggled in violent disagreement.

“Does he want to sleep here?” I asked, incredulous. Ribbon croaked affirmatively and wrapped his tongue around my wrist.

Savla groaned into his palms. “He thinks he’s your guard toad now. Wonderful.”

“That’s adorable,” I said.

“It’s impractical,” he muttered.

Ribbon burrowed deeper into my lap.

“I mean… I can let him stay,” I said slowly. “For tonight.”

Savla stood, brushing glitter off his knees, looking very much like a man accepting defeat from a situation he had no idea how to get out of. “You’re too nice to him. That’s why he’s going to take advantage of you.”

Ribbon rumbled proudly and Savla’s gaze softened—just a little.

“Message me when you’re done settling him. I’ll… make sure you can get a break from him,” he said in a low voice.

My chest warmed. “Savla?” I whispered.

He paused at the door.

“I like that you’re helping me. With everything,” I confessed, knowing I was making myself vulnerable, but not caring. Not when it came to this male. His cheeks flushed beneath the dusting of glitter.

“I know,” he said quietly. “It matters to me... you...”

He trailed off, not finishing his sentence and then he left before I could respond—as though if he stayed, he might say something he wasn’t ready to. I pressed my hand to my chest and the bond answered.

Ribbon, the menace, croaked knowingly.

If ads affect your reading experience, click here to remove ads on this page.