“She made it,” I say. “You shut it down.”
He hesitates, then tucks a stray piece of hair behind my ear with a gentleness that makes my stomach drop. He looks me in the eye, steady. “You don’t have to worry about her.”
“I don’t,” I say. “I just hate being obvious.”
He smiles, low-watt. “Obvious looks good on you.” Then, like it costs him nothing and everything, he leans and kisses my forehead. Warm. One breath. He pulls back. I’m pretty sure my face is the color of a traffic violation.
“Go,” he says, amused and fond. “Learn how not to get lost.”
Kieran Holt runs class like a man who respects other people’s time. Today is route design. Less theory, more hands. The holo-table wakes and throws up a layered model—Prime, Aetheris, a handful of sanctioned transit lines. We get a scenario: E-0 Prime to A-7 Aetheris via G-13. Stability yellow. Our job is seeding breadcrumbs, building redundant anchors, plotting drift corrections that won’t make the Gate sulk.
We pair up. My partner is a witch with blue hair and ink to her knuckles who says, “Juno,” like we’ve already survived finals together. We pick anchors: geographic (old bridge on the Prime side), made (temporary pylon with a low signature), living (a small plant Caelum would call a witness). Kieran strolls by and grunts once when our breadcrumb cadence alternates instead of stays uniform.
“Null eats rhythm,” he says. “Don’t be predictable.”
We run the sim. Drift pulls us eight degrees off course. Juno swears; I adjust the angle and change the hum on our breadcrumbs so they don’t harmonize with the Gate. The return route uses Tether. Kieran taps the model. “To a person, not a place. Places move without moving.”
He throws a curve: dead gate on the Aether side. We treat it like a corpse: no poking, no selfies, backtrack to last live note. He approves without smiling. I don’t take it personal. I like that he saves facial expressions for when they count.
When we spill into the hall, my head is full in the good way. Two hours to date time. Ash texted earlier: comfortable shoes, minimal questions. Dangerous words.
I run back to the house on autopilot, climb the stairs, and pretend I’m not vibrating. Shower, again, because nerves. Soft sweater, jeans, boots that can handle stairs and roofs if it comes to it. I’m halfway through deciding which lip balm counts as effort when a knock lands on my door in a rhythm I already know.
I open. Ash looks like a decision I’ve been putting off and a joke I didn’t see coming. Dark henley, tattoos peeking, hair a little messy in a way that isn’t accidental. He lets his eyes run over me once, quick, not greedy. “Perfect,” he says, and offers his hand like we’re about to step onto a stage.
“Am I allowed to ask where?”
“You’re allowed to be brave,” he says, which is infuriating and sexy. “Come on.”
We cut through corridors where students pretend not to watch. The base of the bell tower eats sound. The first spiral is cardio. The last stretch is a locked hatch and air that smells like old metal.
Ash steps close, one arm around my waist, the other cupping the back of my neck. Heat, palm, breath. “Last part’s shadow,” he says quietly. “Say yes.”
“Yes,” I say, instantly.
The world goes cool around my ankles, warm where he holds me, a pressure change that’s closer to an elevator than a storm.We step out into wind. The roof is a flat platform with a low wall and enough space for a blanket he already spread. Lanterns in warm glass. A basket big enough to bribe a minor deity. The campus sprawls below, lights beginning to gather. The sky shows constellations I don’t know and a sliver moon lying on its back.
“This is—” My voice trips. I pick a word that doesn’t embarrass me. “Obnoxiously good.”
“Say more nice things,” he says, pleased with himself, and sets a thermos down between us like an altar.
We sit shoulder to shoulder. Ash pours cinnamon-scented something into tin cups. It warms my hands and lands sweet on my tongue. He lays out bread and cheese and small jars with labels in a language I can’t read yet. We eat. We steal from each other’s plates. We pretend it’s normal to sit on a roof with lanterns and let our guard down.
“I come from Umbros,” he says. His voice is steady. “It’s a Fold, not a city. Whole layer. You can travel for days and never leave it. Courts, guilds, districts that live somewhere between dusk and night.”
He looks at the lantern glass instead of me. “My family sits too close to the top. There are ceremonies for everything and calendars that pretend to be affection. People measure how you laugh to see if it fits the room. I learned the script. My brother didn’t.”
“Your brother?” I ask.
“Grayson.” His mouth softens around the name. “He cut holes in the script so I could breathe. One night he made the wrong door look safe. We lost him. Everyone called it a tragedy and then kept rehearsing. Umbros didn’t make space for grief. It pressed in.” He opens his hands on his knees. “I could feel walls inside my chest when I tried to inhale.”
I slide my fingers into his. It is not dramatic. It is contact, warm and simple. His shoulders loosen one notch.
“I’m sorry,” I say. “It isn’t the same, but I know the outline. Orphanage. Everyone left in pairs. I stayed. Then the diner. You learn to read moods, dodge hands, and keep smiling so you don’t scare the tips away.” I clear my throat. “Being wanted was mostly a theory. I kept trying anyway.”
He turns his head and meets my eyes. The roof and the sky and the stupid bell fade for a second. “I made jokes so the house wouldn’t go quiet,” he says. “If people laugh, they don’t ask the questions I can’t answer. Leaving Umbros felt like cutting a rope and hoping the ground was soft. I built a life that didn’t say my name too loudly. Some days it worked. Most days it didn’t.”
“And now?” I ask.