Обложка Архитектура уязвимости.

Архитектура уязвимости.

Qert

0% прочитано
Стандартный
Qert

Архитектура уязвимости.

Глава 1

Глава 1.

Офис «Pulse» пустел неохотно, но к восьми вечера вымер даже отдел копирайтинга. В опенспейсе остался только дежурный свет над кулером да сизое свечение двух мониторов на столе Алины.

Она сдвинула последние правки по ребрендингу строительного холдинга в архив и потянулась к мышке, чтобы свернуть рабочие окна, когда дверь в ее стеклянный кабинет приоткрылась без стука.

В проеме показался Антон Павлов. Пиджак он уже снял, остался в тонкой белой сорочке с закатанными до предплечий рукавами, расстегнул верхнюю пуговицу и лениво покручивал на указательном пальце брелок от BMW. В пустом вечернем пространстве его дежурный парфюм — сладковато-дымный, тяжелый — повис слишком густо, начисто забивая запах остывшего кофе.

— Алин, ты ночевать тут собралась? — бросил он с привычной, барски-снисходительной полуулыбкой. — Бросай сетку. Я на Садовое, потом на Ленинский. Прыгай, подброшу до вокзала, не будешь в метро толкаться.

Алина даже не подняла глаз от экрана. Ее пальцы продолжали с ювелирной точностью двигать направляющие макета.

— Спасибо, Антон Сергеевич. Я на электричку. У меня еще сорок минут работы.

— Ну, как знаешь. Дело хозяйское.

Он равнодушно дернул плечом, ни на секунду не расстроившись, развернулся на мягких подошвах своих замшевых лоферов и пошел к выходу. Сухой перестук ключей эхом прокатился по пустому коридору.

Стеклянная створка закрылась.

Алина замерла, опустив руки на край стола, и смотрела ему вслед абсолютно ровным, вычищенным взглядом. Ни боли, ни обиды. Только глухая, оседающая на зубах пыль воспоминаний трехлетней давности.

Три года назад всё выглядело иначе.

Она тогда буквально зубами выгрызала себе позицию арт-директора: семь лет каторги, ночные смены, содранные в кровь нервы. Савельев лично жал ей руку, обещал расширение отдела, бюджеты, новую сетку окладов. А потом появились они. Токаев и Павлов. «Сыновья нужных людей». Савельев тогда вызвал ее к себе, долго мял в пальцах незажженную папиросу и, пряча глаза, глухо сказал: «Надо, Алина. Фирме нужны их выходы на городские структуры. Ты подожди немного, подвинься, ты же умная девка, всё понимаешь».

Ее подвинули. Но профессиональную горечь странным образом заглушил сам Антон.

Павлов три года назад казался ей ожившей витриной той самой недосягаемой, сияющей жизни. Высокий, породистый, с безупречной голливудской улыбкой и легкой столичной щедростью, от которой у задерганной девчонки из Видного кружилась голова. Он не давил. Наоборот — оставался с ней допоздна, приносил авторский раф из дорогих кофеен, участливо расспрашивал о концептах и смотрел так, будто видел в ней не загнанную рабочую лошадь, а красивую, особенную женщину.

Она купилась.

Они переспали не один раз. Это длилось почти месяц — три или четыре встречи. Полумрак бара на Патриарших, кожаный салон его тройки BMW, где наглухо гасился уличный шум, и его съемная видовая квартира на Краснопресненской. Антон вел тонкую, расчетливую осаду. Он не просто брал свое — он методично привязывал ее к себе. В постели был подчеркнуто внимателен, звонил среди ночи «просто услышать голос», дарил дорогие шелковые платки, ронял фразы вроде: «Ты слишком талантлива для этой рутины, держись меня — я тебя вытащу на другой уровень». Ему льстило сломать неприступного главного дизайнера агентства и сделать ее ручной, преданной тенью, смотрящей ему в рот.

Но на четвертый раз пелена спала.

Она лежала рядом с ним в темноте и слушала, как он сквозь зубы вполголоса решает по телефону какой-то мелкий шкурный вопрос, лениво поливая грязью своего партнера Токаева и смеясь над «старым дураком Савельевым». А потом повернулся к ней, лениво провел ладонью по ее бедру и небрежно бросил: «Ты, кстати, в отчете по ритейлу убери правки коммерческого. Сделай так, как я вчера сказал. Скажешь шефу, что это твое видение. Мне с ним бодаться неохота, а тебе он простит».

В ту секунду щелкнуло.

Ее не любили. Ею даже не были увлечены. Ее просто прикармливали лаской и красивой жизнью, чтобы получить в агентстве послушного, безотказного профессионала с чистым авторитетом перед Савельевым, чьими руками можно было бы закрывать свои косяки и проталкивать левые темы.

На следующий же день Алина перерубила эту нить под корень. Холодно, сухо, без скандалов и слез, выставив глухую стену. Павлов сначала опешил, потом попытался давить авторитетом, а когда понял, что крючок сорван, моментально надел маску барского равнодушия: «Ну и дура. Сиди со своими макетами».

Именно тогда она выстроила глухую стену, за которую больше не пускала никого с работы.

Алина глубоко, медленно вдохнула через нос, сбрасывая оцепенение, и захлопнула крышку ноутбука. Спина ныла привычной тупой болью: десять лет непрерывной работы приучили держать плечи расправленными через силу.

Она опустила руку под стол. Пальцы нащупали мягкий тканевый пыльник.

Офисная обувь жила исключительно здесь, в тумбочке за системным блоком. Никакой идиот не потащит через подмосковную грязь итальянские ботильоны из тонкой кожи на архитектурном каблуке, купленные на распродаже за треть зарплаты. Она стянула их, привычно провела фланелевой салфеткой по мыскам, стирая невидимую пыль ковролина, и бережно убрала на полку рядом с черными замшевыми лоферами.

Из глубины тумбы были извлечены «вездеходы» — неубиваемые беговые сапоги на толстой тракторной подошве. Неприметные, черные, с глухим замком. В них ее ноги переставали быть частью столичного глянца и превращались в рабочий инструмент для преодоления пространства между Павелецким вокзалом и Жуковским проездом.

В 20:45 электричка выплюнула ее на платформе Расторгуево.

Воздух в Видном был другим: тяжелым, влажным, с отчетливой кисловатой гарью от коксогазового завода, которую низкие осенние тучи прибивали к земле. Под ногами хлюпало. Тракторная подошва сапог месила жижу из глины, мокрого песка и черных березовых листьев.

Круглосуточный «Дикси» возле станции гудел люминесцентными лампами. Внутри пахло прелой капустой и мокрым картоном. Алина шла между рядами с пластиковой корзиной на сгибе локтя, сверяясь со списком в айфоне. Пальцы с короткими ногтями без покрытия — въевшийся с юности страх однажды обнаружить под кутикулой несмываемый черный тонер от заправки офисных плоттеров — методично брали с полок привычный набор. Синюю пачку вологодского масла (только без желтого ценника, от удешевленного у тети Вали изжога), однопроцентный кефир, брусок коричневого хозяйственного мыла с запахом советской прачечной и две пачки соды.

У кассы она задержалась, взглянув на витрину со сладостями. Рука дернулась к шоколадным конфетам, но тут же опустилась. Шестьдесят четыре тысячи за кардиопрепарат отцу на следующей неделе. Никаких лишних трат. Баланс на карте был посчитан в голове до рубля.

Пакет врезался тонким пластиком в ладонь. Последние шестьсот метров по темноте мимо гаражей Алина шла быстро, пружинисто, держа сумку перед собой. Контроль периметра не отключался даже здесь: шаги за спиной, свет фар, глубокие лужи у помойки.

Подъезд встретил лязгом сломанного доводчика и запахом жареной рыбы. Лифт, слава богу, работал.

В прихожей крошечной двушки было душно. На тумбочке у зеркала стояла эмалированная миска с теплой водой и жесткая щетка.

Прежде чем пройти в комнату, Алина скинула куртку и опустилась на низкую банкетку. Это был неизменный, въевшийся в подкорку вечерний ритуал: мокрой губкой смыть уличную слякоть с сапог, вытереть подошву старой тряпкой, а внутрь плотно набить скомканные газеты из почтового ящика, чтобы за ночь вытянуло сырость. Без этого завтра к утру обувь встанет колом.

— Алинка? Пришла? — из кухни послышалось шарканье войлочных тапок.

Тетя Валя показалась в дверном проеме, держась рукой за косяк. На пояснице — неизменный шерстяной платок, лицо одутловатое, с серыми тенями под глазами. Ноги к ночи превращались в свинцовые тумбы.

— Пришла, теть Валь. Масло взяла вологодское. Мыло коричневое, как просила, — Алина поднялась, на ходу доставая из кармана влажную антисептическую салфетку и тщательно протирая руки. — Ужинала?

— Кашу гречневую поела. Твой суп в холодильнике, погрей, — старушка медленно, со стоном переставила ногу через порожек. — Отец-то как? Звонила в шесть?

— Звонила. Давление сто сорок на девяносто, нормально. Завтра бронь на складе подтвержу, в четверг выкуплю. Все по плану.

Алина прошла на крошечную кухню. Зажгла конфорку под старым чайником. Достала ту самую советскую кружку со сколотой ручкой — глупый бытовой якорь, пережиток съемных комнат. Плеснула кипятка на две ложки растворимого «Якобса», зачерпнула из банки щедрую порцию густой сгущенки. На поверхности кофе образовалась тяжелая сладкая пленка.

Она сделала обжигающий глоток. Сладость ударила по рецепторам, глуша голод и снимая металлический привкус бесконечного дневного кофеина.

Телефон на клеенке коротко дернулся виброоткликом. Алина мгновенно схватила его. Ничего важного: рассылка от типографии. Но палец уже по привычке пролистал рабочую почту, проверил Слак и вернулся на главный экран.

Завтра в 05:45 снова сработает беззвучный будильник. Снова четыре минуты на идеальные стрелки в трясущейся маршрутке, бронированный блейзер, модельные ботильоны из тумбочки и вежливая глухота в ответ на дежурные подколки Павлова.

Она допила остывающий кофе, глядя на темное стекло, за которым сыпала мелкая видновская морось, и подумала, что в четверг обязательно нужно успеть на склад до пробок. Жизнь отца измерялась не годами, а коробками с европейским препаратом, и пока она тянула эту лямку — сердце билось.

***

В Герцлии-Питуах пахло солью Средиземного моря, цветущими олеандрами и раскаленным бетоном.

Терраса закрытого коворкинга на улице Аба Эвен нависала над побережьем. Сессия с отставниками из киберразведки «восемь-двести», ныне рулившими венчурными фондами и американскими грантами, закончилась полчаса назад. Переговоры шли четыре часа без перерыва: бешеная смесь английского и иврита, споры вокруг эллиптических кривых и аппаратных ключей, где за каждым вторым участником стояли миллиардные контракты.

Марк Гольдман, сдвинув темные очки на копну кудрей, сидел развалившись в плетеном кресле и с ожесточением макал питу в миску с крупнозернистым хумусом. На нем была все та же мятая серая футболка и пыльные кеды.

— Нет, ты слышал, что этот Элияху нес? — Марк отправил кусок питы в рот и шумно выдохнул, запивая холодным «Голдстаром». — «Мы добавим слой эвристики на фронте». Эвристику он добавит! Да у них весь стек держится на двух стажерах из Хайфы и молитвах раввина. Дима, если британцы это пропустят — я лично отправлю им в офис коробку пейджеров. Пусть по старинке перезваниваются.

Дмитрий сидел напротив, вытянув длинные ноги. На нем была простая темно-синяя футболка из плотного льна и прямые светлые чиносы. Никакого офисного лоска — темная щетина, простой лен и усталое спокойствие во взгляде. Бороду он не любил — через неделю она начинала раздражать и колоть, но скоблить лицо каждый день, особенно здесь, где жизнь текла шире и ленивее, было откровенно лень.

— Британцы не дураки, Марк, — негромко усмехнулся Дмитрий, крутя в пальцах запотевшую бутылку пива. В глазах плясали усталые, теплые искорки. — Они платят за то, чтобы мы нашли дыры до того, как в них залезут китайцы. Пусть Элияху фантазирует, у него работа такая — продавать воздух венчуру. Мы свое заключение дали.

— Скучный ты, Ковалев, — Марк хмыкнул, откинулся на спинку и с прищуром оглядел набережную, где в закатном солнце скользили загорелые девчонки в коротких топах и серферы с досками под мышкой. — У тебя всё по ГОСТу, по таймлайну и без шансов на импровизацию. Посмотри вокруг: море, солнце, сорок сортов хумуса. Нас зовут на виллу в Кейсарию на закрытую вечеринку. Лиора звонила дважды. Спрашивала, приедет ли «тот высокий молчаливый русский». А ты сидишь с лицом человека, у которого упала база данных.

Дмитрий чуть заметно дернул уголком рта, сделав глоток ледяного пива:

— Передай Лиоре, что русский занят перелетом. В Кейсарии будет ящик текилы, тридцать человек, обсуждающих раунды финансирования, и две недели головной боли.

— Ой, началось, — Марк закатил глаза и картинно всплеснул руками. — Опять эта великая русская тоска! «Душа требует резонанса»! Димка, тебе тридцать четыре года. Ты здоровый, бабки есть, мозги на месте. Что тебе еще надо? Лиора — огонь. Ну проведешь с ней ночь, позавтракаете на пляже, разойдетесь. Чего ты в каждой встречной бабе пытаешься высмотреть судьбу всей жизни? Тебе кто-то в детстве сказал, что секс без духовного переворота — это минус к карме?

Дмитрий усмехнулся шире, покачав головой, но взгляд его на секунду скользнул вдаль — туда, где свинцово-синяя полоса моря смыкалась с оранжевым небом.

Марк был по-своему прав. Гольдман жил легко: фаталист, циник, он брал от мира то, что плыло в руки, не копаясь в причинах и следствиях. «Все будет, когда будет, а пока не случилось — жуй шакшуку».

А у Дмитрия внутри сидел тот самый дурацкий, въедливый подкожный зуд. Ему до чертиков надоели эти красивые, упакованные, социально понятные женщины, с которыми всё было ясно на третьей минуте разговора. Они знали, в какие рестораны ходить, умели вовремя улыбнуться, но за этим фасадом была пустота — выхолощенная, предсказуемая, безопасная. Каждая случайная связь на одну ночь оставляла после себя только раздражение и душное чувство зря потраченного времени, когда утром хотелось не завтракать у моря, а просто вызвать такси, вернуться в номер и залезть в код, где всё хотя бы имело честный смысл. Раньше это случалось эпизодически, но в последние месяцы превратилось в систему. И порой хотелось сбежать даже без дежурного «до свидания». Количество никак не желало переходить в качество.

Ему нужна была не «девушка с обложки». Ему нужен был человек. С характером, со своим внутренним хребтом, с изломом, с нервом — кто-то, кто не будет ложиться под чужую волю и за чьей броней бьется настоящая жизнь.

— Я не ищу судьбу, Марк, — спокойно ответил Ковалев, с легкой иронией посмотрев на друга. — Я просто не люблю пластиковую посуду. Ни на кухне, ни в постели.

— Философ хренов, — беззлобно буркнул Гольдман, вытирая пальцы салфеткой. — Ладно, черт с тобой и твоей Лиорой. На Арме нас ждет Илюха с договорами, в Москве сейчас плюс четыре и сырость. Когда вылет?

— В полночь из Бен-Гуриона. Около пяти утра во Внуково, — Дмитрий посмотрел на экран телефона.

Там уже висело уведомление от лондонского комплаенса: предварительный запрос на проверку архитектуры некоего российского финтех-моста под эгидой компании «Спектр».

Он заблокировал экран, допил пиво и легко поднялся на ноги: — Пошли в отель, заберем рюкзаки. Завтра в Москве придется разгребать чужие авгиевы конюшни. Чует мое сердце, нам опять пытаются впарить кривой костыль под видом премиального банкинга.

Глава 2

Глава 2.

Проект заходил в агентство трудно.

— Давай, Алина, заходи, — хрипло бросил старик, не поднимая головы. Алина шагнула через порог, мягко прикрыв за собой тяжелую дубовую створку. Черные шерстяные брюки, молочный топ, графитовый жакет мужского кроя. В руках — неизменный тонкий Moleskine и гелевая ручка. Она села не в мягкое кресло для гостей, а на жесткий стул с краю стола, держа привычную дистанцию. Кабинет Савельева на сорок пятом этаже башни «Федерация» пах старой школой: натуральным табаком, потертой кожей массивного дивана, капсульным кофе и легким аптечным шлейфом сердечных капель. Вопреки стеклянному хай-теку Сити за панорамным окном, старик упрямо держался за свой номенклатурный уют: дубовый стол советского образца, заваленный папками на завязках, шкафы с образцами упаковки за двадцать лет и выцветшая грамота от правительства Москвы.

Савельев наконец поднял на нее тяжелый, блекло-серый взгляд из-под кустистых седых бровей. По лицу было видно: ночь выдалась дрянной, язва опять крутила под ребрами.

— Чай будешь? Конфеты вон возьми, «Мишка», свежие.

— Спасибо, Виктор Павлович, я после кофе, — ровно ответила Алина.

— Ну да, вы же нынче только траву да кипяток глушите, — беззлобно проворчал старик, бросил папиросу на хрустальную пепельницу и пододвинул к ней толстую серую папку с надписью «Specter B2B». — Смотри. Заходит крупная рыба. Дочка британцев, финтех-платформа. Бюджет жирный, в валютном эквиваленте. Если закроем этап концепта и прототипа — агентство до конца следующего года живет без кассовых разрывов.

Алина открыла титульный лист. Глаза привычно заскользили по строчкам: шлюзы, мультивалютные счета, криптомост, интеграция с внешними биржами.

— Кто ведет на стороне клиента? — спросила она.

— Герман Воропаев. Модный парень, CPO. Ты таких знаешь — худи за сто тысяч, зубы белые, презентации на сорок слайдов ни о чем. Но за ним стоят экспаты из Лондона, комплаенс суровый. Поэтому от нас требуется не просто картинка, а железобетонный UX. Чтобы каждый клик, каждый перевод был прозрачным. Ты у меня на этот проект пойдешь лидом. Твоя сетка, твоя логика.

Алина почувствовала, как внутри приятно натянулась струна рабочего азарта. Масштабная, взрослая задача.

— Сроки?

— Три недели на первичный драфт флоу, потом защита перед их бордом. Справишься — лично выпишу закрывающий бонус. Закроешь свои дыры с лекарствами, я ж знаю, как ты колотишься.

Савельев помолчал, затем шумно перевел дух, потер пальцем переносицу и, чуть отведя глаза к окну, добавил глуше:

— Но есть нюанс. Проект ведут Павлов с Токаевым.

В кабинете повисла секундная тишина. Алина даже не моргнула, лишь пальцы на ручке чуть сильнее сжали черный пластик.

— Антон отвечает за клиентский сервис, Тимур — за координацию с разработкой, — продолжил Савельев, и в его голосе прорезалась та самая глухая, виноватая номенклатурная нотка, которую она уже слышала три года назад. — Их отцы этот контракт сюда завели. Без них сделки бы не было. Ты, Алина, с Антоном в контрах не лезь. Знаю я вас… умных. Ты делай свою часть, макеты собирай, а в их терки с Германом не суйся. Они там какую-то свою субподрядную конторку на аудит подтягивают, «Юг-Софт»… Это их головная боль. Твое дело — экранная логика.

Дверь кабинета распахнулась без предупреждения.

В комнату, не снимая пальто из верблюжьей шерсти, ввалился Токаев. От него пахло морозным воздухом, табаком и барбершопом. Следом за ним, на ходу убирая в карман блестящий айфон, скользнул Антон Павлов. Он держался с той привычной, ленивой наглостью человека, за спиной которого стоят чужие миллионы.

— Виктор Палыч, здрасьте! — бодро бросил Павлов, даже не взглянув на Алину. — Мы с Германом на Патриках перетерли. Все на мази. Он ТЗ уже подмахнул, осталось картинки натянуть.

Токаев тяжело опустился в кожаное кресло рядом с Алиной — так близко, что его массивный золотой перстень звякнул о ручку. Алина инстинктивно подобрала локти, восстанавливая дистанцию.

— Здорово, шеф, — пробасил Тимур, доставая из кармана четки. — Короче, план простой: Воропаев дает зеленый свет на бесшовный интерфейс. Никаких лишних окон, никаких подтверждений. В один тап чтоб крипта улетала. Мусаев со своей конторой дает заключение, что все безопасно. Британцам в зубы протокол — и транш падает к нам на счет к концу месяца.

Савельев нахмурился, исподлобья глядя на замов:

— Вы с комплаенсом лондонским согласовали? Там регламенты драконовские…

— Палыч, не грей голову, — вальяжно отмахнулся Павлов, блеснув фарфоровой улыбкой. — Экспаты на Рождество смотрят, им не до нас. Герман все прикроет. Алинка вон нарисует красиво, в неоновых тонах, премиально, под Apple — они рот раскроют и подпишут. Да, Алин?

Антон впервые за встречу посмотрел прямо на нее — легко, нагло, с той самой снисходительной ухмылкой человека, который считает ее прочитанной и прирученной книгой.

Алина медленно перевела взгляд с Павлова на Токаева, затем на лежащую перед ней серую папку. Острый профессиональный слух моментально вычленил фальшь: «без подтверждений», «своя контора на аудите», «в один тап». Пахло авантюрой, если не прямой подставой. Но поперек горла стояла бронь на Варшавке и шестьдесят четыре тысячи за препарат для отца.

— Я сделаю макеты строго по ТЗ, которое подпишет Герман, — сухо, чеканя каждое слово, произнесла Алина. — Но спецификацию вызовов смарт-контракта требую в письменном виде на корпоративную почту. До единой строчки.

Токаев пренебрежительно хмыкнул, перебирая четки:

— Слышь, художница, ты не на экзамене. Получишь свой файл. Рисуй давай, время тикает.

Она поднялась со стула, забрала папку со стола, коротко кивнула Савельеву и вышла в коридор, держа спину неестественно прямой. За ее спиной раздался дружный, самодовольный хохот Павлова, травящего шефу очередную байку про ночной клуб.

Алина шла по пустому коридору «Pulse» к своему рабочему месту. Пальцы слегка холодели.

Три недели Алина жила между экраном монитора и платформой Расторгуево.

В опенспейсе «Pulse» работа кипела: верстались сетки, вылизывались темные темы в глубоких антрацитовых оттенках с неоновыми акцентами, собирались кликабельные прототипы клиентского пути. Но когда в прошлый четверг ближе к полуночи на корпоративную почту упало официальное ТЗ, подписанное Германом Воропаевым, холод прошел от кончиков пальцев до затылка.

В документе черным по белому значилось требование commercial-блока: исключить повторный запрос 2FA и подтверждения ключом при выводе средств через внешний криптомост. «Для сохранения ультрагладкого пользовательского опыта». Никаких биометрических шлюзов, никаких промежуточных экранов с комиссиями сети — один тап из главного дашборда. Любой школьник с базовым пониманием веб-уязвимостей выкачал бы с такого кошелька все активы за сорок секунд.

Это была не просто техническая небрежность — это была прямая, неприкрытая дыра. И в случае взлома первым под следствие попадал исполнитель интерфейса, заложивший бесконтрольный сценарий.

Утром в пятницу Алина распечатала лист с техническими требованиями, выделила желтым маркером роковой пункт 4.2 и, не дожидаясь приглашения, шагнула в кабинет Савельева.

Виктор Павлович сидел за массивным столом. Лицо его отливало землистой серостью, под рукой привычно белела салфетка и стоял остывший стакан с минеральной водой — язва снова не давала старику покоя.

— Виктор Павлович, посмотрите, — Алина положила распечатку прямо перед ним, держа спину идеально прямой. Ее голос звучал тихо, сухо, но в нем звенела сталь. — Это прислал Воропаев. Они требуют убрать второй фактор с внешнего шлюза. Если я соберу сценарий в таком виде, это будет прямая уязвимость для угона средств. Лондонский комплаенс никогда в жизни такое не согласует, а если согласует их карманный «Юг-Софт», через месяц после релиза мы окажемся в криминальной хронике.

Савельев даже не взял лист в руки. Он лишь скользнул взглядом по желтой полосе маркера и тяжело, с присвистом выдохнул через нос.

— Алина, — глухо начал он, глядя не на нее, а куда-то в угол кабинета, на шкаф с образцами упаковок. — Я с Павловым утром говорил. Они с Германом на Патриарших сидели до двух ночи. Воропаев клянется, что логику подтверждений перенесут на уровень смарт-контракта, бэкендом. А на фронте просили не городить заборов.

— На бэкенде этого шлюза нет валидации приватных ключей, я проверила спецификацию API! — шагнув ближе, отчеканила Алина. Дистанция сократилась, но контроль оставался абсолютным. — Нас подставляют, Виктор Павлович. Если британцы увидят такой флоу, они повесят уголовную статью о халатности на агентство. На вас. И на меня.

Старик медленно поднял на нее усталые, налитые свинцом глаза. В них не было слепоты — он всё прекрасно понимал. Но в этих глазах читалась тяжелая, безвыходная покорность человека, у которого связаны руки.

— Ты думаешь, я идиот, Алина? — тихо, с хрипом бросил Савельев. — Думаешь, я не чую, откуда тут ноги растут? Но контракт заводили их отцы. У «Pulse» кредитная линия в банке под залогом оборудования, нам аванс от «Спектра» кровь из носу нужен до конца месяца, иначе зарплаты платить нечем будет.

Он прижал ладонь к правому подреберью, скривился от приступа боли и указал узловатым пальцем на распечатку:

— Ты делай, как Герман требует. По их ТЗ. Всю ответственность берет продуктовая дирекция клиента, там подпись Воропаева стоит. Аудит Мусаев закроет, у него все схвачено. А ты… ты зафиксируй отправку файлов по почте, чтобы хвосты прикрыть. И не лезь на рожон. В понедельник в десять утра защита в Сити. Сдадим этап — Савельев твой закрывающий конверт на стол положит лично. Отцу лекарства нужны? Нужны. Вот и не ломай сделку. Иди работай.

Алина молча забрала лист со стола.

Никаких споров. Никаких лишних слов. Она поняла всё: ее бросили в топку. Если авантюра выгорит — мажоры снимут сливки, агентство закроет кассовый разрыв, а она выкупит две заветные коробки на Варшавке. Если рванет — спросят с того, кто рисовал экраны.

Она вернулась за свой стол, заправила прядь каре за ухо, сохранила компрометирующие письма Германа в отдельный зашифрованный архив на флешке и села за макеты. Впереди были выходные без сна, ягодная помада на губах и понедельник в башне «Федерация», где все они рассчитывали на легкую победу.

Будильник без звука взорвался короткой, жесткой вибрацией под подушкой ровно в 05:45.

Алина открыла глаза мгновенно, без той утренней вязкой полудремы, которая бывает у людей с нормальной нервной системой. В комнате стоял сизый подмосковный полумрак. Из щели в старой деревянной раме тянуло сыростью и запахом прелой листвы. За стеной мерно, надсадно похрапывала тетя Валя.

Десять минут на ледяной душ в крошечной совмещенной ванной, где эмаль на чугуне давно пошла желтыми паутинками. Никаких кремов, требующих долгого впитывания, — только жесткое махровое полотенце и пара капель увлажняющей сыворотки.

На кухонном столе уже стояло зеркальце на тонкой ножке. Алина села на табурет, оперлась локтем о клеенку с полустертыми ромашками и двумя резкими, выверенными движениями черного лайнера вывела идеальные стрелки с легким острым изломом к вискам. Губы — приглушенный, матовый ягодный оттенок, наглухо скрывающий вечную суховатую бледность. «Доспехи».

В сумку-шоппер легли только рабочий ноутбук, зарядка, ежедневник и блистер валидола. Дорогие итальянские ботильоны на тонком архитектурном каблуке не нужно было тащить через подмосковную грязь — они со вчерашнего вечера ждали своего часа на сорок пятом этаже, в тумбочке за системным блоком.

Из комнаты, тяжело переставляя ноги, вышла тетя Валя. Старушка куталась в пуховый платок, щурясь сквозь очки с толстыми круглыми линзами:

— Ты вечером-то не забудь, Алин. Молока полторашку возьми, только не в пакете мягком, а в бутылке. И пряников к чаю мятных, самых простых. А то совсем пусто в буфете.

— Запишу сейчас, теть Валь, всё куплю на обратном пути у станции, — быстро ответила Алина, застегивая замок сумки.

В 06:35 дверь подъезда лязгнула пружиной.

Видное уныло текло в сторону станции. Под ногами чавкала серая жижа вперемешку с окурками и березовыми листьями. В тесную белую «Газель» до платформы Расторгуево Алина протиснулась последней, сев боком у самой двери и выставив сумку как буфер. Каждое торможение отдавало толчком в поясницу, но лицо ее оставалось абсолютно неподвижным, застывшим в привычной столичной глухоте. В ушах — беспроводные наушники с включенным шумоподавлением, без музыки.

Выждав, пока стихнет рев старого мотора на светофоре, она набрала короткий номер. Прикрыла микрофон ладонью от чужих ушей:

— Здравствуйте. Воронова, бронь номер восемьсот сорок два. Три упаковки оригинального препарата, кардио. На Варшавке. Рецепт в системе.

— Минуту... Да, Воронова Алина Игоревна. Партия пришла в субботу.

— До четверга полежит? Я заберу лично, оплата по безналу.

— Вообще бронь держится сорок восемь часов...

— Девушка, я постоянный клиент, выкупаю каждый месяц по две пачки шестой год. Продлите до четверга до девятнадцати, пожалуйста.

Оператор на секунду замялась, защелкала клавишами:

— Хорошо, продлила до вечера четверга. Но если в пятницу утром не снимете — уйдет в свободную продажу, у нас лист ожидания на этот артикул на три страницы.

— Я заберу, спасибо.

Алина нажала отбой. Шестьдесят четыре тысячи за две коробки. Если сегодня Савельев подмахнет промежуточный акт и выкатит обещанный конверт — всё сойдется. Отец будет с лекарствами до конца зимы.

Она доехала до Расторгуево, втиснулась в тамбур грязно-зеленой электрички, пропахшей креозотом и сырыми пальто, затем перенесла давку кольцевой линии метро.

Когда эскалатор станции «Деловой центр» вынес ее наверх, мир переключился тумблером.

Стеклянные гиганты Москва-Сити упирались верхушками в низкое свинцовое небо. Алина вошла через вращающиеся двери южного вестибюля башни «Федерация», вдохнула сухой кондиционированный воздух с легкой нотой дорогого диффузора. На первом этаже в галерее взяла двойной эспрессо без сахара, приложила пропуск к турникету и шагнула в скоростной лифт. Кабина взлетела на сорок пятый этаж за считанные секунды. Прошмыгнув в еще пустой рабочий отсек «Pulse», она первым делом достала из тумбочки за системным блоком мягкий тканевый пыльник. Стянула тяжелые «вездеходы», бережно убрала их в нижний отсек под стол и натянула итальянские ботильоны из тонкой кожи. Тонкий каблук щелкнул о плитку, сразу выпрямив осанку на лишние пять сантиметров. Поправила лацканы блейзера, проверила стрелки. В зеркале напротив отражалась жесткая, дорогая тридцатилетняя столичная хищница. Никаких следов маршрутки, тети Вали и холодного Видного. Теперь — переговорная «Лондон».

Стеклянная створка мягко отъехала в сторону, впустив Алину внутрь.

В переговорной «Лондон» уже стоял терпкий коктейль из ароматов кофе, сырой шерсти и парфюма. Ее появление не вызвало никакого оживления — лишь дежурное движение голов. С ней поздоровались, соблюдая ту самую выхолощенную корпоративную вежливость, за которой сквозит абсолютное, ледяное равнодушие. Так здороваются с официантом, принесшим приборы, или курьером с документами: звук произнесен, лицо повернуто, но взгляд скользит мимо, как по стеклу.

— Привет, Алина, подключайся, — бросил Герман Воропаев.

Он сидел во главе огромного дубового стола в своем темно-синем кашемировом худи, покручивая на запястье керамические часы. Перед ним светился открытый макбук. В его тоне не было ни враждебности, ни тепла — просто техническая инструкция человеку, который должен вовремя нажимать на кнопки.

Павлов, вальяжно раскинувшийся в кожаном кресле справа от Германа, лениво кивнул, не прерывая беседы с Токаевым:

— О, Алинка, салют.

Никакого напоминания о вчерашней попытке подвезти ее до вокзала, ни намека на прошлое. Антон уже жил в предвкушении триумфа: покачивал ногой в замшевом лофере, изредка бросая взгляд на экран телефона. Токаев лишь коротко мазнул по ней тяжелым взглядом из-под густых бровей и глухо буркнул под нос что-то нечленораздельное, продолжая поглаживать аккуратную бороду.

Им троим было откровенно плевать и на нее, и на макеты, которые она шлифовала трое суток. Вся эта презентация для них являлась пустой, хотя и обязательной формальностью. В их глазах читалась совершенно иная, сытая сосредоточенность: они ждали своего человека — Мусаева из «Юг-Софта». Человека, который придет, сделает вид, что с лупой изучает интерфейс, закроет глаза на вырезанную двухфакторку и положит на стол Савельеву нужную бумажку с нужной печатью.

Стелла Кауфман сидела у панорамного остекления. Молочный кашемировый свитер, безупречный холодный блонд. Ей было настолько до фонаря всё происходящее в комнате, что это даже не пытались скрыть. Маркетинг экосистемы сюда пристегнули «прицепом»: генеральный велел поехать с Воропаевым ради представительского веса — она и поехала. Стелла лениво потягивала зеленый матча-латте через стеклянную трубочку, не глядя ни на кого конкретно, и методично водила пилочкой по краю миндалевидного ногтя, погруженная в ленту соцсетей.

Алина молча обошла стол. Выбрала место с чертежной точностью: глухая звукоизоляционная стена за спиной, дверь — в прямом поле зрения. Поставила ноутбук. Достала провод, телефон положила строго параллельно краю стола экраном вниз. Пальцы были холодными, но внешне она оставалась безупречно собранной.

— Савельев где? — не оборачиваясь, спросил Токаев, раздраженно барабаня пальцами по столешнице.

— На трешке глухо стоит, — лениво отозвался Павлов, мельком глянув в навигатор. — Говорит, фура развернулась на съезде к Тульской. Ползет еле-еле. Без него начнем, Мусаев вот-вот поднимется.

— Без Палыча протокол не подпишем, подпись его нужна, — проворчал Тимур.

— Да пока Мусаев слайды пролистает, пока чай попьем — старик и доковыляет. Делов-то на полчаса.

Алина воткнула кабель «Тандерболт» в разъем. На гигантских плазмах по периметру переговорной вспыхнул темный стартовый экран: «Specter B2B: Бесшовный финансовый мост».

На часах было ровно десять ноль три. За столом перебрасывались ленивыми репликами о московских пробках, Стелла шелестела пилочкой, Герман проверял почту.

Они все ждали Мусаева.

Глава 3

Глава 3.

В этот момент массивная стеклянная дверь переговорной мягко отъехала в сторону.

В комнату вошел мужчина.

Высокий, крепко сбитый, в темно-графитовом лонгсливе из плотного хлопка без малейших опознавательных знаков и прямых темных джинсах. Никакого глянцевого пафоса, никаких часов, запонок или браслетов. Черты лица были резкими, немного жесткими. Спокойный, глубокий взгляд из-под темных бровей скользнул по присутствующим, на долю секунды зафиксировался на напряженной, неестественно прямой фигуре Алины и ушел к панорамному окну. В руках — только тонкий матовый черный ноутбук.

В переговорной повисла липкая, вязкая пауза.

Павлов замер, пальцы перестали крутить брелок от BMW. Токаев слегка нахмурился, медленно убирая локти с дубовой столешницы и сканируя вошедшего тяжелым, подозрительным взглядом. Стелла застыла с пилочкой у идеального ногтя, с легким недоумением приподняв бровь: персонаж явно выбивался из привычного круга столичного финтеха.

Герман Воропаев растерянно дернул уголком рта, кашлянул и привстал в своем кашемировом худи:

— Э-э... Коллега? Вы, видимо, от Мусаева? Из «Юг-Софта»?

Мужчина не спеша отодвинул тяжелое кожаное кресло напротив Алины, сел, положил закрытый ноутбук на стол и сцепил крупные пальцы с коротко остриженными ногтями в спокойный, основательный замок.

— Доброе утро, — произнес он.

Голос оказался глуховатым, негромким, но обладающим странным свойством моментально вымораживать любой посторонний шум.

— Меня зовут Дмитрий Ковалев. «Kovalev Partners». Лондонский комплаенс-комитет делегировал нам независимый предварительный аудит архитектуры безопасности релизной сборки.

Он поднял глаза на экран, где светился стартовый слайд Алины, затем перевел взгляд на присутствующих:

— Но вначале хотелось бы представлять, с кем я говорю.

Воропаев торопливо расплылся в своей лучшей презентационной улыбке, хотя в глазах мелькнуло отчетливое раздражение: сценарий ломался прямо на старте. Он повел раскрытой ладонью в сторону коллег:

— Стелла Кауфман, директор по маркетингу. Коллеги из «Pulse» — замгенерального Антон Павлов, Тимур Токаев. Алина Воронова, ведущий арт-директор проекта, она как раз подготовила флоу. Собственно, я — Герман Воропаев, CPO экосистемы.

Герман картинно развел руками и с легкой снисходительной укоризной добавил:

— Должен был еще быть Виктор Павлович Савельев, генеральный «Pulse». Но у нас, как обычно: возрастные фаундеры и московский трафик — вещи несовместимые. Застрял где-то на трешке со своим водителем. Но мы вполне можем двигаться без него. Полномочий Антона и Тимура более чем достаточно, чтобы зафиксировать статус, да и Алина полностью в материале. Время дорого, давайте к макетам.

Дмитрий не шелохнулся. Он даже не открыл крышку ноутбука. Пальцы оставались сцепленными перед собой. Взгляд медленно переместился с плазмы на Воропаева — без вызова, без показного высокомерия, просто с сухим профессиональным равнодушием.

— Нет, — негромко, но свинцово-веско произнес Ковалев.

В переговорной снова установилась тишина. Стелла чуть скривила губы. Павлов застыл с полуоткрытым ртом.

— В смысле… «нет»? — растерялся Герман.

— В прямом, — Ковалев говорил ровно, не повышая тона, но каждое слово падало на дубовую поверхность, как металлическая пломба. — Савельев — генеральный директор агентства-подрядчика и лицо с правом первой подписи. Согласно мандату лондонского комитета, аудит проводится исключительно в присутствии первого лица исполнителя, несущего персональную юридическую ответственность по контракту. Слушать презентацию пользовательских сценариев без человека, который своей подписью и балансом компании гарантирует их реализуемость, — бессмысленная трата моего времени.

Он чуть наклонил голову, взглянув на настенные часы над плазмой:

— Десять ноль восемь. Я подожду Савельева ровно двадцать две минуты. Если он не появится — встреча переносится, а лондонский борд получает уведомление о неготовности подрядчика к защите архитектуры.

Токаев побагровел. Желваки под бородой вздулись. Золотой браслет часов резко звякнул о дуб, когда он с грохотом отодвинул тяжелое кресло и поднялся во весь свой немалый рост.

— Я не понял… — начал было Тимур с глухой угрожающей хрипотой, но наткнулся на немигающий, абсолютно пустой взгляд Ковалева.

Дмитрий даже бровью не повел. В его глазах не было ни страха, ни вызова — лишь спокойная готовность к любому развитию событий.

Токаев шумно втянул носом воздух, резко развернулся, не договорив, и вылетел из переговорной, едва не снеся плечом стеклянную створку. Павлов растерянно посмотрел на Воропаева, сжал в кулаке брелок от BMW так, что побелели костяшки, и, бросив: «Секунду, коллеги, сейчас решим…», торопливо засеменил в коридор следом за партнером.

В холле у панорамного остекления Токаев уже яростно вдавливал палец в экран айфона, вызванивая Мусаева. А за матовой дверью переговорной стояла стеклянная тишина, нарушаемая лишь мерным шипением кондиционера.

Стелла продолжала делать вид, что методично пилит ноготь. Воропаев лихорадочно строчил что-то в мессенджере под столом.

А Алина сидела не шевелясь. Ее руки лежали на краю стола, пальцы слегка похолодели. Она смотрела на Ковалева. За десять лет в «Pulse» она видела сотни клиентов и начальников, но чтобы двух неприкасаемых хозяев положения вынесло за дверь ровно за девяносто секунд — без мата, без крика, просто парой ледяных процедурных фраз… Такое было впервые.

В коридоре раздался тяжелый стук каблуков: Токаев, выяснив по телефону, что Мусаев наглухо завернут Лондоном, в бешенстве ломился обратно в переговорную.

Стеклянная створка переговорной отъехала с нервным, резким щелчком.

Токаев буквально ввалился внутрь, но в нем уже не было прежней вальяжной спеси хозяина жизни. Лицо посерело, на скулах выступили неровные красные пятна, а дыхание сбилось, словно он взбежал по лестнице пешком. За ним, мелко семеня и озираясь, вошел Павлов. Антон больше не крутил брелок — он судорожно комкал в кармане влажную салфетку, и в его глазах стоял почти детский, животный испуг: схема, казавшаяся бронебойной, только что треснула на глазах.

Тимур подошел к столу, но нависать или орать не стал. Он тяжело опустился на край кресла, оперся локтями о колени и посмотрел на Дмитрия снизу вверх — с глухим, лихорадочным непониманием человека, у которого земля уходит из-под ног:

— Мусаева срезали, — глухо, сипло произнес Токаев, обращаясь скорее в пустоту, чем к кому-то конкретно. — Прямо на утреннем комитете в Лондоне. Без объяснений. «Конфликт интересов».

Он перевел растерянный, колючий взгляд на Ковалева:

— Ты… вы оттуда? Напрямую? Послушайте, Дмитрий, мы же цивилизованные люди. У нас здесь рабочий процесс, жесткие дедлайны по траншам, люди зарплаты ждут... Нельзя вот так с порога блокировать релиз. Кто вам дал такие полномочия? Давайте свяжемся с их секретариатом, уладим это недоразумение…

Голос Токаева не гремел — он заметно подрагивал. За этим стоял простой и понятный страх: отцы дали денег и связей под конкретную задачу, и если из-за британского аудита начнется проверка всей финансовой цепочки, полетят не просто кресла — рухнет всё.

Павлов торопливо поддакнул, нервно дергая ворот рубашки:

— Да, Дмитрий, здесь наверняка какая-то накладка с документами… Британцы часто перестраховываются, не зная местной специфики…

В этот момент Герман Воропаев шумно отодвинул свое кресло. Почувствовав, как в комнате расползается липкая паника, он решил перехватить инициативу единственным доступным ему способом — включить на максимум корпоративный лоск и привычную мантру «эффективного визионера».

Герман встал во весь рост, расправил кашемировое худи и натянул широкую, почти лучезарную улыбку за миллион рублей.

— Так, коллеги, выдохнули! — бодро, с поставленной интонацией бизнес-коуча объявил Воропаев, плавно разведя ладони. — Без паники. В турбулентности рождаются лучшие решения. Лондон прислал нам Дмитрия? Прекрасно! Это знак высочайшего доверия борда к экосистеме «Спектр». Мы только рады независимому взгляду топ-уровня. Дмитрий, отбросьте вы эти формальности с Савельевым. Старик застрял на Трешке, ну что мы, первоклассники — ждать завуча? Я как CPO и лидер продукта беру всю фасилитацию на себя. Давайте я лично проведу вас по флоу, мы покажем вам нашу визионерскую ценность, и вы увидите: «Спектр» опережает рынок на два года! Алина, запускай…

— Герман, — негромко прервал его Ковалев.

Тон был совершенно будничным, без нажима или насмешки, но в нем звенела та абсолютная процедурная ясность, о которую вдребезги разбивался любой маркетинговый энтузиазм. Дмитрий даже не поднял головы от закрытого ноутбука.

— Я уже сказал: презентация без Савельева бесполезна. Вы можете называть это визионерством, но по контракту Виктор Павлович подписывает акт сдачи архитектуры и несет материальную ответственность. Ваше лидерство юридически не стоит ни одного цента. Сядьте.

Улыбка застыла на лице Воропаева, сделав его похожим на восковую фигуру. Он растерянно моргнул, кадык судорожно дернулся, ладони бессильно повисли в воздухе. Привычный арсенал модных слов оказался пустой шелухой перед человеком, который мыслил исключительно категориями ответственности и регламентов. Герман медленно, словно у него подкосились колени, опустился обратно в кресло.

В переговорной снова повисла неловкая пауза. Стелла Кауфман, заметив, как побелели костяшки пальцев Токаева, незаметно отодвинула свой стаканчик с матча-латте и окончательно уставилась в стену, всем видом показывая, что ее здесь вообще нет.

Дмитрий взглянул на настенные часы.

— Десять пятнадцать. У нас есть еще тринадцать минут.

Он легко поднялся со своего места, оставив черный ноутбук посреди дубового стола, и перевел спокойный взгляд на застывшую Алину:

— Где у вас тут можно сделать нормальный кофе, пока мы ждем?

Алина сбросила с себя оцепенение. Сердце гулко ударило в ребра. Сидеть в этой комнате, где воздух был отравлен страхом и унижением трех взрослых мужчин, было невыносимо.

Она плавно поднялась из-за стола, одернув полы графитового блейзера мужского кроя:

— Я провожу.

Они вышли в просторный коридор сорок пятого этажа, и тяжелая звукоизолирующая дверь мягко отрезала их от парализованной переговорной.

Они шли по широкому коридору сорок пятого этажа. Под подошвами ботильонов Алины глухо пружинил плотный ковролин, а шаг Дмитрия рядом был широким, мягким и почти неслышным.

Зона отдыха пряталась в угловом стеклянном алькове с головокружительным видом на излучину Москвы-реки. В центре кухонной стойки из темного гранита серебрилась встроенная профессиональная кофемашина с сенсорным экраном.

Дмитрий подошел к аппарату, оперся ладонью о край стойки и задумчиво нахмурился, вглядываясь в россыпь светящихся пиктограмм:

— Ну и наворотили. Чтобы сварить чашку кофе, нужно пройти три уровня меню и подтвердить пользовательское соглашение.

Он нажал одну из сенсорных кнопок; машина протяжно зашипела, замигала красным индикатором и выдала на экран короткую ошибку на немецком: контейнер для жмыха был переполнен.

Дмитрий не стал звать клининг или раздраженно дергать ручки, как это сделал бы Павлов. Он спокойно нащупал боковой фиксатор, плавно выдвинул поддон, ловко вытряхнул спрессованную кофейную шайбу в урну и задвинул кассету обратно до мягкого щелчка. Все движения были точными, экономными, механическими — привычка человека, который часто возится с «железом» сам и не ждет обслуги.

Алина наблюдала за ним, прислонившись плечом к гладкой стеклянной колонне.

Внутри у нее постепенно отпускало ледяной спазм. Главное она уже поняла: этот мужчина в простом лонгсливе с двухдневной щетиной — чужой в их московском серпентарии. Он не в доле с Германом, не сидит на Патриарших с Токаевым и не крутит на пальце брелок от BMW. У него нет задачи спустить на нее всех собак, чтобы спасти чью-то шкуру. Он пришел со стороны, и ему было абсолютно плевать на их корпоративную табель о рангах.

Но от этого становилось только тревожнее. Его мандат и реальная роль оставались загадкой.

— Вы ведь не просто проверяете экраны, верно? — негромко спросила Алина. Ее голос звучал ровно, но в нем пробивалось сдержанное профессиональное любопытство. — Аудиторы лондонского пула обычно запрашивают выгрузку документации и работают удаленно через тикеты. А вы пришли лично, требуете первого лица и за девяносто секунд ломаете всю расстановку. В чем ваша настоящая функция здесь, Дмитрий?

Ковалев нажал кнопку двойного эспрессо. В две чашки толстыми черными струями с шипением полился густой кофе. По альковой нише поплыл терпкий аромат жареного зерна.

Он повернулся к ней, чуть склонив голову к плечу. Во взгляде серых глаз не было ни снисходительности, ни официального холода — лишь спокойное, усталое понимание:

— Моя функция простая, Алина. Я смотрю, куда потекут данные и деньги клиентов, когда вы нажмете кнопку «Релиз». Если там зашит канал для слива — я оформляю заключение, и проект закрывают с волчьим билетом для авторов. Если архитектуру еще можно вылечить — я…

Договорить он не успел.

Со стороны холла донеслись тяжелые, торопливые шаги. На пороге зоны отдыха появился Виктор Павлович Савельев.

Несмотря на утренний коллапс на дорогах, старик держался внушительно. Отличный темно-серый костюм из плотной английской шерсти сидел на его массивной фигуре как влитой, выдавая дорогую нестареющую классику. Ткань была лишь слегка примята на пояснице и бедрах после двух с лишним часов неподвижного сидения в застрявшем на Трешке седане. Воротник сорочки оставался белоснежным, галстук — затянут строго по центру.

Но главное было в лице. Исчезла та прибитая, виноватая серость, с которой он в пятницу просил Алину «не лезть на рожон». В глазах старого волка, глубоко запавших под густыми седыми бровями, горел жесткий, собранный и хищный огонь. Так смотрит человек, который часами крутил в голове тупиковую, гибельную раскладку — и наконец нашел выход, переломив партию в свою пользу.

Савельев замер на секунду, цепко мазнул взглядом по чашкам с кофе, по Алине и остановился на Дмитрии.

— Ковалев? — глухо, с фирменной наждачной хрипотой в голосе бросил старик, пожимая руку Дмитрия.

— Здравствуйте, Виктор, — спокойно ответил тот и снял чашки с поддона кофемашины.

Савельев перевел дыхание, поправил манжет сорочки и криво, жестко усмехнулся одними уголками губ:

— Вижу, не опоздал. Мои архаровцы внутри?

— В переговорной. Ждут, — ровно ответил Ковалев.

— Вот и отлично, — в голосе старика лязгнул металл. — Бери свой кофе, Алиночка, и идем. Сейчас я им устрою совет директоров. Пора заканчивать эту самодеятельность.

Дверь переговорной «Лондон» распахнулась настежь.

Савельев вошел первым. Он не суетился, не извинялся за опоздание — просто подошел к столу и с глухим, сухим стуком опустил на светлый дуб свой массивный кожаный портфель. Этот звук в звенящей тишине комнаты прозвучал хлестко, словно удар молотка судьи.

Следом скользнула Алина, бесшумно заняв свое место за ноутбуком, а Дмитрий закрыл за собой стеклянную створку, прислонился спиной к дверной раме и спокойно сделал глоток горячего эспрессо.

Токаев и Павлов дернулись было навстречу шефу. В глазах Антона вспыхнула слабая надежда на привычную защиту, а Тимур уже открыл рот:

— Виктор Палыч, тут черт-те что творится, Мусаева завернули…

— Заткнись, Тимур, — не повышая голоса, но с такой тяжелой, убойной силой оборвал его Савельев, что Токаев буквально подавился воздухом.

Старик даже не сел. Он навалился кулаками на край стола, обводя замов немигающим взглядом из-под густых бровей. Лицо его больше не казалось усталым — это был жесткий оскал старого аппаратчика, который три часа в глухой пробке на Трешке висел на телефонах с серьезными людьми и теперь точно знал, где чье место.

— Значит, слушайте сюда, стратеги хреновы, — размеренно, с наждачной хрипотой в голосе начал Савельев. — Объясняю расклад один раз, для особо одаренных. Мусаева вашего вместе со всей его богадельней «Юг-Софт» завернули наглухо. И не просто завернули — Лондон срезал их по комплаенсу за неблагонадежность. Попытка пропихнуть карманную аудиторскую контору под международный контракт расценена британцами как прямой саботаж.

Павлов судорожно сглотнул, кадык его дернулся. Воропаев вжался в кресло, намертво спрятав руки под стол.

— И наняли они «Kovalev Partners», — Савельев мотнул головой в сторону Дмитрия, стоявшего у входа. — Потому что Ковалев и его контора — люди в международном периметре известные, с безупречной репутацией. Их подпись под отчетом для лондонского борда — закон. А теперь главное, мальчики. Если кто-то из вас сейчас решит полезть в бутылку, покачать права или включить обиженных мажоров — вы пойдете лесом в ту же секунду. И вы, и ваши уважаемые отцы. Лондон перекроет кран, полетят все внешние шлюзы, и следом за «Спектром» карточным домиком посыпятся остальные ваши семейные контракты. Вам доходчиво описать последствия или сами догадаетесь?

Токаев сидел чернее тучи, вперив взгляд в столешницу. Пальцы его мелко подрагивали, но возразить он не посмел — он слишком хорошо знал, что стоит за словами Савельева. Павлов и вовсе втянул голову в плечи, боясь поднять глаза.

Савельев перевел дыхание, расстегнул верхнюю пуговицу сорочки и повернулся к Герману:

— Вас, Герман, это тоже касается. Спектакль окончен. Никаких левых протоколов. «Пульс» выживет в этой мясорубке только в одном случае: если мы закроем этот этап чисто, прозрачно и строго по регламенту британцев.

Старик шумно выдохнул, повернул тяжелый корпус и посмотрел прямо на Алину. В его взгляде на секунду промелькнуло что-то человеческое — глухая, виноватая просьба волка, попавшего в капкан.

— А для этого, Алина, тебе придется лечь на амбразуру, — произнес Савельев, и в тишине переговорной его слова прозвучали почти как приговор. — Всё, что тут нагородили по «хотелкам» коммерческой дирекции, нужно снести до основания. Собрать с нуля нормальный, честный интерфейс с двойной авторизацией. Работать будешь напрямую с Дмитрием. Сроки безумные — я выпросил для нас четверо суток. Но если вытащишь проект и Лондон примет релиз — твой закрывающий конверт я лично умножаю на два. Слово даю.

У Алины перехватило дыхание. Двойной бонус. Это были не просто закрытые дыры за французские лекарства на полгода вперед — это был шанс наконец оплатить курс уколов для тети Вали и вздохнуть свободно.

Она выпрямила спину, заправила выбившуюся прядь каре за ухо и посмотрела поверх съежившихся замов прямо на Дмитрия:

— Я готова. Что конкретно мы пересобираем?

Дмитрий подошел к столу, поставил пустую фарфоровую чашку на дубовую поверхность и оперся ладонями о спинку свободного стула. На его лице с легкой двухдневной щетиной мелькнуло деловое, сосредоточенное выражение.

— Прежде чем что-то сносить, нужно провести полную инвентаризацию, — спокойно, без нажима произнес он. — Алина, откройте текущий драфт и проведите меня по всем экранам. От первого тапа до финального подтверждения транзакции. Мне нужно видеть, где живой UX, а где навязана чужая токсичная логика. Что можно спасти — оставим, чтобы не терять время.

— Минуту, — Савельев тяжело поднял ладонь, останавливая Алину, которая уже потянулась к тачпаду.

Старик медленно повернул тяжелую голову к Токаеву и Павлову. В его взгляде не осталось даже злости — лишь сухое, брезгливое равнодушие.

— Вы двое. Встали и пошли вон. С этой секунды вы в «Pulse» не работаете. Заявления по собственному напишете в кадрах до конца дня, трудовые заберете на охране. Если через пять минут ваши лица еще будут мелькать на этаже — передаю внутренний аудит безопасникам, и разговор пойдет по другим статьям. Пшли.

Ни Токаев, ни Павлов не проронили ни единого звука. Весь спесивый лоск слетел окончательно: Тимур молча поднялся, сгорбившись, подхватил свое пальто, спрятал в карманы побелевшие кулаки и тяжелым, механическим шагом направился к выходу. Антон судорожно сгреб со стола телефон и злополучный брелок от BMW, даже не глядя в сторону Алины, и пулей выскочил вслед за партнером. Стеклянная створка мягко закрылась за ними, поставив точку.

Воропаев сидел ни жив ни мертв, прижав локти к туловищу и вперив взгляд в погасший экран своего ультрабука. Его визионерская спесь испарилась без следа. Стелла Кауфман замерла у окна, демонстративно глядя на верхушки соседних башен и не прикасаясь ни к телефону, ни к остывающему матча-латте: она безошибочно почуяла, что любые лишние телодвижения сейчас равны самоубийству.

Савельев тяжело опустился в кресло во главе стола, потер ноющее правое подреберье и коротко бросил:

— Начинай, Алина.

Глава 4

Глава 4.

Алина сделала глубокий вдох, сбрасывая остатки внутреннего тремора, и вывела на две огромные плазмы стартовую схему пользовательского пути. Пальцы легли на тачпад уверенно, спина держала безупречную вертикаль.

— Главный дашборд мультивалютного счета, — начала она четким, поставленным голосом. — Базовую сетку, типографику и визуальную иерархию активов можно оставлять без изменений: контрастность выверена по гайдлайнам, шрифтовые пары согласованы. Проблема начинается при переходе к внешнему криптомосту. Слайд четыре.

Она переключила экран.

— По требованию коммерческой дирекции здесь был заложен прямой вызов функции bridgeTransfer() сразу по нажатию кнопки «Отправить». Интерфейс скрывает адрес смарт-контракта шлюза и размер комиссии сети. Это первая дыра. Пользователь не видит, куда уходят активы, и не подтверждает подписью параметры транзакции.

Дмитрий слушал молча, не перебивая, скрестив руки на груди. В его глазах читалось редкое, сдержанное профессиональное уважение: перед ним был не просто дизайнер «красивых кнопок», а специалист, досконально понимавший изнанку процессов.

— Дальше — окно авторизации, — продолжала Алина, перелистывая прототип. — На экране семь вырезан запрос Face ID или пароля приложения. Я заложила заглушку с текстом «Сессия подтверждена по биометрии входа». Это фикция. Если устройство разблокировано сторонним лицом, доступ к переводу ничем не ограничен. Здесь необходимо жестко возвращать изолированный модальный экран с подтверждением FIDO2 и таймером сброса сессии.

Она перевела спокойный, требовательный взгляд на Ковалева:

— Сетку окон и логику ошибок я перерисую за сутки. Но мне нужны от вас параметры: какие конкретно поля верификации требует лондонский смарт-контракт? И сколько секунд закладываем на тайм-аут шлюза?

Дмитрий чуть заметно усмехнулся одними уголками губ — скупо, но открыто:

— Тридцать секунд на тайм-аут, Алина. Поля отдам у нас в офисе, куда вас приглашаю. Вы отлично видите слабые места системы. Ваш шеф прав — с вами действительно можно работать.

Савельев удовлетворенно крякнул, расправив плечи:

— А то. Ладно, народ, в Сити мы закончили. Алина, собирай вещи. Я верю в тебя, ты прекрасно знаешь, что нужно делать. Время пошло.

В холле первого этажа башни «Федерация» Алина на секунду притормозила у гардероба и галереи. Мысль о том, чтобы снова свернуть в мраморную кабинку и переобуться в тяжелые подмосковные «вездеходы», мелькнула и тут же погасла: рядом стоял Дмитрий. Он молча придержал тяжелую вращающуюся дверь, пропуская ее вперед в сырой осенний полдень.

Черная «Оптима» бизнес-класса уже ждала у пандуса. Дмитрий открыл перед ней заднюю дверь, обошел машину и сел рядом. Салон пах чистой кожей, теплый климат-контроль тихо шелестел, глуша уличный шум.

Машина тронулась, выруливая с Пресненской набережной в сторону Садового. За окном в серой дымке поплыли мокрые гранитные парапеты и желтеющие бульвары. Алина поймала себя на том, что ее обычная спазматическая настороженность — та самая струна в спине, не отпускавшая годами, — вдруг начала ослабевать. Впервые за долгое время рядом был мужчина, от которого не разило парфюмом за полсотни тысяч, не сыпались фальшивые комплименты и не требовалось судорожно держать дистанцию в полтора метра.

— Вы на удивление быстро вскрыли вызов смарт-контракта, — нарушил тишину Дмитрий, повернув к ней голову. На его лице с короткой темной щетиной не было и следа официальной строгости. — Большинство дизайнеров на таком уровне просто двигают векторные сетки и не лезут дальше параметров отступов.

— Когда семь лет заправляешь картриджи и правишь чужой верстальный брак по ночам, волей-неволей начинаешь смотреть, как шестеренки цепляются друг за друга, — с легкой иронией отозвалась Алина, глядя на экран своего разблокированного ноутбука на коленях. — К тому же, интерфейс — это не декор. Это мост между человеческой психологией и холодным кодом. Если архитектура кривая, никакой красивый градиент не спасет от дыры в безопасности.

Дмитрий негромко рассмеялся — открыто, без тени снисходительности:

— Золотые слова. Марку бы их в уши влить, а то он уверен, что пользователи рождаются со знанием протокола командной строки. Смотрите, какая тут тонкость...

Следующие полчаса в пробке на Земляном Валу пролетели как пять минут. Дмитрий достал телефон, открыл заметки и коротко, на пальцах начал набрасывать схему взаимодействия шлюза с британским сервером. Они спорили: Алина доказывала, что тридцать секунд на ввод FIDO2 — слишком жесткий порог для пожилых клиентов холдинга, Дмитрий возражал, что задержка в сорок пять секунд открывает окно для атак по типу «человек посередине». Это был тот редкий, чистый рабочий азарт, где не было начальников, подчиненных и страха ошибиться — только поиск идеального баланса между защитой и удобством.

Машина свернула в Нижний Сусальный переулок. За окном поплыли массивные круглые газгольдеры из темного дореволюционного кирпича.

— Приехали, — Дмитрий расплатился через приложение и вышел первым, подав ей руку.

Ладонь у него была сухой, широкой и теплой. Алина на мгновение оперлась на нее, ощутив уверенную силу, и тут же мягко отстранилась, восстанавливая равновесие на тонких каблуках ботильонов.

Офис «Ковалев Партнерс» прятался под самой крышей бывшего заводского корпуса с высокими сводчатыми потолками. Никаких вывесок, никаких ресепшенов. Только тяжелая железная дверь с кодовым замком.

Внутри пахло свежесмолотым кофе, разогретым железом и озоном. По периметру негромко гудели черные серверные стойки, а в центре просторного лофта стояли дубовые столы на чугунных швеллерах, заваленные мониторами.

В дальнем углу, прямо в огромном кресле-мешке у окна, развалился Марк Гольдман. На нем были стоптанные красные «конверсы», закинутые на низкую тумбу системного блока, мятая серая футболка с блеклым логотипом конференции хакеров и шапка темных нечесаных кудрей. Он с громким хрустом откусил половину зеленого яблока, не отрывая взгляда от бегущих по экрану зеленых строк терминала.

— Марк, подъем, — бросил Дмитрий, снимая куртку и вешая ее на напольную вешалку. — Знакомься. Алина Воронова, арт-директор «Pulse». Человек, который спасет наш релиз от маркетинговой шизофрении.

Марк лениво повернул голову, смерил Алину цепким взглядом сквозь круглые очки в тонкой оправе, скользнул по ее строгому чернильному костюму, идеальным стрелкам на веках и тонким каблукам.

— Опаньки, — Гольдман выпрямился в кресле, сбросил ноги на пол и шутовски приложил ладонь к груди. — Сам Савельев прислал к нам тяжелую артиллерию? Привет, Алина. Я Марк. Главный по выламыванию чужих виртуальных дверей. Димка по телефону сказал, что ты понимаешь разницу между фронтендом и базой данных, но я пока не увижу твои правки по токенам — не поверю.

— Добрый день, Марк, — ровно, с легкой полуулыбкой ответила Алина, проходя вглубь комнаты и доставая ноутбук. — Давайте ваши эндпоинты. Через два часа вы увидите макеты, в которых даже принудительный обрыв связи не оставит повисших сокетов.

Марк на секунду замер с яблоком в руке, удивленно вскинул брови и перевел взгляд на Дмитрия:

— Слышь, шеф. А она мне нравится. Наконец-то в этом городе хоть кто-то умеет разговаривать на человеческом языке.

Дмитрий усмехнулся, закатывая рукава лонгслива:

— Я же говорил. Садись к центральному монитору, Алина. Марк, открывай тестовый стенд. У нас четверо суток, и таймер уже тикает.

К четырем часам дня в лофте на «Арме» установился тот особый ритм, в котором работают только спецы экстра-класса.

Марк вывел на экран эмулятор мобильного клиента, а Алина прямо на лету перекраивала логику переходов в Фигме. Никаких споров о вкусах — только жесткая математика: задержки ответа, тайминги сессии, контрольные суммы адресов.

— Всё, брейк на десять минут, иначе у меня процессор вскипит, — Марк шумно захлопнул ноутбук, потянулся всем телом и сполз с кресла-мешка. — Димка, заряжай свою адскую машину.

Дмитрий поднялся из-за стола, нажал рычаг хромированной La Marzocco. Густой пар с сухим шипением вырвался из рожка, наполнив кирпичный свод терпким ореховым ароматом. Он раздал белые толстостенные чашки, прислонился бедром к краю тяжелого дубового стола и с нескрываемым интересом посмотрел на Алину. На его скулах темнела легкая щетина, а в серых глазах читалось спокойное любопытство.

— Слушай, Алина, — Марк первым не выдержал, зажав горячую чашку в ладонях. — Ты где такую базу набила? Ты расписываешь конечный автомат переходов чище, чем выпускники Бауманки. Где тебя так дрессировали? Британка? Строгановка?

Алина сделала глоток обжигающего кофе, чуть заметно усмехнувшись уголками губ. Это была ее редкая, сухая усмешка человека, прошедшего через мясорубку, о которой эти столичные мальчики не имели ни малейшего понятия.

— Провинциальный университет, прикладная математика, — негромко ответила она, держа чашку тонкими пальцами без покрытия. — Пять лет жесткого матана, графы, булева логика и теория вероятностей. Никакого отношения к «красивым картинкам».

— О как, — Марк удивленно присвистнул. — А в дизайнеры тебя каким ветром занесло? С твоей башкой можно было остаться на кафедре, в аспирантуру пойти или в банк аналитиком сесть. Зачем в петлю-то лезть с разбега?

Алина опустила глаза на темное кольцо кофейного осадка на дне чашки. Никакой жалости к себе, никаких трагических пауз — просто сухая констатация фактов:

— На четвертом курсе у отца село сердце. Тяжелая ишемия, потом инфаркт. В нашем городе нормальных кардиопрепаратов не достать в принципе — только дженерики, от которых печень отваливается за полгода. Спасала тетя Валя, мамина старшая сестра. Она всю жизнь прожила в Видном, знала выходы на склады в Москве. Стала доставать французский оригинальный препарат, пересылать нам с проводниками. А к моему диплому тетю саму скрутило. Суставы, ноги почти отказали. Она одна, бездетная, мужа сто лет как похоронила.

Она перевела спокойный взгляд на Дмитрия:

— И выбора не было: родителям нужен постоянный канал лекарств, а тете Вале нужен кто-то рядом, чтобы не сгнить в четырех стенах. Мы с ней с детства душа в душу, она меня как родную дочь любила и всегда ждала. Я собрала один чемодан в двадцать два года и приехала к ней в Видное. Думала — аналитиком устроюсь. А кому ты в столице нужна без опыта и связей? Савельев взял в «Pulse» буквально с улицы — мыть кофемашину, таскать бумагу и менять картриджи в плоттерах.

Она машинально проверила подушечки пальцев — старый, въевшийся рефлекс десятилетней давности.

— Потом старшие дизайнеры начали сбрасывать на меня всю чернуху: адаптивные сетки, допечатную подготовку, каталоги на сотни страниц. Все хотели «творить концепты», а сидеть ночами и разбираться, почему макет ломает верстку на стороне разработчиков, дураков не было. Пришлось идти к нашим сисадминам и бэкендерам. Носила им пиво, сидела рядом, смотрела в консоль, чтобы понять, как данные вообще попадают в пиксели. А по ночам сидела в Видном и читала документацию Apple по human interface и открытые протоколы консорциума W3C. Со словарем.

— И тянете двоих сразу, — негромко вставил Марк.

— Мы распределили роли, — ровно ответила Алина. — Тетя держит дом, пока может ходить: готовит, стирает, суп горячий оставляет, встречает по ночам. А я закрываю весь внешний контур. Продукты, аптеки, деньги, коммуналка. Только математика там суровая: шестьдесят четыре тысячи за трехмесячный запас папиных лекарств. Каждые девяносто дней вынь да положь, иначе отек легких и реанимация. Из-за этого режим жесточайшей экономии годами. А сейчас… тете Вале назначен курс дорогих блокад в суставы, чтобы она вообще на ноги вставала без слез. И денег на них просто нет. Либо папино сердце, либо ее колени. Поэтому Савельев со своим двойным бонусом за «Спектр» для меня — единственный шанс купить тете эти уколы.

В лофте повисла тяжелая, густая тишина. Даже серверные стойки у стены гудели, казалось, тише. Марк медленно потер переносицу, опустив глаза: весь его привычный цинизм испарился.

Дмитрий отставил чашку на столешницу. Он шагнул чуть ближе, сокращая дистанцию, и посмотрел на нее сверху вниз. В его серых глазах не было снисхождения — проступило редкое, глубокое, очень теплое сочувствие, замешанное на горечи:

— Это адская ноша, Алина, — негромко, глуховато произнес он. — Десять лет тащить всё это на себе одной, без права на сбой… Так нельзя. Человек не из железа сделан.

Эти слова попали прямо под дых. На долю секунды внутри Алины всё оборвалось: горло перехватило горячим, удушливым спазмом, а в глазах предательски кольнуло. Ей до безумия, до крика хотелось, чтобы кто-то вот так подошел, увидел ее живой и просто сказал, что понимает, как ей тяжело.

Но десятилетняя привычка выживать сработала быстрее разума. За доли секунды лицо снова окаменело. Она на секунду замкнулась, отступив на шаг назад:

— Мне не нужно сочувствие, Дмитрий. Я не жалуюсь и не прошу поблажек. Это моя семья и мои обязанности. Я просто ответила на вопрос Марка о своей квалификации.

Ковалев на секунду замер, глядя на ее вспыхнувший, колючий взгляд. Он прекрасно видел, как дрогнули ее ресницы за мгновение до того, как захлопнулась эта броня, и всё понял без слов. Ни спорить, ни пробивать эту стену он не стал.

Он лишь молча забрал ее пустую чашку, отнес к раковине и повернулся к рабочим столам.

— Понял. Возвращаемся к делу. Марк, поднимай тестовый шлюз. Алина, экран привязки FIDO2. Времени мало.

Она молча села на свое место, положила пальцы на клавиатуру и глубоко выдохнула через нос, загоняя ком в горле как можно глубже. Экран вспыхнул темным фоном макета, и лофт снова погрузился в размеренный, монотонный гул работы.

Часы на стене лофта показывали без двадцати одиннадцать ночи.

Сетку модальных окон для FIDO2 и сценарии сетевых ошибок Алина закрыла полностью. В глазах стоял сухой песок, шею ломило от непрерывного сидения за монитором. Она сохранила проект, отправила ссылку на ветку Марку и потянулась к сумке-шопперу, прикидывая в уме расписание: на Павелецкий вокзал на метро она еще успевает, а вот последняя электричка на Расторгуево уходит в 23:42. Опоздает — придется куковать на вокзале до пяти утра или отдавать треть суточного бюджета местным бомбилам.

— Так, шабаш на сегодня, — Дмитрий захлопнул свой рабочий ноутбук. Он окинул взглядом ее собранную, застегнутую на все пуговицы фигуру и достал телефон. — Куда ехать?

— На Павелецкий вокзал, на метро двадцать минут, я успеваю, — быстро отчеканила Алина, закидывая ремень сумки на плечо.

— Никаких вокзалов. Адрес в Видном?

— Дмитрий, я в состоянии доехать на электричке, — в ее голосе привычно лязгнул металл. — Мне не нужно…

— Я не благотворительностью занимаюсь, Алина, — спокойно, без тени раздражения перебил он, уже вбивая заказ в приложении. — Мне завтра в десять утра нужен живой, адекватный арт-директор с работающей головой, а не зомби, замерзший на подмосковной платформе. Адрес?

Она замолчала на секунду, поджав губы. Бороться с этой стеной спокойной, непробиваемой мужской логики было бессмысленно.

— Советская, двадцать четыре.

Через три минуты у кованых ворот «Армы» уже мигала аварийкой серая «Оптима». Дмитрий лично проводил ее вниз, дождался, пока она сядет на заднее сиденье, и захлопнул дверь, коротко бросив водителю: «В Видное, без остановок».

Вернувшись наверх в гудящий серверами лофт, Ковалев налил себе стакан холодной воды и набрал номер. Трубку сняли на втором гудке — Савельев, как и положено старому номенклатурщику в кризисе, явно не спал.

— Слушаю, Дмитрий, — глухо прохрипел старик.

— Виктор, добрый вечер. По «Спектру». Алина на время спринта переходит работать полностью ко мне на «Арму». До пятницы. В «Pulse» ей появляться не нужно, чтобы не тратить время на дорогу и лишние пересуды в курилках.

Савельев помолчал секунду, шумно вздохнул и крякнул:

— Добро. С кадрами и пропуском сам утрясу. Главное — релиз выкатите.

— Выкатим. Доброй ночи.

Ковалев сбросил вызов, открыл приложение такси и оформил предварительный заказ «Комфорт плюс» от дома на Советской до Нижнего Сусального на 09:00 утра.

Затем открыл WhatsApp, нашел в рабочем чате контакт «Алина Воронова» и набрал короткое, сухое сообщение:

«С Савельевым оговорено, в Пульс не едете, работаем на Арме. Такси к вашему подъезду заказано на 9:00. Выспитесь».

Телефон на дубовом столе тихо звякнул, высветив две серые галочки доставленного сообщения в WhatsApp.

Дмитрий отложил трубку экраном вниз, налил себе еще полстакана холодной воды из кулера и подошел к окну. За стеклом в сырой ночной тьме мерцали тусклые фонари Нижнего Сусального, отражаясь в лужах на брусчатке.

Марк в своем кресле-мешке шумно откусил от яблока, пожевал и, прищурившись сквозь круглые очки, посмотрел на Ковалева снизу вверх:

— А она ведь очень симпатичная дама, Дим. Прямо очень.

Дмитрий медленно сделал глоток воды, глядя на темные круглые силуэты газгольдеров за стеклом, и негромко, спокойно ответил:

— Я бы даже сказал — красивая.

— О как, — Марк хмыкнул, перекатывая огрызок в пальцах. — Гранитный Ковалев признал наличие эстетики в живом объекте. Ну да, порода есть. Глазищи эти математические, осанка, как у балерины на пенсии. Но главное — котелок варит так, что любо-дорого смотреть. Редкий комплект. Обычно либо одно, либо другое, а тут прям комбо.

— Дело не в комбо, Марк, — Дмитрий чуть покачал головой. — Просто профессионал экстра-класса. Редкий.

— Да ладно тебе, не строй из себя академика, — беззлобно фыркнул Гольдман, швырнув огрызок точно в мусорную корзину у стойки. — Ты сам на нее смотришь так, будто у тебя монитор сменил разрешение с 1080p на 4K.

Марк потянулся, кряхтя поднялся на ноги и побрел к выходу:

— Ладно, я в душ и спать, пока твоя математичка нам завтра к десяти утра не выкатила пятьдесят новых экранов. Бывай.

Дверь хлопнула. В лофте снова воцарилась глухая, плотная тишина, разрезаемая лишь монотонным шелестом серверов в стойках.

Глава 5

Глава 5.

Дмитрий остался стоять у окна.

Слова Марка зацепили какую-то скрытую, неосознанную пружину. Он поймал себя на вопросе: а что он вообще в ней увидел первым? Там, в Сити, когда стеклянная дверь переговорной «Лондон» отъехала в сторону, а он переступил порог?

Профессионализм?

Ковалев усмехнулся одними уголками губ и потер ладонью двухдневную щетину на скуле. Кого он пытается обмануть? Какой к черту профессионализм в первые три секунды?

Первым делом он увидел именно женщину. Пронзительно красивую.

Он вспомнил эту картину в мельчайших деталях: сорок пятый этаж, сытый душный блеск Сити, за столом сидят трое мужчин и пустая блонда с пилочкой. А напротив — она. Тонкая, прямая, как натянутая струна. Строгий мужской блейзер, подчеркивающий хрупкие ключицы, гладкая линия темного каре, бледная кожа и этот матовый ягодный оттенок на четко очерченных губах. Но главное — глаза. Огромные, темные, смотрящие без страха и заискивания, за которыми чувствовалась глубина и выдержка.

Он тогда зафиксировал ее мгновенно, еще до того, как сел в кресло и положил ноутбук.

А потом уже были булева логика, вырезанная двухфакторка и FIDO2. Математика только легла поверх, как идеальный код на совершенное железо.

Дмитрий погасил свет в лофте, оставив лишь дежурные синие диоды стоек, взял куртку и вышел на холодную лестницу, чувствуя странное, давно забытое предвкушение завтрашнего утра.

Такси довезло ее до подъезда в Видном почти в полночь.

В крошечной двухкомнатной квартире стояла густая тишина, пахло валерьянкой и остывшим куриным бульоном. Тетя Валя уже спала, обложившись подушками.

Алина скинула ботильоны, не зажигая верхнего света, на ощупь разделась, умылась ледяной водой и рухнула на узкую кровать. Сил не осталось даже на то, чтобы надеть пижаму - так и заснула в одном белье.

Экран телефона на тумбочке коротко вспыхнул и тихо вибрировал. Она дотянулась до него одеревеневшей рукой, поднесла к лицу, щурясь от яркого белого света.

Сквозь мутную, накатившую тяжелой волной пелену сна буквы двоились. «Савельев... не в Пульс... такси... в 9:00». Мозг, перегруженный десятью часами непрерывной булевой логики и споров, не стал анализировать смысл. Пальцы разжались, телефон мягко упал на подушку, и Алина провалилась в глухую, черную пустоту без сновидений.

Она открыла глаза от странного, пугающего чувства: за окном было светло.

Никакого вибрирующего зуммера в 05:45, никакой ледяной темноты и сырого осеннего сквозняка из щелей старой рамы. Сквозь тюль пробивалось блеклое, но уже уверенное утреннее солнце.

Алина резко села на кровати, сжав пальцами одеяло. Сердце моментально пропустило удар, в горле пересохло от панического рефлекса: проспала. Десять лет агентской муштры не прощали опозданий даже на три минуты.

Она схватила телефон. На черном экране горели крупные белые цифры: 08:04.

Восемь утра. Такого с ней не случалось со студенческих времен. Целых семь часов непрерывного сна.

Палец скользнул по экрану, открывая ночной диалог в WhatsApp. Теперь строчки читались кристально ясно:

«С Савельевым оговорено, в Пульс не едете, работаем на Арме. Такси к вашему подъезду заказано на 9:00. Выспитесь».

Алина замерла, глядя на лаконичные фразы. Никаких смайликов, никаких дежурных вежливостей — только сухой, железный расчет человека, который привык отдавать четкие распоряжения. И за этим расчетом стояло нечто совершенно невероятное для ее привычного московского ада: ей подарили лишних два с половиной часа жизни. Без давки на станции Расторгуево, без пересадок на кольцевой и без чавканья подмосковной слякоти под ногами.

Из кухни донесся тихий звон посуды и шаркающие, тяжелые шаги тети Вали.

Алина опустила ноги на прохладный линолеум, провела ладонями по лицу. Голова была на удивление легкой, ясной. У нее оставалось ровно пятьдесят шесть минут, чтобы собраться, выпить чаю и выйти к подъезду.

На кухне пахло свежезаваренным черным чаем и поджаренным на сковороде вчерашним батоном.

Тетя Валя, привалившись бедром к старому разделочному столу, осторожно переворачивала гренки широким ножом. На ней был фланелевый халат в мелкий блеклый горох, а колени туго, крест-накрест стягивали толстые эластичные бинты. Услышав скрип половиц, она вздрогнула, обернулась и от неожиданности выронила нож на застеленную клеенкой столешницу:

— Господи, Алинка! — старушка прижала ладонь к груди, щурясь сквозь круглые линзы очков. — Ты чего это? Заболела? Восьмой час пошел, ты ж в это время уж на платформе обычно мерзнешь!

— Всё в порядке, теть Валь, жива-здорова, — Алина мягко улыбнулась уголками губ, шагнула к ней и осторожно поцеловала в мягкую, пахнущую хозяйственным мылом и ванилью щеку. — Работу перенесли. Сегодня прямо к заказчикам еду, не в агентство. И не на электричке.

Она села на табурет у окна, обхватив ладонями горячую кружку с крепким чаем. В груди всё еще отзывалось непривычное, почти забытое чувство покоя: тело за семь часов сна успело отогреться, в висках не стучало, а перед глазами не плыла серая муть подмосковного утра.

— Как это — не на электричке? — тетя Валя настороженно нахмурилась, выкладывая румяную гренку на блюдце перед племянницей. — А на чем же? Автобусы-то до Москвы в такое время намертво стоят у МКАДа.

— Машину пришлют. Такси, прямо к подъезду.

Старушка замерла с лопаткой в руке, недоверчиво покачав головой:

— Ишь ты… За казенный счет, что ли? Это ж бешеные тысячи отдай от нас до центра-то. Савельев твой расщедрился? Он же за лишний коробок спичек удавится.

— Партнеры новые оплатили, — спокойно отозвалась Алина, откусывая хрустящий хлеб. — Проект срочный, им нужно, чтобы я не тратила по два часа на дорогу и голова свежая была.

— Вот и слава богу, — вздохнула тетя Валя, тяжело опускаясь на соседний стул и с тихим стоном вытягивая ноющую ногу. — Хоть человеком себя разок почувствуешь, а не селедкой в бочке. А то смотреть на тебя больно, Алин: одни глаза на лице остались, как у сироты казанской.

Ровно в 08:52 телефон на столе коротко звякнул уведомлением: «Вас ожидает черная Kia Optima, номер 412».

Алина оделась без спешки: те же прямые шерстяные брюки со стрелками, тонкий кашемировый джемпер графитового цвета, строгий жакет. Никаких пакетов со сменкой и растоптанных подмосковных сапог — ботильоны из тонкой итальянской кожи она надела прямо в прихожей.

Тетя Валя подошла к окну, отодвинула край пожелтевшего тюля и выглянула во двор.

Внизу, между покосившимися сушилками для белья и разбитыми ямами в асфальте, аккуратно припарковался длинный, вымытый до зеркального блеска седан. Водитель в строгой куртке уже вышел из машины, оглядывая облупленный козырек пятиэтажки. Соседка со второго этажа, шедшая с мусорным ведром, даже притормозила, с откровенным любопытством разглядывая столичного гостя.

— Ох ты батюшки… — прошептала тетя Валя, прижав пальцы к губам. — Гляди-ка, Алин, и правда стоит. Черный, чистый, будто из кино. Ты давай, иди, не заставляй человека ждать. И телефон держи под рукой, мало ли что.

— Буду на связи, теть Валь. Суп на плите не трогай, я вечером разогрею, и береги спину.

Когда подъездная дверь захлопнулась, холодный осенний ветер едва успел коснуться лица Алины: водитель среагировал мгновенно, шагнул навстречу и распахнул перед ней заднюю дверцу.

— Алина? Доброе утро. Нижний Сусальный, дом пять?

— Доброе утро. Да, всё верно.

Дверь мягко захлопнулась с глухим дорогим звуком, отсекая промозглый воздух Видного, запах прелых тополей и серые фасады хрущевок.

В салоне тихо играл инструментальный джаз, пахло дорогим салонным кондиционером, а сиденье мягко подогревало спину. Машина плавно тронулась, переваливаясь через подмосковные ухабы, и через пять минут уже катила по гладкому полотну трассы в сторону столицы.

Алина откинулась на кожаный подголовник и прикрыла глаза. Она не открывала ноутбук и не проверяла почту. Впервые за десять лет она просто смотрела, как за тонированным стеклом проносятся серые лесополосы, развязки, а затем — парадный гранит набережных Яузы.

Она ехала на работу не как загнанная лошадь, а как специалист, чье время и силы имеют реальную, высокую цену. И организовал это не Савельев со своими вечными манипуляциями, а спокойный, колючий мужчина с двухдневной щетиной, который вчера вечером молча закрыл за ней дверь такси.

Лишь после десяти седан плавно затормозил у чугунных ворот бывших газовых резервуаров «Армы».

Алина поблагодарила водителя, ступила каблуками на влажную клинкерную брусчатку и подняла глаза на высокие арочные окна заводского лофта. Там, на четвертом этаже, уже горел теплый свет.

Чувство было совершенно чужим, почти пугающим своей новизной.

Алина стояла на влажной брусчатке «Армы», глядя на освещенные арочные окна четвертого этажа, и вдруг поймала себя на мысли: она рада идти на работу.

Для человека, у которого каждое утро последние десять лет начиналось со спазма в челюсти и глухой ненависти к будильнику, это казалось почти патологией. Обычно подъем означал войну: выдержать давку в тамбуре, натянуть броню в туалете Сити, пережить сальные взгляды Павлова, перетерпеть самодурство клиентов и тупость менеджеров. Работа была каторгой, барщиной, которую она отбывала ради выживания семьи.

А сейчас внутри разливалось тихое, жадное нетерпение.

Она не могла до конца препарировать это состояние своим строгим математическим умом.

Рада тому, что предстоит делать? Несомненно. Впервые за годы ей дали не замазывать чужие косяки и не двигать бессмысленные плашки под капризы инвесторов, а решать красивую, сложную инженерную задачу. Чистый матан, архитектура без компромиссов, где каждый пиксель отвечает за безопасность системы. Это пьянило.

Или дело было в том, с кем она будет это делать?

Перед глазами тут же встало спокойное лицо Ковалева с жесткой щетиной, его сухие сильные руки, настраивающие кофемашину, и этот глуховатый, низкий голос, в котором звенела железная уверенность. Рядом с ним не нужно было прикрывать спину и ждать удара. Рядом с ним и язвительным, но чертовски умным Марком она чувствовала себя равной среди равных, а не обслуживающим персоналом на птичьих правах.

А может — сумме всех этих слагаемых ?

Алина перехватила ремень сумки-шоппера, выдохнула в прохладный воздух прозрачное облачко пара и усмехнулась — легко, без привычной горечи. Не всё ли равно, какая переменная перевешивает в этом уравнении, если итоговый результат наконец-то дает ей возможность дышать?

Она решительно толкнула тяжелую железную дверь с кодовым замком и зашагала вверх по широким ступеням старой чугунной лестницы.

Каблуки ботильонов звонко отсчитывали секунды до четвертого этажа.

Чугунная дверь четвертого этажа подалась с глухим металлическим щелчком, впустив Алину в тепло кирпичного лофта.

Здесь пахло свежесмолотым кофе и нагретым кремнием. Марк уже сидел за своим столом в неизменных красных кедах и мятой толстовке, увлеченно вбивая команды в терминал. Дмитрий стоял у хромированной стойки La Marzocco в темно-синем хлопковом лонгсливе с подвернутыми рукавами.

Услышав стук ее каблуков, он обернулся. Внимательный взгляд серых глаз скользнул по ее лицу, зафиксировав отдохнувший вид без следов вчерашнего песка под веками.

— Доброе утро, Алина. Как доехали?

— Без единой кочки, спасибо, — отозвалась она с легкой, несвойственной ей раньше полуулыбкой, снимая жакет. — Такси в Видное прямо к подъезду — это сильный ход. Тетя Валя решила, что за мной прислали из министерства.

Дмитрий усмехнулся одними уголками губ и протянул ей толстостенную белую чашку с плотной ореховой пенкой:

— Без сахара, как вы любите.

Пальцы Алины на секунду коснулись его ладони — сухой, горячей и уверенной. В груди отозвалась та странная, будоражащая волна, от которой она отмахнулась на улице. От Дмитрия исходил очень тонкий, сдержанный аромат — горький кедр, холодный можжевельник и чистый плотный хлопок. Никакого тяжелого парфюма.

— Спасибо. Что у нас по тестовому стенду?

— Затык, — Марк шумно развернулся на кресле, ткнув пальцем в левый экран. — Подняли тестовую ноду под эмулятор iOS. И наш FIDO2-хэндшейк валится ко всем чертям. Британцы требуют в аттестации флаг userVerification: required. Это значит — системный вызов биометрии через LocalAuthentication. А твой экран онбординга сначала запрашивает согласие на обработку персданных, и только потом инициирует сессию.

— И в чем проблема? — Алина подошла ближе, открывая ноутбук. — Пользователь сначала соглашается с регламентом, потом прикладывает палец или сканирует лицо. Это нормальный законный флоу.

— Проблема в том, что ты мыслишь экранами, а не сокетами! — Марк аж подскочил, взъерошив темные кудри. — Пока юзер читает твою простыню мелким шрифтом, лондонский балансировщик держит открытый сокет. На двенадцатой секунде простоя он шлет TCP FIN и рвет соединение! Мы не можем держать сокет открытым, пока человек тупит в текст соглашения.

— Значит, сокет не надо открывать заранее, Марк, — резко парировала Алина, скрестив руки на груди. — Ты открываешь сессию до того, как клиент вообще подтвердил намерение. Зачем? Чтобы повесить сетевой поток? Инициализация соединения должна происходить строго по триггеру согласия, на событии onConsentAccepted().

— Нет, не выйдет, — в спор вмешался Дмитрий. Он пододвинул тяжелый стул, сел рядом и оперся локтями о стол, сокращая дистанцию. Запах можжевельника и кедра стал отчетливее. — Если выносить открытие сокета на событие клика, мы упираемся в задержку TLS-рукопожатия. На плохом мобильном интернете это дополнительные шестьсот миллисекунд. Человек тапнул — и экран висит. В регламенте британцев черный по белому написано: время отклика интерфейса на первичном шаге верификации — не более трехсот миллисекунд. Иначе аудит безопасности ставит пометку «подозрение на MITM-атаку или перехват сессии».

Алина прищурилась, глядя прямо в глаза Дмитрию:

— Вы сейчас предлагаете пожертвовать прозрачностью ради синтетического бенчмарка? Если мы спрячем вызов биометрии до согласия, любой европейский регулятор по GDPR сожрет этот релиз вместе с потрохами! Нас засудят в первый же день.

— Регуляторы не увидят нарушения, если мы свяжем сессии криптографически, — не повышая тона, жестко ответил Ковалев. — До согласия мы генерируем только временный анонимный challenge в оперативной памяти. Никаких персональных данных, никакого Face ID.

— А ключ куда пишем? — перебил Марк, поворачиваясь к ним обоим. — Если юзер нажмет «Отмена», куда денется сгенерированная ключевая пара? Она останется висеть мусором в Secure Enclave? На третьей отмене система заблокирует обращение к анклаву на аппаратном уровне. Apple не дает чистить ключи без подтверждения мастер-паролем устройства!

В комнате повисла тяжелая, гудящая пауза.

Марк уперся взглядом в логи консоли, Дмитрий буравил глазами распечатанную схему британских требований, а Алина медленно постукивала ногтем по краю стола. Снова включилась та самая математическая злость, когда система отказывается сходиться в красивую замкнутую формулу.

Она сделала глубокий вдох, прикрыла глаза на две секунды, мысленно раскладывая поток на чистые дискретные состояния: клиент, локальный анклав, сервер очередей, лондонский валидатор.

— Мы выворачиваем архитектуру наизнанку, — негромко, но с железной уверенностью произнесла она.

Марк и Дмитрий одновременно посмотрели на нее.

— Смотрите сюда, — Алина открыла планшет и быстро набросала блок-схему. — Марк, твой бэкенд не держит постоянный сокет. Мы используем двухфазный асинхронный сплит-хэндшейк. Первый шаг: клиент открывает экран. Приложение в фоне, по REST, забирает с лондонского сервера разовый nonce — одноразовую случайную строку с таймлайном жизни в шестьдесят секунд. Сокет закрыт. Ресурсы не висят.

Она перевела стилус на следующий блок:

— Второй шаг: юзер читает текст и жмет «Согласен». В этот микромомент системная шторка Face ID сканирует лицо и подписывает этот nonce внутри анклава закрытым эфемерным ключом. На это уходит ровно сорок миллисекунд. И только третьим шагом мы открываем быстрый WebSocket и пуляем готовый криптографический пакет прямо в британский узел.

Марк замер с открытым ртом. Он моргнул раз, другой, поправил съехавшие на кончик носа очки и вперился в схему:

— Погоди... То есть мы убираем постоянное соединение на этапе чтения и отдаем британцам уже подписанный пакет в рамках одного быстрого вызова?

— Именно. И никакого мусора в анклаве: если пользователь жмет «Отмена», временный nonce просто сгорает на сервере по тайм-ауту через шестьдесят секунд, а приватный ключ в телефоне даже не инициализируется.

Дмитрий молча смотрел на чертеж, а затем медленно перевел взгляд на Алину. В его глазах читалось редкое мужское уважение — признание абсолютного превосходства логики над сырым кодом.

— А что по таймингу британцев? — тихо спросил он, чуть наклонившись к ней.

— Чистый сетевой вызов займет сто двадцать миллисекунд, — четко отчеканила Алина, выдержав его близкий взгляд. — Мы с запасом укладываемся в ваши триста миллисекунд. И GDPR чист, и комплаенс доволен.

Марк с грохотом шлепнул ладонью по дубовой столешнице:

— Черт побери, Алина! Это же идеальный костыль без единой щепки! Димка, почему твои лондонские умники с их гарвардскими дипломами не доперли до разделения сессий?

Дмитрий едва заметно усмехнулся, покачав головой:

— Потому что в Гарварде учат следовать инструкциям, а не выживать с макетами наперевес. Собирай ветку, Марк. Алина, прорисовывай состояния для всех типов ошибок — отказ биометрии, протухший nonce, сбой сети. Мы пустим этот сценарий на нагрузочный тест.

Она коротко кивнула, открывая Фигму. Воздух в лофте словно разрядился, наполнившись чистым, яростным рабочим ритмом.

Глава 6

Глава 6.

Следующие два часа лофт напоминал операционную перед сложнейшей резекцией.

Марк пересобирал эндпоинты, непрерывно щелкая механической клавиатурой и вполголоса матеря специфику яблочных системных вызовов. Алина с хирургической точностью вычищала интерфейс: отрисовала все пять переходных микросостояний кнопки, добавила плавную анимацию размытия фона и жестко зашила системный таймер обратного отсчета для сгорающего nonce.

— Готово, — выдохнула она, отпуская тачпад. В плечах уже противно ныло, но пальцы держали ровный темп. — Сетка завязана на события веб-сокета. Если сервер не отдаст подтверждение за сто пятьдесят миллисекунд, экран мягко откатит сессию без мертвого зависания.

— Мой контур тоже на ногах, — Марк с хрустом потянул пальцы и сдул упавшую на нос кудрявую прядь. — Поднял стенд: сотня параллельных виртуальных потоков с искусственной имитацией отвратительного мобильного соединения. Дим, врубаем боевой прогон?

Дмитрий шагнул ближе, встал между ними, упершись одной рукой в край дубовой столешницы, а другой — в спинку свободного стула. Вся его напускная сдержанность куда-то испарилась: он шумно, глубоко вдохнул, шутливо перекрестил пальцы и азартно, с кривой ухмылкой бросил:

— Врубай, шаман. Либо мы гении, либо до вечера пишем объяснительные британцам.

Марк с размаху вдавил клавишу Enter.

На левом мониторе стеной полились зеленые строки логов. Эмулятор начал методично долбить тестовый шлюз пакетами запросов. Секунда, две, три…

Первые двадцать потоков чисто забрали разовые nonce и ушли в спящий режим. На двадцать пятой секунде скрипт сымитировал клик и вызов биометрии.

В консоли на миг вспыхнула желтая строка ожидания, на экране смартфона в руках Алины индикатор плавно крутанулся — и тут же сменился глубоким, матовым изумрудным градиентом успеха.

Внизу окна терминала замерла финальная строчка:

Plaintext

HTTP/2 200 OK — Handshake latency: 118ms — Token ID: #984F-VALIDATED

— Сто восемнадцать миллисекунд… — Марк на секунду онемел, таращась в экран сквозь круглые стекла очков, а потом дико, на весь лофт захохотал и от души врезал кулаком по системному блоку: — Сто восемнадцать! Да британцы от такой скорости свои парики намотают на уши! Все сто потоков закрылись чисто, ни единого сокета не повисло! Пробило!

Дмитрий не остался стоять монументом.

Он шумно, с хриплым выдохом откинул голову назад, зажмурился и с силой провел обеими ладонями по лицу, растирая виски и заросшие щетиной скулы. Вся броня взрослого хладнокровного аудитора слетела в секунду, обнажив дикую усталость и сумасшедший, чистый восторг:

— Твою мать, пробило… — вырвалось у него негромко, но с таким бешеным облегчением, что Алина даже вздрогнула.

Он сгреб со стола пустую кофейную чашку, повертел в пальцах и весело, открыто рассмеялся, пихнув Марка кулаком в плечо: — А ты ныл, что яблочники заблокируют сборку! Видал? Скушали и добавки попросили!

Потом Ковалев повернулся к Алине. Глаза у него горели — азартным, теплым огнем мужика, который только что вместе с ней вытащил безнадежную партию из огня. Он оперся бедром о край ее стола и посмотрел на нее с такой широкой, обезоруживающей улыбкой, что морщинки в уголках глаз собрались в озорные лучики:

— Алина, вы просто ведьма. Честное слово. Я на сотой миллисекунде уже мысленно прикидывал, какую неустойку с нас потребует лондонский борд и сколько лет мне придется ее отрабатывать.

— Я инженер, Дмитрий, а не ведьма, — парировала она, но уголки губ дрогнули в ответной, живой и искренней улыбке. Внутри у нее все пело от пьянящего триумфа.

— Одно другому не мешает, — фыркнул Марк, с грохотом отодвигая кресло на колесиках. Он потянулся всем телом и схватился за живот: — Так, гении криптографии, шабаш. Мой желудок сейчас начнет переваривать собственные внутренности. Я пошел на улицу за жратвой, иначе следующий экран я закодирую на чистом матерном.

Марк уже стягивал со спинки кресла ветровку, попутно выгребая из карманов карточки и ключи:

— Так, я метнусь на Сыромятническую. Дим, ты чего будешь?

— Возьми у ливанца за углом шаверму в лаваше, — Дмитрий потер шею, довольно выдохнув. — С двойной курицей, но без чесночного соуса, в прошлый раз он у него горький был.

— Принято. А Алине? — Марк вопросительно уставился на нее поверх очков.

— Спасибо, Марк, я… — начала было она по привычке отказываться, но Дмитрий перебил ее с мягкой, безапелляционной улыбкой:

— Возьми две одинаковых. И не спорьте, Алина, вы с утра на одном кофе, это уже диверсия против собственного желудка.

— И для Илюхи прихвати, — добавил Ковалев, кивнув в сторону дальней двери серверной. — Он до шести утра кластер пересобирал, спит без задних ног. Только попроси ливанца завернуть ему в фольгу и пищевую пленку, чтоб не вытекла, когда проснется.

— Базара ноль, упакуем по высшему разряду, как секретный бэкап, — Марк накинул капюшон и подмигнул Алине. — Через двадцать минут буду. Держите оборону и не вздумайте без меня ронять прод.

Тяжелая железная дверь гулко хлопнула за ним, отрезав звуки внешнего мира.

В лофте сразу стало непривычно просторно и спокойно. Только серверы у дальней стены продолжали монотонно шуршать своими кулерами, да за высокими арочными окнами сквозь осеннюю дымку пробивалось яркое, почти теплое полуденное солнце.

Дмитрий с наслаждением потянулся, стащил через голову лонгслив, оставшись в темно-серой футболке, подошел к кухонному закутку и нажал кнопку чайника:

— Ну что, Алина. Пока ливанец крутит наше спасение от голодной смерти — десять минут тишины? Заварю чабрец с мятой.

Она посмотрела на него — домашнего, растрепанного, с кружкой в руке — и впервые за последние сутки почувствовала, как внутри окончательно растаяло напряженное оцепенение.

— Давайте чабрец, — негромко согласилась она и шагнула к залитому солнцем широкому подоконнику.

Чайник сухо щелкнул, отключаясь. Дмитрий залил кипятком темно-зеленую смесь сухих листьев в прозрачном френч-прессе, и лофт мгновенно наполнился пряным, летним духом сушеного чабреца и перечной мяты.

Он разлил настой по двум кружкам, подошел к окну и протянул одну Алине. Та приняла горячий фарфор обеими ладонями, грея озябшие пальцы. Внизу, за старыми стеклами с легкими радужными разводами, медленно катила мутные осенние воды Яуза.

— Вы с Марком давно работаете? — спросила Алина, сделав осторожный глоток. — Не похоже на обычных наемных партнеров. Слишком слаженно переругиваетесь.

Дмитрий усмехнулся в кружку, оперся бедром о широкий кирпичный подоконник и покачал головой:

— Со школы еще. Физико-математический лицей, одна парта, драки за последние булки в столовой. Потом вдвоем пошли на ФАКИ в МФТИ. Вот там нас знатно прополоскало. Гоняли на студенческие олимпиады по прикладному программированию, рубились не на жизнь, а на смерть с бауманцами и питерским ИТМО. Оттуда и пошел азарт ковырять защиту. В конце двухтысячных — начале десятых безопасность еще казалась чем-то маргинальным — сисадмины пароли на бумажках клеили к мониторам, а мы уже понимали, что за протоколами шифрования всё будущее.

Он помолчал, глядя, как по набережной ползет желтый поливальный грузовик.

— А потом Марк взял и свинтил в Израиль. На целых полтора года. У него там родня по материнской линии, корни позвали, ну и просто башню сорвало — захотел посмотреть, как там всё устроено.

— И бросил вас одного? — Алина чуть повернула к нему лицо, с любопытством вглядываясь в его профиль.

— Да мы тогда еще конторой не были, так, шабашили по мелочи, — Дмитрий пожал плечами, не скрывая старой досады, давно ставшей просто историей. — Пришлось крутиться самому. Полез в аудит банковской инфраструктуры. На тяжелом внедрении ядра для одного зеленого гиганта пересекся с Ильей. Илюха тогда у них бэкенд держал в одиночку, сутками не вылезая из серверной. Мы быстро спелись: я видел архитектуру в целом и дыры в регламентах, он знал железо до каждого транзистора. Стали брать заказы вдвоем, доросли до первых серьезных контрактов.

Он сделал глоток горячего чая и улыбнулся — открыто, с тем озорным блеском, который она видела у него во время теста:

— И тут, как снег на голову, возвращается блудный Гольдман. Загорелый, в шортах и с горящими глазами. Но главное — он привез с собой такие контакты из Тель-Авива и Герцлии, что мы на местном рынке просто выпрыгнули из штанов на две головы выше всех остальных.

— Израильский сектор безопасности? — понимающе кивнула Алина. Математическая выучка давала о себе знать: о тамошней школе криптографии ходили легенды.

— Он самый. Израиль еще с конца девяностых стал мировой Меккой кибербезопасности, а сейчас это вообще неоспоримый мировой топ. Там совершенно другая плотность идей и технологий на квадратный метр. Мы до сих пор регулярно туда мотаемся — учиться, обмениваться практикой, щупать новые протоколы до того, как они станут глобальным стандартом. Иначе в нашей профессии нельзя: отвлекся на полгода — и ты динозавр. Да, тяжело, мозги порой плавятся, спать приходится по 3-4 часа, как Илюха сейчас. Но учиться у лучших никогда не зазорно.

Алина посмотрела на гладкую поверхность своего чая, в которой дрожало отражение кирпичного свода.

— Понимаю, — тихо отозвалась она. — Когда понимаешь масштаб задачи, усталость отходит на второй план. Стыдно делать криво, когда знаешь, как выглядит настоящее совершенство.

Дмитрий повернулся к ней. В его взгляде промелькнуло не просто понимание, а глубокое созвучие — словно они говорили на одном, только им двоим понятном наречии посреди огромного, вечно суетящегося города.

— Мне кажется, Алина, поэтому вы сейчас здесь, — негромко произнес он, и в тишине лофта его голос прозвучал удивительно тепло. — Вы из той же породы.

Тяжелый щелчок нижнего замка на чугунной двери оборвал повисшую паузу: со ступеней лестницы донеслось бодрое пыхтение Марка.

Тяжелая дверь лофта распахнулась с грохотом. Он вернулся подозрительно быстро — прошло от силы минут двенадцать. В руках победно сжимал два объемных крафтовых пакета, от которых на весь этаж шел одуряющий пар с запахом поджаренной на углях курицы, кориандра и свежего лаваша.

— Ты на ракете летал, что ли? — Дмитрий оторвался от подоконника, удивленно вскинув бровь.

— Спецслужбы не выдают своих связей, — ухмыльнулся Марк, сгружая добычу на разделочный стол. — У Азиза небольшая очередь стояла, но я просто сказал, что у нас горит аудит, и помахал котлетой наличных. Его помощник мне без очереди завернул четыре одинаковых богатырских свитка. Все как заказывали: двойное мясо, маринованные огурцы, без чеснока.

— Почему четыре? — уточнила Алина, подходя ближе.

— Три для нас, а четвертую — Илюхе, — Марк бережно извлек увесистый сверток, туго закатанный в несколько слоев фольги и плотную пищевую пленку.

Он решительно открыл дверцу морозилки под кулером и уложил сверток на решетку верхнего отсека:

— Режим шоковой заморозки. Проверено в боевых условиях на трех прошлых спринтах: лаваш схватывается, сок не успевает размочить тесто, а овощи не превращаются в кашу. Когда наш сонный сурок выползет из своей берлоги, кинет на три минуты в микроволновку на разморозку и получит свежайшую шаверму, будто Азиз только что снял ее с вертела. Технологии, блин, и математика!

— Ладно, инженер криогеники, садись уже, — Дмитрий со смешком достал бумажные салфетки и выставил на широкий дубовый стол три кружки с горячим чабрецом и мятой.

Они сели втроем за край общего рабочего стола, прямо напротив погасших тестовых мониторов.

Теплый еще, хрустящий лаваш не обжигал пальцы, но был свежайшим. Первые несколько минут в лофте стояло сосредоточенное, благоговейное молчание, нарушаемое только аппетитным хрустом и довольным урчанием наполняющихся желудков. Голод, заглушаемый у Алины кофеином и адреналином последние трое суток, внезапно взял свое — мясо было сочным, с легким дымком и идеальным балансом специй.

Марк, пережевывая внушительный кусок, довольно прищурился из-за очков:

— Скажи, Дим, лучше всяких устриц в Сити?

— Небо и земля, — Дмитрий промокнул пальцы салфеткой и с неприкрытым удовольствием посмотрел на Алину, которая аккуратно, но с явным аппетитом откусывала свой лаваш. — Ну как, Алина? Жить можно?

— Очень вкусно, — искренне, с теплой улыбкой призналась она, ощущая, как горячая сытная еда окончательно прогоняет остатки внутреннего холода. — И никакой столичной чопорности.

— В нашем деле пафос только мешает обзору, но вот хумуса не хватает. А Азиз явно знает толк в хумусе… — хмыкнул Марк, расправляясь со своей половиной. — Сейчас доедим, и надо добивать второй контур: привязку резервного восстановления ключа. Илюха к трем часам как раз очухается, разморозит свой паек и подключится к репликации базы.

— Хумуса? — Алина с легким недоумением посмотрела на Марка, откладывая салфетку. — В шаверму? Я думала, это просто холодная закуска из нута, которую в ресторанах подают с пресными лепешками. Какая-то безвкусная серая паста.

Марк чуть не поперхнулся куском лаваша, выпучил глаза за круглыми стеклами и трагически схватился за сердце:

— Господи, Димка, ты слышал? Безвкусная серая паста! Она ела московский магазинный хумус из пластиковых банок! Это же преступление против человечности!

Дмитрий негромко рассмеялся, откинувшись на спинку стула и допивая остывающий чай:

— Не заводись, Марк. Алин, в наших супермаркетах и правда продают замазку для окон под видом ближневосточной кухни.

— Да какая замазка, это кощунство! — Гольдман эмоционально взмахнул руками, чуть не смахнув пустую банку из-под газировки. — Алина, забудь всё, что ты знала. Настоящий хумус — это религия. Это когда свежий, горячий нут перетирают с правильной тхиной — кунжутной пастой, понимаешь? Туда идет чеснок, правильный лимонный сок, зира, и всё это взбивается до состояния нежнейшего шелкового мусса. Не холодного из холодильника, а чуть теплого!

Он подался вперед, жестикулируя так, будто расписывал архитектуру квантового процессора:

— Берешь горячую, толстую питу, ну, или лафу, которая только что надулась в печи, макаешь ее прямо в центр тарелки, где налито густое оливковое масло первого отжима и насыпан сумах… И в шаверму его мажут тонким слоем на питу изнутри! Он дает кремовость, баланс кислого и орехового. А если сверху еще бросить кедровые орешки и ложку теплого цельного нута — так называемый хумус «масабаха» — то всё, можно сдавать паспорта и оставаться в Яффо навсегда.

— Звучит… неожиданно аппетитно, — признала Алина, глядя на его горящие глаза. — Ты так о криптографии не рассказываешь, как о гороховой каше.

— Потому что криптография — это работа, а хумус — это фундамент мироздания, — не моргнув глазом, отрезал Марк. — Спроси у Ковалева. Он, пока со мной в Тель-Авив не слетал, тоже думал, что лучшая еда на свете — это пельмени из морозилки.

Дмитрий усмехнулся, покачав головой:

— Пельмени ничем не хуже, Марк. Но насчет хумуса в переулках Яффо или около рынка Кармель ты был прав. Спорить не буду, это фантастика.

— Вот именно! — Марк победно дожевал последний кусок лаваша и скомкал фольгу. — Закончим со «Спектром», получим савельевские миллионы — лично свожу вас в правильное еврейское место на Покровке. Там хозяин из Хайфы, делает один в один как на родине. Будешь макать питу и плакать от счастья, ручаюсь.

Алина невольно улыбнулась — тепло, открыто, поймав себя на том, что перспектива выбраться куда-то вместе после спринта уже не вызывает у нее желания выстроить глухую стену.

Остатки обеда быстро перекочевали в мусорную корзину, а на дубовом столе вновь воцарился суровый рабочий порядок.

Следующие два часа пролетели в монотонном, плотном стуке клавиш. Марк натягивал логику резервного восстановления ключа через схему Шамира, разделяя секрет на три независимых зашифрованных фрагмента. Алина на своем экране собирала для этого интерфейс — строгий, математически выверенный экран аварийного доступа, где пользователю не нужно было разбираться в эллиптических кривых: система запрашивала два доверенных контакта и кодовое слово. Дмитрий сидел рядом, просматривая сырой код Марка и сверяя структуру пакетов с регламентом лондонского комплаенса.

Около половины четвертого тяжелая металлическая дверь серверной скрипнула.

В полумрак лофта выбрался Илья — двухметровый бородатый детина в растянутых спортивных штанах и черной футболке с надписью «Kernel Panic», со всклокоченными русыми волосами и красным следом от подушки на щеке. Он подслеповато сощурился от дневного света, звучно зевнул и вдруг замер на полушаге, уставившись на незнакомую девушку за общим столом.

Сон с него слетел моментально. Он неловко натянул край футболки пониже, окинул растерянным взглядом ее строгий жакет, графитовый джемпер и идеальную осанку, а потом вопросительно уставился на Ковалева:

— Э-э… Дим? Я что-то пропустил, пока спал? К нам аудит приехал?

Марк прыснул в кулак, чуть не свалившись с кресла.

— Проснулся, Маугли, — Дмитрий усмехнулся, вставая из-за стола. — Знакомься. Это Алина Воронова, арт-директор «Спектра» и главный архитектор нашего утреннего спасения. Алина, это Илья, наш ведущий бэкендер и повелитель серверных стоек. Он обычно выглядит приличнее, но сегодня ночью пересобирал тестовый кластер под британские ключи.

Илья смутился еще больше, торопливо пригладил ладонью торчащий вихор на макушке и протянул широкую пятерню:

— Очень приятно, Алина. Вы извините за вид… После ночной смены соображаю туго.

— Взаимно, Илья, — она сдержанно, но мягко пожала его пальцы, оценив его гигантский рост. — И спасибо за кластер. Без вашей ночной работы мы бы утром шлюз не пробили.

— Да ладно, чего там… — он с облегчением выдохнул, поняв, что чужих здесь нет, и тут же потянул носом воздух. — Стоп. А чем это у вас так пахнет? Вы жрали без меня?

— Никто тебя не обделил, великан, — ухмыльнулся Марк, ткнув пальцем в холодильник. — — В морозилке лежит боевой паек от Азиза. Ливанская шаверма в лаваше, двойная курица, без чеснока. Заморожена по ГОСТу. Три минуты в микроволновке на разморозке — и будет как из печи.

Илья оживился, прошаркал босыми ногами к холодильнику, бережно извлек увесистый сверток. Быстро распотрошил защитные слои, содрал блестящую фольгу с пленкой, бросил освобожденный лаваш на плоскую тарелку и сунул внутрь. Через секунду микроволновка весело зажужжала, а сам он налил себе в пол-литровую кружку воды из кулера и привалился к столешнице, жадно наблюдая за вращающейся тарелкой.

Глава 7

Глава 7.

В этот момент телефон Алины на столе ожил.

Аппарат требовательно завибрировал, подпрыгивая на лакированном дереве. На темном стекле высветилось имя, набранное капсом: САВЕЛЬЕВ В.П.

В лофте сразу стало тише. Марк перестал стучать по клавишам, а Дмитрий чуть приподнял бровь, глядя на экран:

— Ну вот и высокое начальство созрело. Включайте громкую, послушаем, как там пульс у «Пульса».

Алина смахнула зеленую трубку и нажала значок динамика, положив смартфон ровно посередине между собой и Дмитрием:

— Добрый день, Виктор Павлович.

Из динамика тут же вырвался тяжелый, астматический вздох старика, перемежаемый далеким шумом принтера и гулом офисного опенспейса на сорок пятом этаже Сити.

— Алина? Слава богу, на связи, — голос Савельева звучал глухо, хрипло, с явными нотками загнанного в угол зверя. — Как у вас там обстановка? Ковалев рядом?

— Да, Виктор Павлович, мы работаем, — спокойно и ровно ответила Алина, бросив короткий взгляд на Дмитрия. — Дмитрий здесь, вся команда в сборе.

— Докладывай, что успели, — потребовал старик, судя по звукам, нервно чиркая зажигалкой. — Тут в «Сити» форменный дурдом. Токаев с Павловым, перед тем как трудовые забрать, развели вонь, что проект мертв, что мы сорвем сроки и попадем под штрафы. Юристы британцев уже дважды за утро звонили, требуют подтверждения, что четверг остается финальной датой приемки. Если мы покажем пшик — это банкротство, Алина. Лично мое и конторы.

Алина выпрямила спину. В ее голосе не осталось ни капли неуверенности или страха перед грозным шефом — только холодная, безупречная фактура:

— Передайте британцам, что релиз будет в четверг, как прописано в договоре. Основную архитектурную проблему мы решили еще до обеда. Ошибку 422 сняли полностью: перевели авторизацию на двухфазный асинхронный сплит-хэндшейк. Тестовый стенд под нагрузкой в сто потоков показал среднее время отклика сто восемнадцать миллисекунд при допустимом лимите в триста. Протоколы комплаенса закрыты на сто процентов.

На том конце повисла секундная тишина, нарушаемая лишь сопением Савельева. Затем старик недоверчиво крякнул:

— Сколько?.. Сто восемнадцать? Токаев орал, что меньше шестисот там физически выжать нельзя!

— Токаев не умел работать с разделением сессий, — не удержался Марк, наклонившись к телефону и крикнув в микрофон.

— Виктор, это Ковалев, — Дмитрий взял инициативу в свои руки, заговорив спокойно, веско и властно. — Алина абсолютно права. Ядро авторизации пересобрано начисто. Архитектурное решение предложила она, а потом мы вместе его реализовали и обкатали на эмуляторе. Прямо сейчас мы зашиваем модуль резервного восстановления ключей. К завтрашнему вечеру отдадим вам предрелизный билд на прогон через британский шлюз. Так что прекращайте панику и держите оборону в офисе.

Савельев шумно, с присвистом выдохнул в трубку, и по этому звуку было слышно, как с его старческих плеч свалилась тонна чугуна:

— Господи… Спасибо, Дмитрий. Спасибо, Алина. Черт с ними, с увольнениями, вытащим. Алина, ты… ты просто золото. Всё, что обещал по премиальным, подтверждаю лично. В двойном объеме. Работайте, не буду мешать.

В трубке раздались короткие гудки.

— «Ты просто золото», — передразнил Марк противным фальцетом, крутанувшись на кресле. — А когда на кофемашине картриджи меняла — был расходный материал. Классика корпоративного лицемерия.

Микроволновка сзади пронзительно звякнула.

Илья распахнул дверцу, подцепил салфеткой исходящий паром сверток и ловко содрал бумагу. Лаваш оказался румяным, сухим и хрустящим, а из надкуса брызнул горячий ароматный сок.

— Ох ты ж… — блаженно протянул великан, откусив добрую треть шавермы и жмурясь от удовольствия. — Маркуха, за заморозку тебе отдельный памятник в коде. Горячая, сочная, мясо идеальное. Жизнь налаживается.

Дмитрий с улыбкой посмотрел на жующего Илью, а затем перевел взгляд на Алину. Она сидела очень прямо, глядя на погасший экран телефона, и пальцы ее чуть заметно подрагивали — от осознания, что слова шефа про двойной бонус только что прозвучали при свидетелях и стали реальностью.

Илья умял шаверму с такой скоростью, будто не ел неделю, скомкал жирную фольгу и шумно выдохнул, блаженно откинувшись на спинку стула:

— Вот теперь я снова человек. Азизу передайте мой глубочайший душевный респект.

Он стянул со стола свой старенький Xiaomi с треснувшим защитным стеклом, глянул на время — начало пятого — и полез в карман за наушником.

— Народ, я на пять минут отойду, Кате наберу, а то она меня с потрохами сожрет. Вчера обещал в полночь быть, а в итоге тут на полу вырубился.

Илья вышел в дальний конец лофта к пожарному выходу, но его раскатистый бас всё равно долетал до рабочего стола сквозь кирпичные своды:

— Алло, зай? Да, проснулся. Живой, живой… Прости, солнце, мы ночью кластер поднимали, я просто упал. Поел, да, парни покормили. Мелкий как? Температуры нет? Ну слава богу… Да куплю я этот чертов сироп от кашля, по дороге домой в круглосуточную заскочу. Пусть в холодильнике будет. Сегодня? Нет, сегодня вряд ли, зая. Тут дедлайн в четверг, кровь из носу надо второй контур дожать. Но на выходных точно всё сделаем, и к маме твоей съездим, обещаю… Да, люблю. Давай, целуй там хулигана.

Марк, продолжая вбивать строки кода, не поворачивая головы, тихо хмыкнул:

— Слышишь? Единственный женатый боец в нашей штурмовой бригаде. Каждый спринт как фронтовая сводка: «зая, живой, сироп куплю».

Дмитрий усмехнулся одними уголками губ, разглядывая в окне серые крыши заводских корпусов:

— Зато у человека якорь есть. Земля под ногами. Нам с тобой, холостякам бездомным, этого не понять: мы тут хоть до субботы можем на серверах спать, никто не хватится.

Алина невольно посмотрела на Илью, который, переминаясь босыми ногами по холодному полу, виновато улыбался в трубку. В этой неуклюжей заботе двухметрового бородатого технаря было столько подлинного тепла, что внутри снова шевельнулось то щемящее чувство нормальной жизни — той самой, от которой она добровольно отказалась ради бесконечной круглосуточной пахоты.

Илья сбросил вызов, спрятал телефон в карман и вернулся к столу, уже совершенно собранный:

— Так. Дома санкции пока приостановлены. Что у нас по схеме Шамира? Давайте сюда ваш мастер-ключ, будем пилить осколки.

— Так, семьянин, ты сначала штаны смени и тапки натяни, — фыркнул Марк, окидывая долговязую фигуру Ильи насмешливым взглядом. — А то стоишь тут босой в семейных реликвиях перед дамой, как снежный человек на партсобрании. Иди цивилизуйся, потом ключи резать будем.

Илья виновато хмыкнул, поскреб затылок и ушел обратно в серверную натягивать джинсы.

Алина в это время не отрывалась от экрана. В висках тонко пульсировало: она выстраивала логику полинома и пыталась свести воедино кусок Марка с валидатором. Строки путались, один из параметров функции восстановления упорно давал расхождение по типам данных.

— Дим, глянь, почему у него в интерполяции...

Слово сорвалось с языка совершенно естественно, как будто они сидели за этим столом не второй день, а пару лет.

Она осеклась на полуслове.

Звук собственного голоса ударил по ушам. В лофте повисла пауза — не тяжелая, а прозрачная, в которой отчетливо слышался только шелест кулеров и неспешный стук колес маневрового тепловоза где-то далеко за путями Курского вокзала.

До Алины с опозданием в секунду дошло, как именно она к нему обратилась. Никаких «Дмитрий», никакого выверенного делового «вы». Краска мгновенно бросилась в щеки, шею обдало жаром, и она поспешно уставилась в открытую консоль, отчаянно делая вид, что точка с запятой в четырнадцатой строке — самый важный объект во Вселенной.

Марк, застывший с занесенными над клавиатурой руками, медленно и очень довольно качнул головой, пряча ехидную ухмылку в воротник толстовки.

Дмитрий не стал делать вид, что ничего не произошло. В его взгляде промелькнуло открытое, теплое торжество — та спокойная мужская радость, когда глухая стена наконец дает трещину сама, без тарана. Он мягко усмехнулся, легко оттолкнулся от подоконника и пересел на соседний стул, придвигаясь вплотную к ее рабочему месту.

Плечо к плечу. Знакомый запах кедра и можжевельника стал совсем близким, почти осязаемым.

— Показывай, что там у него, — негромко сказал он, опираясь предплечьем о край стола и заглядывая в монитор так, будто они всегда так общались.

— Вот здесь, — выдавила Алина, стараясь, чтобы голос предательски не дрожал, и ткнула курсором в вызов функции. — Порог k-из-n задан жестко, а Марк передает массив через изменяемый срез. Если один контакт отвалится по тайм-ауту, Лагранж вернет NaN вместо мастер-ключа.

— Потому что Гольдман ленится типизировать структуры, — Дмитрий склонился чуть ниже к экрану, его висок оказался буквально в паре сантиметров от ее волос. — Смотри, если мы здесь завернем срез в кортеж фиксированной длины...

Они сидели склонившись над одним дисплеем, и смущение постепенно растворялось в ровном тепле общего дела, оставляя после себя новое, куда более прочное чувство близости.

Дверь серверной глухо стукнула, и появился Илья — уже в темных джинсах, чистой толстовке и массивных рабочих ботинках. Вихор на макушке он примял мокрой пятерней, отчего волосы забавно топорщились ежиком.

— Ну вот, теперь я благообразен и готов к труду, — прогудел он, усаживаясь за свой рабочий угол и с хрустом разминая пальцы. — На чем мы там зависли? На полиномах?

— На кривых руках Марка, который передает массивы без типизации, — не поворачивая головы от монитора Алины, бросил Дмитрий. Рука его так и лежала на столе в паре сантиметров от ее клавиатуры. — Перепиши структуру KeyShard. Нужен жесткий кортеж на три точки: пользователь, банк, резервный контакт. Порог восстановления — строго два из трех.

— Уже поправил, не бухти, — Марк застучал по клавишам с пулеметной скоростью, бросая короткие насмешливые взгляды то на Дмитрия, то на Алину. — Алина, лови обновленный эндпоинт. Я отдаю тебе три открытых полиномиальных слепка без раскрытия свободного члена.

Алина глубоко вдохнула, прогоняя остатки предательского румянца, и пальцы наконец привычно заскользили по тачпаду.

Они вошли в то редкое, почти гипнотическое состояние потока, когда четыре человека превращаются в единый вычислительный узел. Никаких лишних слов, никаких споров ради спора — только короткие реплики, понятные с полузвука:

— Илья, отсекай третью долю в холодное хранилище с TTL в семьдесят два часа.

— Принял, кладу в защищенный Redis с репликацией на независимый инстанс. — Алина, что с модалкой ввода доверенного контакта?

— Готова. Юзер вбивает номер или пушит контакт из записной книжки, система на лету генерирует QR-код со вторым осколком. Никаких открытых ключей в UI.

— Дим, валидатор ругается на выравнивание байтов в криптографическом конверте.

— Добавь паддинг по стандарту PKCS#7, сейчас сам поправлю в конфиге.

За окнами газгольдера незаметно сгустились сумерки.

Осеннее солнце упало за крыши промзоны, и лофт залило мягким, глубоким синим светом. Дмитрий встал, щелкнул выключателем на чугунной балке — под потолком тускло загорелись винтажные лампы Эдисона, отбрасывая теплые янтарные круги на кирпичные стены и темный дуб столов.

Снизу, от Яузы, потянуло сыростью и запахом мокрого асфальта, но внутри было душно от нагретого железа и монотонного рабочего жара.

Около восьми вечера Илья с глухим стуком уронил руки на стол:

— Первый пошел. Собрал демон на бэке. Давайте тестовую генерацию ключа с разбивкой на доли.

Алина вывела на центральный дисплей свежий интерфейс. Экран выглядел безупречно: строгая минималистичная графика, никакого визуального шума. Пользователю предлагалось простое действие — подтвердить выпуск аварийных ключей доступа.

Она нажала кнопку эмулятора.

В тишине лофта щелкнула мышка. Скрипт мгновенно сгенерировал полином второй степени в конечном поле Галуа, мастер-ключ раскололся на три независимые математические точки. Первая упала в зашифрованный анклав смартфона, вторая ушла в банковский контур Ильи, третья зашифровалась в одноразовый графический токен.

— А теперь симулируем потерю устройства, — негромко произнес Дмитрий, стоя уже за ее спиной и вглядываясь в цифры.

Марк нажал «Сброс авторизации». Приложение стерло локальный профиль.

— Восстановление, — тихо скомандовала Алина.

Система запросила банковский контур и сканирование резервного токена. Илья подтвердил транзакцию со своей стороны, скрипт на лету подтянул обе точки и запустил интерполяцию Лагранжа.

Секунда тишины. На экране с мягкой анимацией всплыла плашка:

Plaintext

Identity Restored — Secret Reconstructed: [0x7F...A12] — 2 of 3 shards verified

— Работает, черт возьми… — выдохнул Илья, откидываясь на спинку кресла, которая жалобно скрипнула под его весом. — Чистая математика. Ни банк в одиночку не украдет аккаунт, ни хакер с улицы.

Марк довольно потер ладони, поправляя съехавшие очки:

— А я вам что говорил? Шамир — голова! Всё сходится, как в аптеке.

Дмитрий положил ладонь на край стола рядом с рукой Алины, посмотрел на нее сверху вниз — усталый, с темными тенями под глазами, но с такой искренней, спокойной гордостью во взгляде, от которой у нее снова перехватило дыхание:

— Половина девятого, вторник. Два сложнейших контура из трех закрыты. Вы сегодня сотворили чудо, Алина.

Она подняла глаза, встретившись с ним взглядом, и на этот раз не отвела их:

— Мы сотворили, Дим. Команда.

Марк с Ильей синхронно переглянулись за мониторами, и Гольдман заговорщически подмигнул великану.

Алина перевела дух и глянула на часы в углу экрана: без двадцати девять.

— Парни, я на сегодня всё, — она решительно закрыла крышку ноутбука, отсекая искушение полировать пиксели дальше. — Если не уеду сейчас, меня просто выключит прямо на клавиатуре. К тому же надо сделать крюк через Сити: у меня под столом в «Пульсе» остались мои беговые «вездеходы». В этих модельных ботильонах на тонкой подошве я в подмосковной грязи до утра околею, а мне еще в Видном в круглосуточный супермаркет зайти — дома в холодильнике шаром покати, тете Вале продукты нужны.

Илья, уже увлеченно разворачивавший второй тестовый контур, оторвался от монитора и сочувственно прогудел:

— Давай, Алина, отсыпайся. До Сити сейчас по набережным быстро проскочишь, пробок уже нет.

Дмитрий ничего не сказал сразу. Он молча достал из кармана телефон, пару раз смахнул экран, вбивая сложный составной маршрут, и только потом поднял на нее глаза:

— Черный «Мерседес» Е-класса, номер 704. Будет внизу у шлагбаума через пять минут.

Алина нахмурилась, доставая из сумки кошелек:

— Дим, я сама могу вызвать, не надо...

— Не спорь, — мягко, но с той же не допускающей возражений интонацией оборвал ее Ковалев. — Я забил две промежуточные точки. Машина везет тебя в «Федерацию», водитель встает на аварийку у главного входа и ждет столько, сколько тебе потребуется, чтобы подняться на сорок пятый этаж и забрать сапоги. Потом он везет тебя прямо к супермаркету в Видное, снова ждет у входа, пока ты затаришься пакетами, и только потом выгружает у твоего подъезда.

Она замерла, сжимая в руках ремень сумки. В горле почему-то пересохло. Никто и никогда в ее жизни не просчитывал за нее бытовые маршруты с такой пугающе точной, почти невесомой заботой — без показного пафоса, без намека на долг, просто как грамотную логистическую операцию, призванную сберечь ее силы.

— Дим, это же бешено дорого выйдет с ожиданиями... — тихо произнесла она, глядя прямо в его спокойные серые глаза.

— Это выйдет ровно столько, сколько стоит твой нормальный сон перед завтрашним днем, — парировал он, подходя к вешалке и снимая ее жакет.

Он аккуратно придержал ткань, помогая ей одеться. Его пальцы на секунду задержались на ее плече — тепло, уверенно, по-настоящему:

— Завтра среда, Алина. Нам нужно будет собрать все ветки воедино и прогнать предрелизный билд. Мне нужен отдохнувший архитектор с ясной головой, а не герой труда с пакетами наперевес в пригородной маршрутке. Пойдем, провожу до арки.

Марк за спиной демонстративно кашлянул в кулак, не отрываясь от строчек кода, а Илья только понимающе усмехнулся в бороду.

Они спустились по гулкой чугунной лестнице в сырую прохладу московского вечера. Воздух пах мокрым асфальтом и рекой. У КПП «Армы» уже ровно урчал двигателем темный седан с шашечками бизнес-класса.

Дмитрий сам открыл перед ней тяжелую заднюю дверь, дождался, пока она сядет в тепло кожаного салона, и, придерживая дверь рукой, негромко сказал:

— Выспись. Завтра не вздумай подрываться ни свет ни заря — раньше одиннадцати в лофте не появляйся, мы с ребятами до обеда будем вылизывать скрипты.

— Спасибо, — искренне, глядя на него снизу вверх, выдохнула Алина.

Дмитрий тепло улыбнулся одними уголками губ, мягко захлопнул дверь и махнул водителю рукой. Машина плавно тронулась, унося ее сквозь переулки Басманного в сторону сияющих огней Сити.

Авто мягко скользило по набережной, гася шум города плотным двойным остеклением. Тепло кожаного салона, мерный шелест резины и ощущение, что за рулем сидит человек, готовый ждать ее столько, сколько потребуется, действовали почти усыпляюще.

Алина прислонилась виском к прохладному стеклу, посмотрела в зеркальце на козырьке и поморщилась: челка отросла и лезла в глаза, концы посеклись от бесконечных сушек феном впопыхах. В четверг финал, сдача лондонскому борду. Выглядеть загнанной лошадью перед британцами она не собиралась.

Она вытащила телефон и набрала Риту.

Рита была ее школьной подругой. Профессиональным парикмахером она никогда не была — окончила когда-то для себя базовые курсы, но стригла с тем врожденным, ювелирным чувством линии, которому не научат ни в одной академии. Сейчас она сидела во втором декрете с полуторагодовалым Тёмкой и отчаянно тосковала по нормальному взрослому общению.

Трубку сняли на четвертом гудке под аккомпанемент пищащей резиновой утки.

— Алинка! — зашептала Рита сдавленным, заговорщическим голосом. — Ты жива? Я думала, тебя твой «Пульс» окончательно переварил.

— Почти переварил, но подавился, — Алина слабо улыбнулась. — Рит, мелкий спит?

— Укладываю вот. Зубы верхние лезут, капризничает, с рук не слезает. Ты чего в такой час?

— Рита, спасай. Мне кровь из носу надо состричь хотя бы сантиметра три и привести челку в чувство. Завтра утром сможешь меня принять? Часов в девять? До работы.

На том конце повисла секундная пауза, сменившаяся шуршанием одеяла:

— В девять? Слушай… давай. Тёма как раз часов до десяти дрыхнет, если утром кашей накормить. Денег даже не думай совать, ты мне лучше банку того нормального растворимого кофе привези, а то от детских смесей и растворимого цикория меня скоро тошнить начнет.

— Кофе будет лучший, клянусь. И мелкому пюрешек наберу. Спасибо, Ритуль.

— Давай, жду. И выспись, голос как из склепа.

Машина как раз втянулась в подземный пандус «Федерации». Водитель плавно притормозил у стеклянных дверей, включил аварийку и мягко повернулся к ней: — Я на месте. Не торопитесь, спокойно поднимайтесь.

— Я быстро, пять минут, — кивнула Алина.

Глава 8

Глава 8.

На сорок пятом этаже царило мертвое безмолвие.

Обычно гудящий опенспейс «Пульса» сейчас тонул в темноте, только аварийные зеленые таблички «Выход» отбрасывали жутковатые тени на пустые столы. Кабинеты уволенных Токаева и Павлова стояли с распахнутыми дверями — на столах сиротливо белели пустые папки, коробки из-под бумаг и выдернутые провода мониторов. Корпоративное кладбище.

Алина прошла к своему рабочему месту в дальнем углу, опустилась на корточки и вытащила из-под стола свои спасительные «вездеходы» — неубиваемые беговые сапоги на толстой тракторной подошве. Стянула натершие ноги итальянские ботильоны, бережно упаковала их в тканевый пыльник и убрала в сумку, унося с собой. В «вездеходах» с глухим замком ступни моментально отогрелись. Схватив сумку, она на секунду окинула взглядом темный зал: еще вчера она дрожала здесь за каждый чих руководства, а сегодня ей было тут душно и абсолютно чуждо.

Она спустилась вниз. Водитель молча открыл перед ней дверь, принял пакет со сменной обувью и плавно вырулил на ТТК.

Дорога до Видного заняла полчаса. Седан аккуратно припарковался прямо у дверей круглосуточного гипермаркета.

— Жду здесь, — так же невозмутимо сказал водитель.

В супермаркете Алина действовала на автомате, методично нагружая тележку: две пачки обезболивающего и мази для тети Вали в аптечном пункте, фермерский творог, свежий хлеб, индейка, запас фруктов. Вспомнив уговор с Ритой, взяла большую банку хорошего колумбийского сублимата и упаковку фруктовых паучей для малыша.

На кассе она расплатилась картой, даже не глянув на сумму — мысль о подтвержденном двойном бонусе грела карман надежнее любой страховки.

Когда она вышла на улицу с двумя увесистыми пакетами, водитель уже стоял у багажника. Он молча перехватил у нее покупки, уложил их внутрь и через пять минут высадил ее у самого подъезда старой панельки.

— Доброй ночи, — вежливо кивнул мужчина, дождавшись, пока она наберет код на домофоне.

— Спасибо вам огромное, — выдохнула Алина.

Поднявшись на свой этаж, она тихо провернула ключ в замке. Дома было тепло, пахло лавандовыми каплями и старыми книгами. Тетя Валя уже спала, из ее комнаты доносилось мирное, ровное дыхание.

Алина быстро разобрала пакеты, убрала скоропортящееся в холодильник, поставила рядом банку с кофе для Риты и, мысленно застонав, поплелась в душ. Немного ожив, надела пижаму и упала в постель — впервые за последние полгода без панического звона будильника в мыслях.

Будильник не звонил. Алина открыла глаза сама ровно в половине восьмого — за окном брезжил ровный, молочно-серый осенний рассвет, а из кухни тянуло запахом теплого сливочного масла и свежезаваренного черного чая с чабрецом.

Напряжение, стискивавшее виски последние трое суток, ушло, оставив приятную легкую ломоту в мышцах.

Она накинула мягкий трикотажный кардиган, сунула ноги в домашние тапочки и вышла на кухню. Тетя Валя, грузная, в фланелевом халате в мелкий горошек, с неизменным платком на пояснице, уже возилась у плиты — ловко поддевала лопаткой подрумянившийся сырник на чугунной сковородке.

— Проснулась, птаха? — тетя обернулась и мягко улыбнулась морщинистыми уголками глаз. Взгляд у нее был внимательный, цепкий, от которого в этой квартире никогда ничего нельзя было утаить. — Я гляжу, в холодильнике еды полно, творог, индейка… И на такси ночью приехала. Балуют тебя там совсем?

— Не балуют, теть Валь, берегут, — Алина подошла, обняла ее со спины за хрупкие плечи и уткнулась носом в теплую макушку. — Садись, я сама чай разолью.

За маленьким столом, застеленным старой хлопковой скатертью, завтракали не спеша. Для Алины, привыкшей глотать обжигающий эспрессо на бегу в лифте башни «Федерация», эти двадцать минут казались забытой роскошью.

— Ну, рассказывай, — тетя Валя аккуратно разломила сырник вилкой. — Что за спешка такая? Савельев твой опять зверствует?

— Савельев как раз тише воды, — Алина сделала глоток крепкого чая. — Проект спасаем, теть Валь. Настоящий, большой, для англичан. Прежнее начальство всё разворовало и бросило, а нам за четверо суток надо поднять то, что они полгода ломали.

— И кто ж это — «вы»? — прищурилась старушка. — Ты да еще пара таких же бедолаг из офиса?

— Нет, там совсем другие люди, — Алина невольно оживилась, и в глазах вспыхнул тот самый математический азарт. — Понимаешь, к нам подключили внешнюю группу аудита. Они невероятные, правда. Марк — ходячая энциклопедия, физтеховец, на лету алгоритмы переписывает, в Тель-Авиве стажировался, только о хумусе без конца трещит. Илья — бэкендер, двухметровый медведь, семейный, всю ночь кластер серверов в одиночку держал, пока мы не пришли. Знаешь, у них там нет вот этой нашей офисной гнили, когда каждый думает, как подставить соседа. Сидят парни в мятых толстовках, спорят до хрипоты, но каждый знает свое дело до винтика. У них мозги работают так… красиво. Чистая логика.

— А старший у них кто? — негромко, между делом спросила тетя Валя, подперев щеку сухой ладонью и не спуская с племянницы глаз. — Тот, на черной машине который вчера тебя до подъезда довезти распорядился?

Алина на секунду замешкалась с чашкой у губ. В груди снова шевельнулась та самая волна — теплая, волнующая и очень сдержанная.

— Дмитрий, — тихо ответила она, и тон ее голоса неуловимо изменился, стал глубже и мягче. — Он всем руководит. Основатель компании. Но он… не начальник в обычном смысле. Знает регламенты лучше лондонских юристов, а если надо — садится рядом и разбирает код по косточкам. Не давит, не кричит. Просто когда он рядом встает, кажется, что обвалиться уже ничего не может. Всё под контролем. И о людях думает… по-настоящему. Вчера я сказала, что в ботильонах прохладно, и надо сапоги забрать, так маршрут такси построил через Сити и магазин, чтобы мне сумки не таскать.

Она улыбнулась своим мыслям, разглядывая солнечный блик на фарфоровом блюдце.

Тетя Валя тихонько вздохнула, пряча хитрую, всепонимающую улыбку в чашку:

— Ишь ты… «Обвалиться ничего не может». Значит, Дима, говоришь?

Алина вскинула голову, наткнулась на теплый, насмешливый взгляд тетки и вдруг почувствовала, как к скулам снова подступает предательский румянец:

— Теть Валь, ну перестань! Мы просто работаем. У нас дедлайн завтра, проект на миллионы фунтов.

— Работают они, конечно, — беззлобно проворчала старушка, поднимаясь убрать сковороду. — Только глаза у тебя, Алинка, такими живыми я давненько не видела. Хоть человеком стала выглядеть, а не калькулятором.

На кухонных часах без двадцати девять. Алина глянула на циферблат, отодвинула стул и поцеловала тетю в щеку:

— Ладно, тутушка, мне пора. Договорилась с Ритой перед выездом концы подровнять, а то на сдаче проекта буду выглядеть как чучело.

— Беги, — тетя Валя ласково погладила ее по плечу. — И Диме твоему… спасибо передай. За машину и за продукты.

Алина быстро присела в прихожей на пуфик, достала из тумбочки влажную губку и в пару движений смахнула дорожную пыль и грязь с теплых черных сапог. После капли специальной пасты кожа и вовсе мягко заблестела. Натянув пальто и подхватив тяжелый крафтовый пакет, где лежали увесистая банка колумбийского сублимата, детские паучи с манго и коробка Риткиных любимых трюфелей с морской солью, она выскользнула из подъезда.

Свежий утренний воздух бодрил. До соседней девятиэтажки было ровно три минуты быстрого шага мимо мокрых тополей и шуршащих желтых кленов.

Дверь на третьем этаже распахнулась еще до того, как Алина успела нажать на звонок.

— Залетай быстрее, пока этот террорист не прочухал! — зашептала Рита.

В свои тридцать три она выглядела удивительной девчонкой — худенькая, с пучком на макушке, перехваченным детской резинкой, и в растянутых фланелевых штанах. Но под глазами залегли знакомые синеватые тени хронического мамского недосыпа. Рита жила в режиме вечного цейтнота: старшую дочку утром отводила в логопедический сад, с полуторагодовалым Тёмкой кружила по квартире весь день, а муж, Юра, буквально жил на объектах. Ему стукнуло пятьдесят — тертый, немногословный прораб в частной стройфирме, который пахал с рассвета до полуночи, чтобы закрывать ипотеку и обеспечивать семью, появляясь дома ближе к полуночи с запахом цемента и табака.

На кухне царил классический декретный хаос: гора разноцветных пластиковых чашек, недопитый остывший чай и разбросанные резиновые динозавры.

— Держи паек, узник быта, — Алина с улыбкой выставила на клеенчатый стол трофеи.

Рита округлила глаза, схватила стеклянную банку с кофе, прижала к груди и с благоговением зажмурилась:

— Господи… Нормальный кофе! Не гранулированная пыль с акционной полки! А трюфели… Алинка, ты святая женщина. Если бы Юрка не зарабатывал на эту чертову квартиру, я бы сбежала к тебе.

— Не богохульствуй, прораб тебя любит, — усмехнулась Алина, скидывая пальто. — Мелкий спит?

— Дрыхнет без задних ног, кашей набит под завязку, — Рита уже деловито доставала с верхней полки ножницы, расческу с длинным хвостиком и старую простыню. — Садись на табуретку, поворачивайся к свету. Рассказывай, что за пожар у тебя в Сити, что ты среди недели на стрижку прискакала.

Она накинула на плечи Алины простыню, защелкнула ее прищепкой на затылке и смочила волосы из пульверизатора. Прохладные капли опустились на шею.

— Не в Сити, Рит. В Сити всё сдохло, — Алина прикрыла глаза, отдаваясь привычным щелчкам острых ножниц. — Мы сидим на «Арме», переделываем проект с нуля с внешней группой. Дедлайн завтра вечером.

— Опять сутками пашешь? — Рита ловко подхватила прядь расческой, отсекая посекшиеся концы ровной, идеальной линией. — Хотя, знаешь… ты странно выглядишь. Не серая, как обычно в своих дедлайнах. Лицо отдохнувшее. И… блестишь как-то изнутри.

— Это сырники тети Вали, — попыталась отшутиться Алина.

— Ага, сырники, рассказывай сказки матери двоих детей, — фыркнула подруга, заходя спереди и примеряясь к челке. — Вон, даже плечи опустились, а то вечно ходила зажатая, будто на тебя бетонная плита упала. Кто там в этой твоей «Арме»?

Алина невольно улыбнулась, глядя на Риту снизу вверх:

— Мужики толковые. Архитекторы, криптографы. Никакой офисной показухи — работают как звери, но с умом. Настоящие.

— Ну-ну, — протянула Рита с хитрым прищуром, аккуратно филируя край челки. — «Мужики толковые». А голос такой, будто тебе не серверную показали, а на Мальдивы позвали. Ладно, молчу-молчу, сама потом расскажешь, когда созреешь. Смотри!

Рита стряхнула простыню. Алина повернулась к небольшому зеркалу над раковиной.

Легкая, текстурная челка мягко легла чуть выше бровей, подчеркнув тонкие скулы и серые глаза, а ровный, свежий срез волос убрал всю тусклую усталость последних месяцев. Из зеркала на нее смотрела не замученная ночной графикой чертежница, а уверенная, невероятно привлекательная молодая женщина с четким, ясным взглядом.

— Идеально, Рит. Спасибо огромное, — Алина порывисто обняла подругу за плечи.

— Иди уже, покоряй своих криптографов, — рассмеялась Рита, провожая ее в прихожую. — И кофе не забывай привозить!

Через пять минут Алина уже шагала к остановке, на ходу вызывая такси до набережной Академика Туполева. На часах было без двадцати десять.

Около одиннадцати такси притормозило у КПП «Армы».

Осеннее утро выдалось звонким, солнечным и неожиданно сухим. Алина легко взбежала по чугунной винтовой лестнице на четвертый этаж — в теплых, привычных сапогах походка была упругой и уверенной, а свежий срез волос приятно щекотал шею при каждом шаге.

Она толкнула массивную дверь.

В лофте уже вовсю кипела жизнь. Илья сидел в дальнем углу за терминалом, натянув на голову огромные наушники, и что-то мерно бубнил в микрофон, сверяя порты. Марк со стаканом минералки в руке ходил взад-вперед мимо маркерной доски, а Дмитрий стоял у кофемашины — в тонком темно-синем джемпере с закатанными рукавами, сосредоточенно наблюдая, как в чашку капает темная струйка эспрессо.

— Доброе утро, команда, — звонко произнесла Алина, снимая пальто.

Все трое повернулись на звук ее голоса.

Марк замер на полушаге, чуть не расплескав воду. Он медленно стянул очки с носа, моргнул и присвистнул:

— Ого… Ничего себе апдейт репозитория! Димка, ты посмотри: человек поспал шесть часов, перепрошил интерфейс — и перед нами готовый спикер для международной конференции. Алина, это законно вообще — выглядеть так бодро посреди спринта?

Илья снял один наушник, окинул ее фигуру добродушным взглядом великана и одобрительно кивнул:

— Отлично выглядите, Алина. Очень свежо. Не то что мы с Маркухой — два зомби из серверного подвала.

Дмитрий не стал сыпать шутками. Он поставил чашку на деревянную стойку и медленно подошел ближе. Его серые глаза прошлись по ее лицу — по мягкой, точно выверенной линии челки, открывшей тонкие скулы, по сияющей коже и уверенной, спокойной улыбке. В его взгляде вспыхнуло то самое чисто мужское, нескрываемое восхищение, от которого внутри сладко екнуло, но он сдержал его в рамках их новой, теплой близости.

— Тебе очень идет, Алина, — негромко, но так веско произнес он, что Марк с Ильей тактично уткнулись обратно в свои мониторы. Уголки его губ дрогнули в полуулыбке: — Строго, четко и чертовски красиво. Как твои макеты.

— Спасибо, Дима, — она открыто встретила его взгляд, даже не подумав смутиться. Впервые за долгое время она чувствовала себя абсолютно на своем месте. — Как ночь прошла?

— Илья с четырех утра проливал базу, Марк пересобрал криптографические очереди, — Дмитрий протянул ей свежую чашку кофе без сахара, и его пальцы снова коснулись ее ладони — надежно и тепло. — Второй контур по схеме Шамира готов к сквозной интеграции. Сегодня среда, Алина. Нам нужно свести бэкенд с твоим экраном аварийного доступа и к вечеру выкатить предрелизный билд под носом у британцев.

— Тогда открывайте ветку, — Алина решительно щелкнула замком на сумке, доставая ноутбук. — Будем собирать шедевр.

К полудню среды лофт превратился в подобие центра управления полетами перед выходом на орбиту.

Шутки кончились, уступив место предельной рабочей концентрации. Предстояло сшить воедино три независимых контура:

Двухфазный сплит-хэндшейк (быстрая авторизация в обход лимита в 300 мс).Схему разделения секрета Шамира (аварийное восстановление ключа 2-из-3).Сквозной комплаенс-модуль под требования британского регулятора FCA.— Ветка release/candidate-1.0 открыта, — Илья сдвинул наушники на шею и повернул монитор. — Базы реплицируются без задержек. Парни, если сейчас прольем мастер, обратного пути нет: британский тестовый контур начнет слушать нас в режиме реального времени.

— Лей, — коротко кивнул Дмитрий, стоя позади Алины и опираясь обеими руками на край ее стола.

Алина щелкала мышкой, собирая финальный дизайн-слой. Ее экран аварийного доступа встраивался в систему бесшовно: никаких пугающих математических формул, только лаконичная карточка с индикатором подтверждения доверенного лица, чистая типографика и деликатная микроанимация защитного поля.

— Марк, отдавай токены, — скомандовала она.

— Отдал, — отозвался Гольдман, поправляя очки. В его глазах плясали азартные чертики. — Пакеты улетели. Смотри на связку с Apple Secure Enclave.

На тестовом iPhone в руках Алины приложение ожило.

Интерфейс среагировал мгновенно: биометрия считалась за долю секунды, экран плавно скользнул в темный изумруд подтверждения, а внизу экрана без малейшей задержки развернулась плашка генерации аварийных долей ключа.

В консоли Ильи водопадом заструились строки запросов:

Plaintext

POST /fido2/attestation/verify -> 200 OK (84ms)

POST /shamir/shard/distribute -> 200 OK (31ms)

TOTAL ROUNDTRIP: 115ms (FCA SLA target: <300ms)

STATUS: CANDIDATE-1.0 BUILD GREEN

— Сто пятнадцать миллисекунд по полному циклу… — выдохнул Марк и победно вскинул оба кулака вверх. — Британские аудиторы завтра от умиления чай прольют на свои твидовые пиджаки. Ни одной ошибки, чистый прогон!

Дмитрий шумно, с облегчением выдохнул. Его рука непроизвольно опустилась на спинку кресла Алины, пальцы на секунду коснулись ее плеча — очень мягко, закрепляя их общую победу:

— Чистая работа. Сборка упакована в релизный контейнер. Завтра в десять утра видеомост с Лондоном. Мы готовы.

За окнами газгольдера окончательно стемнело, размазав огни Садового кольца в мутную акварель.

В лофте стояло то особенное, натянутое затишье, которое наступает только перед генеральным сражением: код залит, тесты зеленые, а адреналин уступает место глухой, наваливающейся усталости.

— Так, орлы и примкнувшая к нам королева интерфейсов, — Дмитрий с глухим стуком поставил на середину стола большую белую коробку с пиццей, которую только что привез курьер, и упаковку минералки. — Едим, закрываем крышки ноутбуков и проговариваем роли. Завтра в десять ноль-ноль на связь выходит совет директоров в Лондоне во главе с их техническим директором Хендерсоном. Старый шотландец, зубы съел на аудите шотландских банков. Лишней лирики не любит.

Марк подцепил кусок с салями, обжигая пальцы:

— Пусть хоть волынку с собой берет. Наш сплит-хэндшейк бьет их требования в два с половиной раза. Я ему логи на лету в консоли разверну — он с первой минуты поймет, что Токаев полгода вешал им лапшу на уши.

— В лоб логами бить нельзя, Марк, — Дмитрий покачал головой, присаживаясь на край стола рядом с Алиной. Он бросил на нее короткий, внимательный взгляд: — Англичане не читают питоновские трейсы. Им важна картинка, архитектурная чистота и соблюдение их регламента по защите персональных данных.

— Поэтому начнем с интерфейса, — негромко подхватила Алина, сделав глоток минералки. Усталость брала свое, но новая стрижка и внутреннее спокойствие держали ее в тонусе. — Я беру демонстрацию экрана на себя. Показываю путь клиента от первого клика до выдачи ключа: чистый UI, никакой перегрузки, время реакции микроанимаций строго синхронизировано с ответом шлюза. Юзер даже не поймет, какая тяжелая криптография крутится под капотом.

— Вот именно, — Дмитрий одобрительно кивнул. — Когда Алина доведет клиента до точки аварийного восстановления, подключаюсь я: поясняю регламент FCA и почему схема Шамира на три доли закрывает их риски от судебных исков. Илья держит боевой стенд наготове. Если шотландец попросит нагрузочный стресс-тест — ты в реальном времени натравливаешь сотню потоков.

— Стенд залочен, память вычищена, — прогудел Илья, вытирая руки салфеткой. — Базы на резерве, даже если упадет магистральный канал, я переключу на резервную оптику за две секунды. Не подкопаются.

Марк довольно откинулся на спинку кресла:

— Слышали план? Идеально. Завтра Савельев будет в своем Сити рыдать от счастья и подсчитывать спасенные миллионы, пока мы будем делить двойной куш.

— Не дели шкуру неубитого шотландца, Гольдман, — усмехнулся Дмитрий. Он повернулся к Алине, его голос стал заметно тише и мягче, отсекая парней от их личного пространства: — Ты как? Домой поедешь или останешься в гостинице на набережной? Могу забронировать номер, чтобы не мотаться ночью в Видное.

Алина посмотрела в его спокойные, внимательные глаза. Искушение остаться и выспаться на свежих простынях в пяти минутах от офиса было велико, но память о теплых сырниках тети Вали и домашней тишине перевесила:

— Поеду домой, Дим. Там стены помогают. Завтра к девяти буду здесь — свежая, в боевой готовности.

— Договорились, — Дмитрий улыбнулся одними уголками губ и достал телефон. — Машина у подъезда будет через десять минут. Без всяких заездов, прямо до дома.

Он проводил ее взглядом до вешалки, где она накинула пальто, и в лофте снова повисла теплая, уверенная пауза четырех людей, прошедших через пекло и готовых завтра утром забрать свою безоговорочную победу.

Глава 9

Глава 9.

В половине девятого утра Алина толкнула тяжелую дверь лофта на «Арме».

Она выглядела безупречно. Ее лучший — и, строго говоря, единственный приличный — синий брючный костюм из тонкой шерсти сидел идеально: строгие стрелки на брюках, приталенный жакет, шелковый молочный топ и начищенные вчера черные кожаные сапоги. Свежая стрижка подчеркивала четкую линию челюсти и спокойный, уверенный взгляд.

Мужская часть команды оценила явление в немой паузе.

Илья, уже в приличном темном поло и тщательно причесанный, на секунду перестал протирать салфеткой объектив веб-камеры. Марк, на удивление облачившийся в белоснежную рубашку под расстегнутой черной толстовкой, медленно присвистнул: — Вот это уровень. Димка, срочно надевай галстук, мы на ее фоне выглядим как стажеры-двоечники.

Дмитрий стоял у окна с чашкой кофе. На нем была свежая графитовая рубашка с застегнутым воротником без галстука. Он медленно окинул ее взглядом снизу вверх — с той спокойной мужской гордостью, от которой по спине пробежали приятные мурашки.

— Потрясающе выглядишь, Алина, — негромко сказал он, шагнув навстречу и протягивая ей фарфоровую чашку с чаем. — Ровно то, что нужно для чопорного Сити. Чай с мятой?

— Спасибо, Дима, — она приняла чашку, улыбнувшись одними уголками губ. — Как готовность?

— Стенд на боевом сервере, пинги до лондонского шлюза — тридцать две миллисекунды, — отчитался Илья. — До созвона полчаса. Пора дергать Савельева, пусть выходит на защищенный канал.

Дмитрий набрал номер старика через корпоративный мост и вывел видеопоток на левый вспомогательный экран. Через три гудка на дисплее возникла физиономия Виктора Павловича на фоне панорамного окна Сити. Шеф «Пульса» сидел в строгом сером костюме-тройке, но под глазами висели мешки, а лицо выражало смесь паники и показной начальственной спеси.

— Вы где пропадали вчера вечером?! — тут же засипел старик в микрофон вместо приветствия, нервно поправляя узел галстука. — Я до полуночи сидел как на иголках! Ни единого звонка, ни сообщения! Токаев мне с утра уже накатал простыню, что вы блефуете и нас сегодня размажут по стенке!

Алина сделала глоток чая, подошла ближе к веб-камере и с легкой, обезоруживающей усмешкой посмотрела прямо в объектив:

— Виктор Павлович, мы же сказали вам во вторник: к утру четверга всё будет готово. Смысл был тратить время на звонки, если надо было работать? Чем вы недовольны?

Савельев поперхнулся воздухом, опешив от ее невозмутимого спокойствия.

Марк за монитором беззвучно заржал, прикрыв рот ладонью, а Дмитрий довольно усмехнулся, покачав головой. Поняв, что его грозный тон здесь больше ни на кого не действует, старик сдулся, шумно высморкался в платок и буркнул:

— Ладно… Черт с вами. Главное — покажите класс. Англичане подключаются через пять минут.

Ровно в десять ноль-ноль на основном проекторе зажглись четыре окна защищенного Zoom-моста. В центральном окне появился мистер Хендерсон — сухопарый седовласый шотландец с колючими глазами цвета Балтийского моря и чашкой чая в тонком фарфоре. Рядом с ним расположились двое юристов по финтех-регуляторике и ведущий аудитор британского регулятора FCA.

— Доброе утро, джентльмены. И леди, — сухо произнес Хендерсон с характерным тяжелым акцентом. — У вас сорок минут, чтобы доказать, что проект «Спектр» не отправляется в утиль вместе с вашим контрактом. Мы слушаем.

— Доброе утро, мистер Хендерсон, — ровным, безупречным тоном начала Алина, перехватив управление экраном.

Она говорила спокойно, взвешенно, выверенно. На большом экране развернулся чистый, строгий интерфейс. Никакой лишней воды — Алина повела совет директоров по клиентскому пути. Она демонстрировала архитектуру взаимодействия: как биометрический вход бесшовно дробит сессию, как плавные микровзаимодействия маскируют сложнейшие асинхронные вызовы.

— Ключевая уязвимость, вызывавшая ошибку 422 в предыдущей версии, устранена архитектурно, — Алина уверенно перещелкнула слайд на живой стенд. — Мы перевели систему на двухфазный сплит-хэндшейк. Марк, запусти эмуляцию.

Марк нажал клавишу. В реальном времени по экрану британцев побежали графики ответов шлюза.

В графе задержки загорелась цифра: 112 ms.

Хендерсон медленно опустил чашку на блюдце. Его колючие брови поползли вверх:

— Сто двенадцать миллисекунд?.. На трансграничном узле?

— Именно так, — в разговор плавно вступил Дмитрий, вставая плечом к плечу с Алиной. — Аварийное восстановление мастер-доступа реализовано по схеме разделения секрета Шамира. Порог восстановления — два из трех. Первый осколок остается в локальном защищенном анклаве устройства клиента, второй — на сервере банка, третий шифруется в виде аварийного сертификата. Никаких единых точек отказа. Полное соответствие параграфу 8.4 регламента FCA по защите критических персональных данных.

Шотландец долго молчал, вглядываясь в цифры и схемы. Его аудиторы что-то лихорадочно строчили в блокнотах, шепчась между собой.

— Архитектура безупречна, мистер Ковалев, мисс Воронова, — наконец произнес Хендерсон, и в его голосе впервые прозвучало неподдельное профессиональное уважение. — Это… значительно превосходит то, что мы ожидали увидеть после предыдущих отчетов. Но нас крайне беспокоит внедрение. Впрочем, как внедрять протокол на легаси-инфраструктуру европейских филиалов — пусть теперь у Воропаева с его интеграторами голова болит, это его контрактные обязательства, пусть сам с ними и разбирается. К вашей архитектуре и интерфейсам у совета директоров вопросов нет. Правление утверждает релиз-кандидат. Претензии сняты, транш за этап разблокирован. Хорошего дня.

Экран погас.

В лофте на пару секунд повисла чистая, прозрачная тишина, нарушаемая только сиплым дыханием Савельева в зум-конференции. А затем Марк с воплем влетел ногами на офисное кресло, крутанулся вокруг своей оси и врезал кулаком по воздуху:

— Есть! Скушали!

Илья захохотал своим густым басом, стягивая наушники, а Савельев на вспомогательном экране шумно плюхнулся лицом в ладони, бормоча: «Господи… пронесло… Алина, Ковалев, вы боги. Прямо сейчас отдам распоряжение бухгалтерии на перевод всех закрывающих и премий…»

Дмитрий с усмешкой захлопнул крышку ноутбука, отключая старика, повернулся к Алине и посмотрел на нее долгим, спокойным взглядом — с открытым мужским уважением и теплом:

— Ну что, мисс Воронова. Мы сделали это.

Она выдохнула, чувствуя, как с плеч окончательно спадает колоссальный груз четырехдневного марафона, и уверенно улыбнулась ему в ответ:

— Сделали, Дима. Без единой помарки.

— Так, господа победители, — Дмитрий захлопнул второй рабочий ноутбук и взглянул на часы: половина двенадцатого. — Стенд переведен в режим пассивного мониторинга, логи пишутся сами. Марк, Илья — вы остаетесь на хозяйстве, если Воропаев вдруг протрезвеет и решит заглянуть в доки. А мы с Алиной идем заправляться нормальным сахаром.

— И правильно, гоните шефа кормить архитектора, — довольно хмыкнул Марк, вытягивая ноги на соседний стул. — А мне захватите тройной американо без молока, иначе я тут прямо на клавиатуре усну.

На улице стоял сухой, почти теплый октябрьский полдень. После душного электрического полумрака лофта воздух казался кристально чистым. Они свернули в переулки за Нижней Сыромятнической и зашли в небольшую бутик-кофейню в реконструированном кирпичном особняке — с панорамными витринами, открытой медной стойкой и легким ароматом свежесмолотой арабики.

Дмитрий уверенно сделал заказ: два больших капучино, плотные теплые сэндвичи с ростбифом и вялеными томатами на хрустящей чиабатте, а в качестве десерта ткнул пальцем в стеклянную витрину.

— И два вот этих авторских тарта.

Десерт выглядел как штучный ювелирный экспонат: тончайшая песочная корзинка, наполненная невесомым заварным фисташковым кремом, увенчанная свежей ежевикой, малиной и едва заметной веточкой карамелизированного розмарина.

Алина скользнула взглядом по деревянному ценнику и тихонько потянула его за рукав джемпера:

— Дим, ты с ума сошел? Одна эта корзинка стоит как половина моего прежнего суточного оклада в Сити.

Дмитрий лишь небрежно отмахнулся, прикладывая карточку к терминалу: — Перестань считать копейки на трофеях. Мы только что сэкономили Савельеву несколько миллионов штрафов и репутацию перед британским регулятором. Можем себе позволить всё, что вздумается местному кондитеру.

Они сели за круглый столик у окна, выходившего в тихий внутренний дворик с желтеющим кленом.

Хрустящая чиабатта с сочным ростбифом зашла мгновенно, а когда Алина отломила десертной вилочкой кусочек тарта, на лице ее появилось неподдельное удовольствие: крем оказался шелковистым, не приторным, с тонким ореховым оттенком, идеально подчеркивающим кислинку свежих ягод.

— Ну как? — с улыбкой спросил Дмитрий, наблюдая за ней поверх своей чашки. — Стоит своих денег шеф-повар?

— Чертовски вкусно, — признала она, слизывая крохотную каплю крема с губы. — Я даже не знала, что у нас на районе такое делают.

В этот момент на столе требовательно зажужжал телефон Алины.

На экране снова высветилось: САВЕЛЬЕВ В.П.

Она подняла трубку и включила громкую связь.

— Алина! — голос шефа «Пульса» звучал непривычно бодро, с нотками хозяйской щедрости человека, только что выскочившего из петли. — Докладываю по горячим следам. Транш от англичан упал на счет. Контракт закрыт без единого штрафа! Я только что подписал платежку: все деньги конторе Ковалева ушли в полном объеме, до последней копейки по акту.

— Рады слышать, Виктор Павлович, — ровно ответила Алина.

— Так, теперь по тебе, — старик даже не понизил голос, как сделал бы это раньше, опасаясь замов. — Твой двойной бонус. Я не стал пускать его по общей белой зарплатной ведомости, чтобы бухгалтерия слюной не захлебнулась и налогами не порезала. Плотный пухлый конверт лежит у меня в сейфе лично для тебя. Я сегодня в офисе в Сити до восьми вечера. Приезжай, забирай свои заслуженные, дорогая. Жду.

Трубка щелкнула, связь оборвалась.

Алина медленно опустила телефон на салфетку.

Дмитрий отставил чашку, оперся подбородком на сплетенные пальцы и внимательно посмотрел на нее — с насмешливым прищуром, в котором читался предельно ясный вопрос: что дальше?

Дмитрий не спеша допил кофе, поставил чашку на блюдце и посмотрел на Алину через стол. В тишине кофейни негромко играл мягкий инструментал, за окном лениво кружились желтые листья клена.

— Конверт из сейфа, значит, — усмехнулся он. — Классический Савельев. Прячет концы в воду и платит кэшем, чтобы не светить перед налоговой и остальными сотрудниками. Впрочем, это твои честно заработанные деньги. Ты их у него зубами вырвала. Поедешь забирать?

— Заберу, конечно, — спокойно ответила Алина, аккуратно промокнув губы салфеткой. Взгляд ее был абсолютно ясным. — Гордость тут ни при чем: я за эти четверо суток выложилась полностью. Тете Вале ремонт на кухне надо сделать, уколы взять, наконец — еле ходит со своими суставами, и лекарства для отца выкупить — ждут меня на складе.

— А дальше что? — Дмитрий подался чуть вперед, положив предплечья на темное дерево столешницы. Его серые глаза смотрели прямо, без тени привычной рабочей иронии. — Вернешься в свой опенспейс на сорок пятом этаже? Будешь перерисовывать баннеры для девелоперов и ждать, пока старик найдет новых Токаевых, чтобы свалить на тебя очередную дыру в бюджете?

Алина замолчала.

Еще в понедельник утром этот вопрос вызвал бы у нее панику. Сейчас же одна мысль о возвращении за старый стол в «Пульсе», среди фальшивых улыбок менеджеров и пустых кабинетов уволенных начальников, вызывала физическое отторжение. Масштаб изменился. Она за четыре дня пересобрала ядро финтех-продукта под лондонский комплаенс — обратной дороги в мелкую графику для нее больше не существовало.

— Не вернусь, — твердо сказала она, глядя ему в глаза. — Заберу конверт, напишу заявление по собственному и закрою за собой дверь. У меня есть подушка на пару месяцев, отдохну неделю, а потом начну рассылать резюме. На позицию ведущего архитектора или дизайн-директора.

— Забудь про резюме, — ровно и веско произнес Дмитрий.

Она удивленно приподняла бровь:

— В смысле?

— В прямом. Моей компании нужен постоянный партнер на позицию лид-архитектора системных интерфейсов. Полноценная ставка, доля в проектах, полная свобода в принятии решений по визуалу и юзабилити, — он говорил спокойно, но каждое слово падало с весом подписанного контракта. — У нас впереди намечаются два тяжелых финтех-контракта в Европе и закрытая крипта. Парни в коде боги, но упаковать систему так, чтобы консервативный совет директоров в Лондоне с первого взгляда понял логику и подписал акты — это твой штучный дар. Ты умеешь сделать и красиво, и доходчиво. И мы сработались, Алина. Ты видела нас в деле, мы видели тебя.

Он сделал короткую паузу, и его взгляд неуловимо потеплел:

— И лофт на «Арме» куда просторнее стеклянных скворечников в Сити. Там никто не будет стоять над душой.

Алина почувствовала, как внутри разливается упругое, пьянящее чувство свободы. Это было не просто предложение о работе — это было признание ее абсолютного равенства.

— А если я запрошу условия жестче, чем у Савельева? — с легкой, лукавой полуулыбкой спросила она.

— Называй любые цифры, — Дмитрий довольно усмехнулся, откидываясь на спинку стула. — Мои контракты позволяют мне не мелочиться при привлечении ключевых людей. Забирай сегодня свой конверт у старика, ставь точку. А с понедельника твой стол на «Арме» ждет тебя.

— Можно подумать? — все еще улыбаясь, спросила она.

— А по-моему, ты уже приняла решение, — ответил Дмитрий уверенно. Голос его неуловимо изменился, когда он добавил: — И знаешь, я искренне рад этому.

Такси высадило Алину у башни «Федерация» около трех часов дня.

На сорок пятом этаже жизнь вернулась в привычное, душное русло. Менеджеры переговаривались вполголоса, кулеры гудели, но в воздухе еще висел шлейф недавнего разгрома. Кабинеты уволенных Токаева и Павлова зияли пугающей пустотой, а на Алину смотрели с нескрываемым, суеверным почтением — по офису уже пополз слух, что проект англичанам сдала именно она в паре с внешними аудиторами.

Она постучала и толкнула тяжелую дверь кабинета генерального.

Савельев сидел за массивным столом из полированного палисандра. Галстук был распущен, пиджак висел на спинке кресла, а на хрустальном столике стояла початая бутылка коньяка. Старик выглядел постаревшим лет на пять, но в глазах больше не было паники утопающего — он снова чувствовал себя хозяином положения.

— Алина! Проходи, садись, дорогая, — засуетился он, указывая на кожаное кресло напротив. — Чай? Кофе? Коньяку за победу? Мы ведь их умыли, слышишь? Англичане закрыли транш, все неустойки аннулированы!

— Спасибо, Виктор Павлович, я ненадолго, — ровно ответила Алина, присаживаясь на самый край кресла и не расстегивая пальто.

— Понимаю, устала, трое суток ада, — Савельев полез в карман за связкой ключей, нагнулся к встроенному под столом тяжелому сейфу и со скрипом провернул замок.

Он извлек оттуда толстый, увесистый белый конверт формата А5, заклеенный скотчем, и с глухим стуком опустил его на середину полированной столешницы прямо перед ней:

— Держи. Здесь всё до последней копейки. Двойной оклад за закрытие спринта плюс твоя доля за спасение контракта. Наличными. Заслужила.

Алина спокойно положила ладонь на конверт. Бумага приятно натянулась под плотными банковскими пачками. Это были ее честные деньги — на уколы тете Вале, на лекарства отцу, на новую свободную жизнь.

— Спасибо, Виктор Павлович.

Савельев довольно потер ладони, откинулся на спинку кресла и заговорщически прищурился:

— Теперь о главном. Токаева нет, Павлова нет. Конторе нужна твердая рука и свежие мозги. Я предлагаю тебе позицию тимлида всего департамента системной архитектуры и дизайна. Полный карт-бланш. Оклад поднимаю в два с половиной раза, отдельный кабинет, людей под себя наберешь сама. Будешь моим прямым замом по технической части. Что скажешь?

В кабинете повисла секундная тишина. Еще неделю назад от такого предложения у нее закружилась бы голова. Сейчас же эти слова звучали для нее как скрип ржавой мышеловки.

Алина аккуратно убрала конверт во внутренний карман пальто, подняла на старика спокойный, прямой взгляд и негромко произнесла:

— Я ухожу, Виктор Павлович.

Савельев замер с открытым ртом. Улыбка сползла с его лица, сменившись растерянным недоумением:

— В смысле… уходишь? Куда? Алина, ты в своем уме? Я тебе даю руководство направлением! В тридцать лет стать топом в Сити — да за это место глотки грызут! Мало денег? Назови сумму, обсудим!

— Дело не в деньгах, — она покачала головой, чувствуя удивительную, кристальную легкость внутри. — И не в должности. Просто я больше не смогу здесь работать.

Старик тяжело, с хрипом выдохнул, внимательно вглядываясь в ее лицо. Он был тертым лисом, сорок лет крутившимся в бизнесе, и мгновенно считал всё: и новую стрижку, и безупречный брючный костюм, и эту недосягаемую, холодную уверенность человека, который перерос его систему на две головы.

Он опустил плечи, вдруг став маленьким и сгорбленным, потянулся к коньяку и плеснул себе на два пальца в пузатый бокал.

— Ковалев переманил, да? — глухо, без злобы спросил он.

Алина промолчала, лишь чуть приподняв бровь.

— Можешь не отвечать, сам вижу, — Савельев покачал головой и сделал большой глоток, скривившись от спиртного жара. — — Вот ведь сучья правда жизни… Знаешь, Алина, в чем главная беда от таких, как Дмитрий, для всех остальных? Они показывают людям, как можно работать по-другому. Вести дела, зарабатывать и помнить об ответственности перед людьми, держать слово. Там людей ценят за мозги, а не за вылизанные отчеты.

Он тяжело стукнул дном бокала по столу и невесело усмехнулся:

— А когда человек хоть раз поработает там, где всё по-честному… он к нам, в болото, уже не вернется. Ему здесь просто физически дышать нечем. По старым правилам жить больше не хочется, да?

— Не хочется, Виктор Павлович, — тихо, но твердо подтвердила она.

Савельев долго молчал, глядя в окно на серую гладь Москвы-реки, а затем махнул сухой старческой рукой:

— Пиши заявление. Две недели отрабатывать не заставлю, подпишу сегодня же одним днем. Удачи тебе там… на «Арме».

Она встала, на секунду притормозила:

— Виктор Павлович…

Пожилой человек отвернулся от окна:

— Да?

— Я благодарна вам. — Алина легко и мягко улыбнулась, — Вы мне напоминали отца даже, некоторое время. До Токаева… Не держите зла. Удачи вам.

Она коротко кивнула бывшему шефу и вышла в коридор, навсегда закрывая за собой дверь.

Тяжелая стеклянная «вертушка» южного вестибюля «Федерации» осталась позади, наглухо заглушив стерильный кондиционированный гул небоскреба. Алина вышла на Пресненскую набережную. Октябрьский ветер сразу ударил в лицо — прохладный, влажный, пахнущий осенней водой и бензином. Внутренний карман пальто приятно оттягивал плотный конверт с наличными, а в сумочке лежали расчетный листок, выписка СТД-Р и трудовая книжка со свежей записью об увольнении по соглашению сторон. Она подошла к гранитной балюстраде и опустила ладонь на шершавый холодный камень, глядя, как мутно-зеленая вода реки бьется о парапет. Зеркальные великаны Сити за спиной превратились в чужой холодный муравейник, который больше не имел над ней никакой власти. Никаких хвостов. Никаких долгов перед «Пульсом».

Глава 10

Глава 10.

Она набрала Дмитрия. Тот ответил мгновенно:

— Алина?

— Я всё, Дима, — сказала она, и в голосе сама собой зазвучала звенящая легкая нота. — Конверт на руках, трудовую забрала. Заявление Савельев подписал сегодняшним числом. Я абсолютно свободна.

В трубке послышался негромкий гул серверов лофта и характерный стук клавиатуры Марка. Дмитрий помолчал секунду, переваривая новость, и в его низком голосе отчетливо проступила та самая теплая, уверенная улыбка:

— Поздравляю, партнер. С возвращением в нормальный мир. Ну что, бери такси и пулей сюда, на «Арму»? Марк уже поляну накрывает, Илья добыл где-то правильный фалафель и хумус с кедровыми орехами. Ждем только тебя — официально обмывать твой первый день в новой жизни.

Алина невольно улыбнулась, представив эту картину, но покачала головой, глядя на проезжающие по набережной машины:

— Дим, я бы с радостью, но сегодня никак. Мне кровь из носу надо на аптечный склад на Дубровке. Заказ на папины сердечные препараты пришел, их держат строго до шести вечера, а потом бронь слетит. Знаешь, сейчас довольно тяжело достать нормальный импорт. Надо успеть выкупить, отправить ему и тетю Валю успокоить, что всё в порядке.

На том конце повисла короткая понимающая пауза. Гул лофта отошел на второй план — Дмитрий явно отвернулся от парней, чтобы говорить тише:

— Семья — это святое, тут без вопросов. Помощь с машиной нужна? Заказать тебе?

— Нет-нет, здесь такси полно, — мягко отказалась она. — А завтра… Завтра я вся ваша.

— Ловлю на слове, — усмехнулся Дмитрий. Голос его стал еще чуть глубже: — Выкупай лекарства. И выспись наконец как следует, без будильников. Встречаемся завтра в лофте.

— До завтра, Дима, — тихо ответила Алина, нажала отбой и с легким сердцем зашагала к стоянке такси.

Такси домчало Алину до Дубровки за двадцать минут.

На аптечном оптовом складе пахло спиртом, упаковочным картоном и веяло сухим воздухом от обогревателей. Заказ на три упаковки редкого швейцарского кардиопротектора для отца ждал ее на выдаче. Она расплатилась налом прямо из конверта, бережно уложила плотные коробки с ампулами в сумку и облегченно выдохнула: успела.

Родители жили в Саратове. Почтой такую хрупкую термозависимую химию отправлять было нельзя, транспортные компании тоже были ненадежны, поэтому выручала Таня — бессменная проводница фирменного девятого поезда «Саратов — Москва» и давняя подруга. Ее состав как раз отправлялся с Павелецкого завтра вечером.

Домой в Видное она вернулась в начале седьмого вечера.

Панельная пятиэтажка встретила ее мирным запахом жареной картошки с луком. Тетя Валя, прихрамывая, вышла в коридор, вытирая руки о фартук, и внимательно вгляделась в лицо племянницы:

— Ты рано, птаха? Ну что там твой Савельев? Не съел?

Вместо ответа Алина молча расстегнула пальто, достала из внутреннего кармана увесистый белый конверт и положила его на трюмо рядом со связкой ключей.

Старушка приподняла брови, осторожно взяла конверт, оценив его вес, и тихо ахнула:

— Господи помилуй… Это что ж, всё твое? Честно заработанное?

— Честно, теть Валь, до последней копейки, — Алина с наслаждением стянула сапоги, скинула пальто и крепко обняла ее за плечи. — Папины лекарства выкупила, завтра Танюше на поезд передам. И с «Пульсом» покончено — я уволилась. С понедельника официально перехожу к Дмитрию, на «Арму».

Тетя Валя замерла, прижав конверт к груди, и на ее одутловатом лице проступила редкая, глубокая улыбка:

— Ну и слава богу. Значит, правильный мужик оказался этот твой Дима. Садись ужинать, картошка как раз подошла.

Они прошли на тесную кухню. На плите шкворчала чугунная сковорода. Тетя Валя со стоном оперлась ладонью о край стола, переставляя отяжелевшую ногу, и потянулась за тарелкой.

— Сядь, я сама всё положу, — Алина мягко отобрала у нее лопатку и усадила на табурет.

Разложив горячую картошку, она села напротив и придвинула к себе кружку:

— Теперь слушай меня внимательно. Завтра утром я заезжаю в филиал вертебрологии на Советской, оформляю документы и вношу предоплату. А в понедельник в десять утра мы с тобой едем к врачу на блокаду.

Старушка тут же насупилась, замахав сухонькой ладонью:

— Да брось ты, Алинка! Куда я поеду? Спина у всех стариков болит, возрастное это. Помажу согревающей мазью, шерстяным платком перевяжу — и отпустит. Не вздумай врачам деньги спускать, отцу таблетки нужнее. Мне уж помирать скоро, а ты миллионы выкидывать собралась.

— Никто помирать не будет, хватит прибедняться, — резко, но с теплом оборвала ее Алина. — Мазь твой зажатый корешок не вытащит. Ты уже правую ногу за собой волочишь, до паралича стопы досидеться хочешь? Чтобы под себя ходить? Врач снимет отек блокадой под рентгеном, освободит нерв, а потом пойдем на реабилитацию. Мышечный корсет восстановим, кинезиотерапию подключим. Будешь ходить ровно, как миленькая, я тебя с палками скандинавскими по парку гулять заставлю. Деньги есть, вопрос решен.

Тетя Валя поджала губы, но в глазах за стеклами очков блеснули слезы:

— Строгая ты стала… Командирша.

— Не командирша, а жить с тобой хочу долго, — тихо ответила Алина и накрыла ее шершавую ладонь своей.

Впереди был тихий вечер в родных стенах, ночь без тревог и первый рабочий день в новой жизни.

Пятница началась без будильника, под ровный шум дождя за стеклом.

К девяти утра Алина дошла до клиники на Советской. В регистратуре оформила договор, внесла предоплату за блокаду под ЭОП-навигацией на понедельник, а в аптечном киоске забрала выписанные ампулы пролонгированного бетаметазона и нейропротектора. Отсчитав купюры из конверта, она впервые за долгое время выдохнула: у бесконечной мучительной боли тети Вали наконец появился понятный медицинский финал.

Быстро заскочив домой, чтобы положить препараты и строго напомнить тете быть готовой в понедельник к десяти, Алина переложила в сумку швейцарские ампулы для отца и вызвала машину до Сыромятнической.

На «Арме» в половине одиннадцатого пахло мокрым чугуном, палой листвой и свежесваренным кофе. Когда она толкнула массивную дверь лофта, ритм внутри разительно отличался от лихорадочного спринта вторника. Никакой паники, никаких горящих логов. Илья, развалившись в кресле в одних шерстяных носках и просторном худи, неторопливо крутил на мониторе архитектуру новой базы данных. Марк увлеченно резал на доске свежий хрустящий багет, раскладывая вокруг контейнеры с сыром, оливками и тем самым обещанным хумусом.

— О, полноправный партнер соизволил явиться! — радостно возвестил Гольдман, потрясая кухонным ножом как шпагой. — Проходи, присаживайся. Мы тут без тебя уже полчаса спорим, куда ставить твой рабочий стол. Илюха толкает тебя к серверной стойке, чтобы ты «чувствовала дыхание кремния», а я говорю — ставить к южному окну, там свет нормальный для макетов.

— Поставим туда, куда Алина сама решит, — раздался спокойный голос из глубины зала.

Дмитрий вышел из переговорной. На нем был мягкий темно-серый свитер крупной вязки, взгляд — открытый, отдохнувший и очень внимательный. Он подошел к ней, не скрывая сдержанной радости:

— Доброе утро. Как добралась? Дома всё уладила?

— Уладила, — Алина с улыбкой передала ему пальто. — Уколы для тети Вали уже в холодильнике, папины ампулы в сумке. Вечером, без двадцати восемь, мне только на Павелецкий выскочить на полчаса — передать проводнице Тане в девятый поезд, и дело сделано.

— В семь тридцать вызовем нормальный бизнес, отвезу тебя на вокзал, — сказал Дмитрий, убирая телефон в карман брюк. — Под дождем по перронам метаться одной не вариант.

Он чуть скривился, глядя в окно на бесконечную вереницу машин, ползущих по набережной:

— Иногда, честно говоря, жалею, что так и не обзавелся собственными колесами. Вечно то в коде, то на самолетах, вроде в центре всё под рукой, в пробках стоять некогда… А в такие дни думаешь: бросил бы сумки в багажник, сел за руль сам — и никакой зависимости от чужих водителей.

Алина держала в руках тяжелую глиняную кружку, глядя на поднимающийся пар. Его слова зацепили какую-то тонкую струну. Она подняла на него внимательный, чуть удивленный взгляд:

— Дим… а зачем тебе вообще ехать со мной на Павелецкий?

Вопрос прозвучал тихо, но отчетливо разрезал пространство между ними.

Марк с Ильей на другом конце лофта громко спорили о шардировании базы, так что их угол оставался изолированным островком.

Дмитрий не ответил сразу. Он опустил глаза, медленно провел ладонью по полированному краю дубового стола, словно подбирая нужные слова, которых не было ни в одном техническом задании. Прошла секунда, другая. Когда он снова посмотрел на нее — открыто, без привычной маски руководителя, в глубине его серых глаз не осталось ни капли деловой дистанции:

— Просто… хочу.

Слово повисло в воздухе — весомое, честное и обезоруживающее.

Алина почувствовала, как по спине пробежал холодок, а пальцы крепче сжали горячую керамику кружки. В груди снова шевельнулось то самое чувство — теплое, манящее, но пугающее своей новизной. Она отвела взгляд в сторону экрана, где в графе роли чернела свежая строчка ее контракта, и нерешительно произнесла:

— Дим… я ведь теперь твоя подчиненная. Партнер, сотрудник — неважно. Ты мой руководитель. Может… нам стоит сохранять дистанцию?

Дмитрий не стал отшучиваться или делать вид, что не понял. Он задержал на ней взгляд еще на секунду — внимательный, теплый, в котором читалось безоговорочное уважение к ее границам. Давить, напирать или включать снисходительного босса он не собирался вовсе.

Он плавно отстранился от стола, поднял ладони в шутливом капитулирующем жесте и, развернувшись на пятках в сторону кофемашины, пританцовывая, вполголоса, чуть фальшивя на французский манер, затянул под нос:

— Субординация — это профанация в делах сердечных, да, месью…

Марк на другом конце стола поперхнулся оливкой и застыл с открытым ртом, а Илья только удивленно поскреб бороду, пытаясь понять, из какого раритетного водевиля шеф выкопал этот пассаж.

Алина не выдержала. Напряжение лопнуло, и она звонко, беззастенчиво рассмеялась — открыто, от всей души, уронив лицо в ладони и сотрясаясь от смеха. Вся эта строгая офисная напыщенность, которой ее четыре года пичкали в Сити, испарилась без следа.

Дмитрий стоял у стойки, нажимая кнопку кофемолки, и через плечо наблюдал за ее смехом с совершенно обезоруживающей, мальчишеской улыбкой. Он был так нелеп и одновременно трогательно мил в этой своей мгновенной капитуляции, что остатки неловкости между ними просто растаяли.

— Ладно, партнер, — Дмитрий поставил свежую чашку на стол, лукаво прищурившись. — Дистанцию соблюдем строго по ГОСТу. Но на Павелецкий в семь тридцать мы все равно едем вместе. Исключительно в рамках корпоративной логистики и заботы о ключевых кадрах. Возражения не принимаются.

— Цирк уехал, а клоунов оставил… полный лофт, — сквозь улыбку выдохнула Алина, вытирая пальцем выступившую от смеха слезинку.

Она придвинула к себе ноутбук, чувствуя, как на душе становится удивительно легко и спокойно. День обещал быть долгим, но впервые за много лет это была работа, от которой не хотелось сбежать.

В половине восьмого вечера моросящий дождь превратил Садовое кольцо в сплошную реку из красных стоп-огней. Черный бизнес-класс плавно притерся к тротуару у входа на Павелецкий вокзал.

Они быстро прошли через турникеты к дальним путям, где уже дышал паром девятый фирменный «Москва — Саратов». Пахло мокрым углем, дизелем и сыростью осеннего перрона.

У седьмого вагона, проверяя билеты у пары с огромными клетчатыми сумками, стояла Танечка.

Маленькая, хрупкая, с аккуратно уложенными под форменную пилотку темными волосами. В свои тридцать два она выглядела почти подростком, если бы не глубокая, въевшаяся в уголки губ усталость и слишком плотный, неестественно светлый слой тонального крема на левой скуле, под которым все равно угадывалась нехорошая желтовато-сизая тень.

— Танюш! — окликнула ее Алина, подходя ближе.

Лицо проводницы моментально посветлело:

— Алинка! Успела!

Они коротко, крепко обнялись. Дмитрий тактично остался стоять в двух шагах, держа руки в карманах пальто.

— Тань, познакомься, это Дмитрий, мой… коллега, — представила Алина. — Дим, это Таня, папина спасительница.

— Очень приятно, Татьяна, — Дмитрий слегка склонил голову и мягко улыбнулся, не делая ни малейшей попытки разглядывать ее лицо, хотя опытный взгляд наверняка сразу всё приметил.

— Взаимно, — смутилась Таня, пряча зябнущие пальцы в форменные перчатки.

Алина достала из пакета аккуратный термочехол: — Тут три пачки, строго в прохладе держать. Мама встретит прямо у вагона в Саратове, я ей уже телеграфировала. И вот это тебе, — она протянула небольшую коробочку свежего зефира и конвертик. — Это за хлопоты, Танюш.

— Перестань, какие деньги, я же для тети Лены… — зашептала Таня, пытаясь оттолкнуть конверт, но Алина мягко, но настойчиво вложила его ей в карман шинели.

И тут же, поймав момент, когда Дмитрий чуть отступил, чтобы пропустить спешащего пассажира, Алина вгляделась в ее скулу и тихо, с болезненным напряжением спросила:

— Тань… Это опять Василий?

Танечка втянула голову в плечи. Ей было отчаянно стыдно — и перед Алиной, и перед стоящим поодаль незнакомым мужчиной. Она нервно дернула уголок форменного шарфа, опустила глаза на мокрый асфальт, но врать не стала. Лишь едва заметно, виновато кивнула.

— Тань, ну сколько можно… — сдавленно выдохнула Алина.

— До отправления десять минут, мне надо в вагон, — заторопилась проводница, судорожно улыбнувшись сквозь наворачивающиеся слезы. — Всё маме передам в лучшем виде, Алин, не переживай. Езжайте, промокнете!

Они тепло попрощались. Алина стояла на перроне, пока зеленый хвост поезда не тронулся и не скрылся в мутной пелене дождя.

Обратно к машине шли молча. Только когда захлопнулись тяжелые двери такси и салон наполнился сухим теплом, Алина шумно выдохнула и откинулась на кожаный подголовник.

— Мы с ней за одной партой девять лет просидели, — негромко заговорила она, глядя на залитое каплями стекло. — Потом пути разошлись: я в универ наш поступила, а она в Подмосковье уехала с мужем. Не виделись целую вечность, а лет пять назад я поехала родителей проведать — и случайно нос к носу столкнулись на перроне. Столько радости было…

Дмитрий не перебивал, только слушал, повернув к ней лицо.

— Она замуж выскочила почти сразу после школы. Василий этот… вроде любил ее, на руках носил. Но родить она не может. Сколько клиник обошла, все анализы сдала — здорова абсолютно, никаких патологий. А детей нет. И он на этой почве начал глушить водку. Сначала просто злился, замыкался, а потом… первый раз ударил. Потом второй. Каждый раз наутро на коленях ползал, ревел, клялся, что больше ни-ни.

Алина сжала кулаки в карманах:

— И так уже два года. Трезвый — обычный мужик, а как зальет глаза — рука тяжелая. То леща отпустит так, что губу разобьет, то скулу вот… А ей куда деваться? К родителям стареньким в Саратов возвращаться на пенсию в однушку? Так они хоть в Подмосковье с ним угол снимают, работа на железке держит… Сидит и терпит. Думает, выхода нет.

Она замолчала.

Дмитрий положил свою ладонь поверх ее сжатых пальцев — не для флирта, а просто делясь спокойным, заземляющим мужским теплом:

— Выход всегда есть. Просто когда тебя два года методично ломают, кругозор сужается до размера коридора в хрущевке. Если решит уйти — скажи мне. Найдем ей и угол, и нормальную юридическую помощь, чтобы этот кадр близко подойти боялся.

Алина посмотрела на его руку, на его профиль в полутьме салона и тихо, искренне сказала:

— Спасибо, Дим. Я ей звоню, как лекарства надо передавать… Буду чаще звонить. Она хорошая подруга была… Лучшая…

Алина замолчала, заметно погрустнев. А Дмитрий подался вперед, к водителю:

— Отвезите нас на Пресню, пожалуйста.

Такси свернуло с Садового на Красную Пресню и притормозило у невысокого старинного особняка, где за тяжелыми шторами светились теплые панорамные окна ресторана «Michel».

После дождя и вокзальной суеты здесь царила тишина. Никакого стеклянного холода Сити — приглушенный теплый свет, темное дерево, негромкий джаз и запах запеченной утки, розмарина и теплого хлеба.

Дмитрий помог Алине снять пальто, перехватил ее пакет и кивнул хостес, которая провела их в дальний угол зала к маленькому столику у окна с тяжелыми льняными шторами.

— Дим, мы же вроде на «Арму» собирались? — Алина присела на мягкий диван, проведя ладонью по льняной салфетке.

— На «Арме» Марк с Ильей уже наверняка доели весь хумус и спорят о ядрах компилятора, — Дмитрий сел напротив, расстегнув верхнюю пуговицу рубашки. — А тебе после вокзала и этой истории с Таней нужно выдохнуть. Нормально поесть, а не заглатывать бутерброды перед монитором.

Официант бесшумно опустил на стол меню. Дмитрий, даже не открывая винную карту, мягко спросил:

— Белое сухое или чай с травами?

— Чай, — улыбнулась она. — С чабрецом и лимоном. И… что-нибудь горячее. Я только сейчас поняла, что за весь день съела полбутерброда.

Через двадцать минут на столе стояли запеченная с травами утиная грудка с брусничным соусом для нее, сочный рибай с печеными овощами для него и корзинка с горячим багетом и сливочным маслом.

Ели почти молча — не из-за неловкости, а от той правильной, глубокой усталости, когда слова не нужны. Горячая еда и терпкий травяной чай постепенно вытеснили из мыслей серость перрона и сжатые губы Танечки. Жизнь снова обретала краски.

Дмитрий отодвинул пустую тарелку, сделал глоток кофе и посмотрел на Алину через стол. В мягком свете бра ее глаза блестели спокойно и ясно.

— Ну как? — негромко спросил он. — Вернулась из Саратова в Москву?

— Вернулась, — выдохнула она, откинувшись на спинку дивана. — Спасибо, Дим. За всё. За то, что вытащил, за ужин, за слова про Таню. Я… отвыкла, что рядом может быть кто-то, кто просто берет и решает вопросы. Без условий и выгоды.

Дмитрий едва заметно улыбнулся одними уголками губ:

— Привыкай, Алина. Впереди два года совместной работы, британцы, закрытая крипта. А по выходным — никакой субординации.

— Договор? — тихо спросила она, глядя ему прямо в глаза поверх остывающей чашки с чабрецом.

— Договор, — ответил Дмитрий.

Слово прозвучало твердо, но в голосе промелькнула едва уловимая досада: загонять их живое, искрящее притяжение обратно в рамки субординации ему явно не доставляло удовольствия. Но он принял ее правила без споров.

Алина была спокойна — впервые за долгое время она верила мужчине рядом безоговорочно, без оглядки на подвох. А увидев ее ровное, безмятежное спокойствие, окончательно оттаял и он. Напряжение спало, уступив место тому самому рабочему азарту, который оба так любили.

Глава 11

Глава 11.

Она пододвинула к себе чайник, подливая обоим кипятка, и с живым любопытством спросила: — Ты обмолвился про закрытую крипту. Что там за проект? Снова спасаем чей-то горящий дедлайн?

Дмитрий усмехнулся, откинувшись на мягкую спинку дивана:

— Нет, здесь совсем другой масштаб. На меня вышли старые знакомые — матерые ребята прямо из верхушки Binance, одной из крупнейших бирж в мире. Они оттуда ушли, забрали с собой опыт, связи и решили замутить свой независимый продукт. Хотят развернуть экосистему: гибридный кошелек, одновременно и горячий для быстрых транзакций, и холодный для автономного безопасного хранения больших сумм.

— Чистый стартап? — уточнила Алина, прищурившись.

— Формально — да, но чисто в сети, без раздутых офисов в Сити, — пояснил он, крутя в пальцах салфетку. — Они занимаются системным алгоритмическим трейдингом, гоняют крипту миллионными объемами, обучают людей и полностью сопровождают тех, кто только заходит на биржи. Это уже не студенческие игрушки с токенами, Алина. Обороты там бешеные, прибыль колоссальная.

Он сделал паузу, его тон стал суше и серьезнее:

— Главное, почему я вообще согласился с ними говорить: они стараются не надувать клиентов. В криптомире это, считай, аномалия, там девяносто процентов проектов заточены под банальный скам и выкачивание бабла. А эти прямо на входе в лоб предупреждают: никаких сказочных гарантий нет, рынок волатилен до безумия, а шанс слить весь депозит в ноль — абсолютно реальный.

— И что, народ не разбегается от такой правды? — с легкой иронией улыбнулась она.

— В том-то и парадокс, — Дмитрий покачал головой, криво усмехнувшись. — Люди упорно хотят верить в волшебную таблетку. Трейдинг — такая тема… психология чистой воды. Им хоть сто раз напиши красными буквами «Вы всё потеряете», они всё равно несут деньги в надежде на легкое чудо.

Он наклонился к столу и посмотрел на нее с профессиональным вызовом:

— И вот под эту гремучую смесь нам с тобой предстоит спроектировать интерфейс. Сделать инструмент, который не запутает новичка, удержит его от панических ошибок, но при этом даст профи мгновенный доступ к сложным ордерам и холодному ключу. Задачка как раз под твои мозги.

Прямо из ресторана они вернулись на «Арму» — ребятам не терпелось созвониться, пока в Сингапуре не наступила полночь.

В лофте царил полумрак, разбавленный неоном серверных индикаторов. На большом настенном экране горел интерфейс защищенной конференции. С той стороны на связь вышли трое: двое славянских парней в худи с логотипами блокчейн-хакатонов, сидевших на балконе с видом на сверкающие в ночных огнях небоскребы Марина-Бэй, и третий — сухой азиат в очках, молча тянувший стик айкоса.

Разговор вел Влад — бывший лид инфраструктуры деривативов Binance.

Парней не просто штормило от амбиций — их несло на крейсерской скорости:

— Короче, расклад такой: кошелек — это лишь витрина, первый этап воронки, — тараторил Влад, активно размахивая руками. — Дальше мы накручиваем P2P-арбитражный шлюз без верификации до десяти тысяч USDT, запускаем копитрейдинг с ИИ-агентами, которые страхуют плечи, а к концу следующего года выкатываем полноценную независимую некастодиальную биржу на собственном L2-протоколе. Мы заберем весь трафик тех, кого сейчас душат регуляторы в Штатах и Европе.

Марк тихо присвистнул в кулак, а Илья на заднем плане лишь скептически хмыкнул, прикидывая в уме терабайты нагрузки на базы данных.

Алина молча смотрела на экран. Планы действительно были космическими — от таких масштабов веяло либо гениальным стартапом, либо классическим криптопузырем, который лопнет при первом серьезном дампе рынка.

Дмитрий слушал спокойно, не перебивая, скрестив руки на груди. Когда поток восторга иссяк, он задал единственный приземленный вопрос:

— Архитектура понятна, замах внушительный. Но нас интересует первый спринт: гибридный кошелек и холодный ключ. Что с бюджетом на проектирование и дизайн-систему?

Парни на том конце переглянулись. Влад на секунду замялся, почесал затылок и ответил предельно честно, без надувания щек:

— Дим, раунд серии А мы закрываем только в ноябре. Пул инвесторов деньги подтвердил, но транши привязаны к майлстоунам. Поэтому на первый этап — архитектуру интерфейсов и криптографический протокол — мы прямо сейчас выделяем из личных резервов два биткоина.

В лофте повисла секундная тишина.

Два битка по текущему курсу были внушительной, очень плотной суммой за один модуль — с гарантией того, что если проект взлетит, дальше пойдут совсем другие нули. Но и риски волатильности монеты лежали на исполнителях.

Дмитрий не повернул головы, но скользнул взглядом по Алине, словно безмолвно спрашивая ее мнение: ввязываемся в эту гонку?

Две недели пролетели незаметно.

Алина успела обжиться на «Арме», пересобрать дизайн-систему под новый европейский контракт и даже привыкнуть к тому, что по утрам ее неизменно ждет большая кружка чая с чабрецом. С семейными вопросами тоже все встало на рельсы: тетя Валя послушно берегла спину перед назначенной процедурой, а отец в Саратове исправно принимал швейцарские препараты , переданные через Танюшу.

В середине октября сингапурские экс-бинансовцы наконец вышли на связь для предметного разговора.

На большом экране лофта снова появились знакомые лица. Влад выглядел более собранным, а картинка за его спиной сменилась: вместо открытого ночного балкона Марина-Бэй теперь виднелась строгая переговорная комната с панорамным остеклением.

— В общем, по архитектуре кошелька и двум биткам на первый этап мы с вами ударили по рукам, тут без вопросов, — заговорил Влад, покручивая в руках стилус. — Но у нас есть жесткое встречное условие по формату работы. Без него контракт не взлетит.

Дмитрий, сидевший во главе стола, чуть прищурился:

— Слушаю.

— Никакой чистой удаленки на этапе закладки фундамента, — отрезал Влад. — Нам нужно, чтобы двое ваших ключевых людей вели разработку от и до прямо здесь, в Азии. Рядом с нами. Чтобы сидеть плечом к плечу и буквально на лету пилить протокол и затачивать интерфейсную инфраструктуру под живой трейдинг.

Марк на соседнем стуле вытянул шею, поправляя очки:

— В Сингапуре?

— Пока мы в Синге, — кивнул Влад. — Но через месяц, возможно, перебазируемся в Китай — в Шэньчжэнь, или вообще во Вьетнам, в Дананг, там сейчас налоговые льготы вкуснее. Куда сместимся мы — туда летите и вы. Все расходы за наш счет: перелеты бизнес-классом, жилье — только отели четыре-пять звезд, всю топовую аппаратуру выдадим на месте, новейшие "прошки" на максимальном железе уже ждут в коробках.

В лофте повисла тяжелая тишина.

Условия звучали не просто щедро — они выглядели сказочно, почти нереально для обычного аутсорс-контракта. Пять звезд, Азия, железо, оплата в биткоинах и полное покрытие быта.

Алина посмотрела на Дмитрия. В его взгляде не было и тени азарта. Напротив — серые глаза стали холодными, жесткими и колючими. В мире больших денег, а особенно в полукриминальной криптоиндустрии, бесплатный сыр в золотых мышеловках всегда имел двойное дно. Вывезти двух топовых спецов на чужую территорию, запереть в закрытом контуре другой страны, менять локации между Вьетнамом и Китаем… Это слишком сильно напоминало изощренную ловушку — либо попытку привязать разработку к серой схеме, откуда потом будет не так-то просто уехать с исходниками.

— Слишком много переменных для простого стартапа, Влад, — ровным, непроницаемым голосом произнес Дмитрий, переглянувшись с насторожившимся Ильей. — Смена юрисдикций на лету и изоляция разработчиков в контракт не входили. Нам нужно всё взвесить внутри команды.

— Дим, решать надо быстро, через три дня закрываем слоты… — начал было Влад.

— Мы подумаем и свяжемся с вами. До связи, — сухо оборвал Дмитрий и нажал кнопку отбоя на панели управления.

Экран погас. Дмитрий медленно откинулся на спинку кресла, скрестил пальцы на груди и негромко произнес в повисшей тишине:

— Пахнет паленым. Слишком красиво стелют, чтобы это было чистой разработкой, — он повернулся к бородачу, голос его звучал глухо и жестко. — Илья… я тебя попрошу. Надо раскопать этих парней. Через Tor и Darknet в том числе. Гитхаб, гитлаб, все закрытые репозитории. Прогони их смарт-контракты и токены по чекерам — Token Sniffer, De.Fi Scanner, Honeypot.is, глянь аналитику в Arkham Intelligence и Chainalysis. Если там мутная ликвидность — пробьем через базы rekt news и теневые борды. В общем, всё, где бы копал любой въедливый безопасник. Выверни их наизнанку по полной.

— Понял, шеф, — мгновенно собравшийся Илья без лишних слов натянул капюшон худи и придвинул к себе эргономичную клавиатуру.

Звуки лофта моментально сменились плотной дробью клавиш. На двух из трех его мониторов развернулись терминалы: поднялись цепочки луковичной маршрутизации, посыпались сканеры по открытым утечкам баз данных, приватным веткам репозиториев и профильным тредам на теневых форумах вроде Dread и BreachForums.

— Марк, помоги ему с криптографическими следами, — скомандовал Дмитрий, вставая и начиная мерить шагами пространство перед кирпичной стеной. — Влад дал публичный адрес для перевода тех самых двух битков. Прогоните этот кошелек через аналитические кластеры. Посмотрим, куда оттуда текут хвосты.

Дмитрий налил в две чашки горячей воды, бросил в одну щепотку сушеного чабреца и молча поставил перед Алиной. Взгляд его оставался предельно собранным — тем самым взглядом стратега, который видит поле боя на пять ходов глубже остальных.

— Смотрите сюда, — спустя двадцать минут Илья вывел на центральную панель схему связей, похожую на паутину с черным ядром посередине. — Кошелек Влада и два транзитных адреса засветились в закрытой базе Chainalysis еще в июне. Но дело даже не во взломе моста. Эти ребята — типичные операторы многоуровневого черного синдиката.

— Раскрой, Илюх, — Марк пододвинул стул, нервно крутя в пальцах незажженную сигарету. — Чтобы Алина понимала, во что нас чуть не вписали.

Илья шумно втянул носом воздух и развернул окно декомпилятора смарт-контрактов:

— Классика криптоскама. Первая ступень — «предпродажа уникального utility-токена», который якобы обеспечивает инфраструктуру их «будущей некастодиальной биржи». Они запускают агрессивный пресейл: рисуют космические графики доходности, накручивают ботами восторженные отзывы в телеграм-каналах и кричат из каждого утюга, что монета вот-вот залистится на Binance и взлетит минимум в тридцать раз. Люди несут последние накопления — кто тысячу долларов, кто пятьдесят тысяч.

— А под капотом? — негромко спросила Алина, вглядываясь в строки сомнительного solidity-кода.

— А под капотом — так называемый honeypot, или скрытый rug pull, — криво усмехнулся Марк. — В смарт-контракт на этапе компиляции зашита крошечная строчка: функция покупки открыта для всех, а вот функция продажи заблокирована для любых адресов, кроме кошелька разработчика. Человек видит, как его баланс в интерфейсе «растет», радуется, нажимает «вывести» — а сеть выдает ошибку транзакции. Пока хомяки паникуют, создатели одним нажатием кнопки дергают пул ликвидности в децентрализованном обменнике, выкачивают весь настоящий эфир и растворяются в тумане.

— Но это для розничных дураков, — жестко перебил Дмитрий, подходя к столу. — Настоящая чернуха начинается дальше. Влад не случайно заикнулся про гибридный кошелек с «холодным ключом». Если бы мы спроектировали им интерфейс клиентского хранилища, они бы зашили туда скрытый слиппейдж или фишинговый аппрув. Клиент думает, что подписывает транзакцию на тридцать долларов, а на самом деле одним кликом передает смарт-контракту неограниченный доступ ко всем активам на своем кошельке. Через месяц балансы сотен тысяч людей просто обнуляются в пользу азиатского адреса.

— И почему им так нужны были именно мы? — Алина подняла глаза на Дмитрия. — В Азии мало своих разработчиков? Зачем тащить нас в Сингапур или Мьянму?

Дмитрий повернулся к ней, и в его глазах блеснул холодный огонь:

— Потому что крипторынок захлебнулся в откровенном дерьме, Алина. Доверие там сейчас стоит дороже любых двух биткоинов. А у нас — безупречный след. «Kovalev Partners» закрыли сложнейший аудит для британского банковского регулятора без единого замечания по безопасности. Твое имя и твой интерфейсный почерк знают в финтех-среде Лондона и Франкфурта.

Он оперся кулаками о столешницу:

— Понимаешь замысел? Они хотели прикрыться нами как бронежилетом. Повесить на свой скам-проект плашку: «Архитектура безопасности и UI разработаны студией Kovalev Partners». Для сомневающихся инвесторов и крупных фондов это железобетонный знак качества. Наше имя — гарантия, что проект не подстава. Люди бы расслабились: «О, эти ребята делали ядро под комплаенс FCA, здесь точно всё чисто». А пока все верят нашему имени, за ширмой крутится черная прачечная и воруются чужие миллионы.

— А если бы мы на месте всё поняли и отказались подписывать релиз? — тихо спросила она, вспомнив настойчивую фразу Влада про «разработку от и до в закрытом периметре».

— IP-адрес их корпоративного VPN, через который они только что выходили на созвон, — это никакой не Сингапур, — глухо сказал Илья. — Сигнал идет через шлюз в Мьянме. Район Мявади, граница с Таиландом. Та самая серая зона, где сидят китайские синдикаты. А на твой вопрос, Алина, ответ простой: оттуда нет обратных билетов. У тебя на въезде забирают паспорт «для оформления рабочей визы», а дальше ты сидишь за шлагбаумом с вооруженной охраной. Отказался кодить или подписывать релиз — сидишь в изоляторе без связи, пока не одумаешься, или тебя просто перепродают как рабочую силу соседнему колл-центру. Два биткоина они выделили… Щедрые ублюдки.

В лофте стало физически холодно.

Алина невольно обхватила себя за плечи. Пальцы едва заметно дрожали от накатившего осознания бездны, над которой они только что прошли по тонкому канату.

Марк молча вбил комбинацию клавиш на клавиатуре, намертво блокируя сетевые порты:

— Всё. Контакты стерты, ключи отозваны, репозиторий сожжен. Земля им стекловатой.

Дмитрий подошел к Алине сзади, положил тяжелую, теплую ладонь ей на плечо и слегка сжал — уверенно, заземляя и возвращая в реальность, где был светлый лофт, кирпичные стены и трое надежных людей вокруг.

— Выдохни, Алина. Мы вовремя заглянули под капот. У нас есть британцы, есть чистый контракт и есть репутация, которую мы ни за какие биткоины не продадим. Возвращаемся к нормальной работе.

Напряжение в лофте постепенно улеглось. Запах свежего кофе и хрустящих тостов с хумусом окончательно вытеснил призрак колючей проволоки в джунглях Мьянмы. На экранах снова развернулись строгие, чистые схемы британского финтеха — понятная логика, легальные транзакции и лицензии европейского регулятора.

Алина сделала глоток чая с чабрецом, но взгляд ее все еще невольно цеплялся за темную консоль, где Марк только что зачистил сетевые шлюзы.

Она повернулась к Дмитрию, сидевшему на углу стола с планшетом:

— Дим… А если они попытаются связаться опять? Через другие каналы, через почту, через третьих лиц? Такие люди вряд ли легко отпускают тех, кого уже посчитали подходящей рыбой.

Дмитрий оторвался от экрана и посмотрел на нее. В его взгляде не было ни паники, ни бравады — лишь спокойная, холодная уверенность человека, знающего правила этой игры от и до.

— Они не свяжутся, — ровно ответил он. — В теневом секторе очень хорошо понимают язык молчания. Когда после предложения выехать в закрытый периметр вторая сторона не торгуется за проценты, не просит надбавок, а просто в ноль обрубает порты и отзывает ключи — это четкий сигнал.

Он чуть прищурился, отставив чашку:

— Они моментально понимают: их просчитали. Поняли, кто они, где сидят и под чьей крышей работают. Лезть на рожон к команде, которая за полчаса вскрыла их шлюз в Мявади и нашла следы в базах Chainalysis — прямой путь спалить всю сетку и привлечь внимание интерполовских киберподразделений. В криминале никто не тратит ресурсы на тех, кто выставил зубы. Они просто пойдут искать менее въедливых дураков в регионах.

Дмитрий коснулся края ее стола, мягко улыбнувшись одними уголками глаз:

— А если у кого-то из них вдруг откажет инстинкт самосохранения и мне капнет хоть одно сообщение… Я просто скину их кошельки и спутниковые координаты знакомому парню из управления кибербезопасности Сингапура. Поверь, после этого им станет очень не до нашего лофта.

Алина выдохнула, чувствуя, как последние капли тревоги растворяются в его спокойном голосе.

— Убедил, — тихо улыбнулась она, кладя пальцы на клавиатуру. — Тогда к черту Мьянму. Давай добьем адаптив для британского шлюза, пока Марк не съел весь сыр.

Глава 12

Глава 12.

Уведомление от почтового клиента звякнуло почти одновременно на ноутбуках Дмитрия и Алины.

Отправитель: FINMA Regulatory Tech Consortium, Цюрих. В копии — юридический департамент их британских заказчиков из Сити.

Тема: Официальное приглашение на рабочую сессию по согласованию архитектуры (Цюрих — Женева — Лондон).

Дмитрий пробежал глазами текст, и на его лице впервые за день появилась та самая широкая, хищная и довольная улыбка профессионала, получившего идеальный пас:

— Ну вот. Сравните со сказочниками из джунглей. Чувствуете разницу в калибре?

— Что там? — Марк высунулся из-за монитора, жуя сыр.

— Швейцарцы подключились к британскому контуру, — Дмитрий развернул экран к команде. — Заходят абсолютно в открытую. Прямой контракт, официальные визовые ноты, аккредитация через регулятора. Никаких «номиналов в Сингапуре» и «отелей в Мьянме». Нас приглашают на серию очных воркшопов: три дня в Цюрихе на согласование ядра, по итогам — возможный переезд в Женеву на комплаенс-панель и финальный раунд в Лондоне на подписание годового этапа.

Он посмотрел на Алину, в глазах плясали азартные искры:

— Швейцарцы компенсируют бизнес-класс через Стамбул, аккредитация в кантональном совете, официальное сопровождение. Вот за это я обеими руками «за». Здесь не нужно оглядываться по сторонам и ждать удара в спину. Это чистая, белая высшая лига. Поедешь, партнер?

Алина смотрела на официальный бланк с тиснением швейцарского креста и британского льва. После душных коридоров Савельева и липкого страха от азиатского скама мир вдруг распахнулся на тысячи километров.

— В Цюрих и Лондон? — переспросила она, чувствуя, как внутри приятно екает сердце. — На легальных основаниях, с визами от регулятора?

— Именно, — усмехнулся Дмитрий. — Заодно покажешь чопорным швейцарцам, как выглядит настоящий человеческий интерфейс, а не их бухгалтерские таблицы образца девяносто восьмого года. Собирай чемодан, Алина. Европа ждет.

Алина на секунду замерла, переводя дыхание:

— А лететь-то когда?

— Как только разгребем хвосты, — Дмитрий захлопнул ноутбук. — Если в понедельник у тебя свои дела, закрывай спокойно. А я на следующей неделе гляну билеты и визовые слоты. Не дергайся, всё успеем.

Утро понедельника встретило промозглым подмосковным туманом.

Тетя Валя сидела в прихожей на банкетке — парадная шерстяная кофта на пуговицах, на коленях тяжелая потертая сумка с документами. Лицо бледное, пальцы мелко перебирают ремешок.

— Алинка, может, не надо? — в десятый раз шепнула она, глядя снизу вверх. — Триста тысяч за три визита… Это ж с ума сойти. Отцу на год таблеток хватило бы.

— Такси внизу, теть Валь. Вставай, — отрезала Алина, подавая ей пальто. Тон был сухой, безжалостно-спокойный, не оставляющий шансов на побег. — Отцу на лекарства уже отложено. Твоя очередь. Тут ехать три минуты.

В частном медцентре на Советской пахло хорошей гостиницей и дорогим антисептиком. Никакой толчеи у регистратуры — мягкие кресла, тихий щебет кофемашины и персонал, разговаривающий полушепотом.

Доктор Рамиловский — сухой, жилистый мужчина лет сорока пяти в темном хирургическом костюме — внимательно вглядывался в светящийся экран, куда вывели свежие МРТ-сканы тети Вали.

— Ну что, Валентина Семеновна, — произнес он ровным, лишенным трагизма голосом. — Секвестрированная грыжа L4-L5 с каудальной миграцией на восемь миллиметров. Правый корешок пережат намертво. Отсюда и лампасовидная боль по бедру, и онемение стопы. Как вы вообще у плиты стоите — загадка.

Старушка виновато шмыгнула носом:

— С мазью, доктор… Звездочкой мазала.

Рамиловский криво усмехнулся одними уголками губ:

— Ну, «Звездочка» против компрессии нерва — сильный ход. Но мы пойдем классическим путем. Сейчас идем в малую операционную. Под контролем рентгеновской дуги, миллиметр в миллиметр, подведем иглу в межпозвонковое отверстие прямо к очагу отека. Введем смесь пролонгированного глюкокортикоида и анестетика.

— Резать будете?.. — испуганно округлила глаза тетя Валя.

— Ну что вы, — мягко ответил врач, глядя на нее поверх очков. — Прокол иглой, местная анестезия. Процедура займет пятнадцать минут. Полежите полчаса в дневном стационаре и пойдете домой на своих двоих. Боль начнет уходить уже во время процедуры, а окончательный противовоспалительный эффект раскроется через пару суток.

Он перевел цепкий взгляд на Алину:

— Но иллюзий не строим. Блокада — это не чудо господне, это перемирие. Она снимает отек и дает нам окно в три-четыре месяца без адской боли. Через десять дней жду вас на реабилитацию: ЛФК, укрепление глубоких стабилизаторов поясницы, правильный двигательный стереотип. Заставите ее двигаться — закрепим результат на годы. Будет лежать на диване с грелкой — вернетесь ко мне на операционный стол с секвестрэктомией.

— Заставлю, — не моргнув глазом, пообещала Алина.

Двадцать минут у матовой двери оперблока показались Алине длиннее, чем трехдневный спринт на «Арме».

Она стояла у окна, меряя шагами светлый коридор. Когда створка наконец отъехала и медсестра вывезла кресло-каталку, Алина метнулась навстречу.

Тетя Валя сидела, растерянно моргая:

— Алинка…

— Больно?

— Да нет вроде… Нога только горячая стала. И… не тянет. В пояснице будто мешок с кирпичами вынули.

— Я же говорила, — Алина сжала ее пальцы, чувствуя, как внутри наконец отпускает ком, сидевший там последние полгода. — Отлежишься в палате, и поедем домой.

Во вторник лофт жил неспешной, гулкой жизнью. Марк уехал в банк утрясать валютные счета, Илья в наушниках монотонно постукивал по клавишам в дальнем углу, а за высокими арочными окнами моросило.

На широком дубовом столе стояли две кружки. Дмитрий пододвинул свой ноутбук вплотную к Алине, открыв агрегатор рейсов.

— Прямых в Цюрих сейчас нет, — негромко сказал он, глядя на экран. — Либо через Стамбул, либо через Белград. Через турков быстрее, но в Новом аэропорту стыковка всего пятьдесят минут, можно бегом не успеть на пересадку. Я лучше заложу три с половиной часа: спокойно выпьем кофе, без мыла на спине. Тебе как удобнее вылетать — утром или ближе к вечеру?

Алина смотрела не на таблицу рейсов.

Она смотрела на его руки. Крупные, спокойные ладони, уверенно лежащие на клавиатуре, четкие линии костяшек, коротко подстриженные ногти. Никаких дерганых движений, никакого самолюбования брелоками, как у Павлова, никакой фальшивой суеты.

Всю прошлую жизнь мужчины рядом с ней делились на две категории. Одни перекладывали на нее свою работу и проблемы, прячась за ее спину, другие пытались сломать и подчинить ради сиюминутного эго. Забота всегда имела ценник. Если кто-то делал шаг навстречу — значит, через день потребует расплату: молчанием, покорностью, сверхурочными или постелью.

Дмитрий был скроен иначе.

Вчера он позвонил ей вечером — всего на две минуты. Без заигрываний и двусмысленных пауз. Спросил, как прошла блокада, дошла ли тетя Валя своими ногами и не нужно ли прислать машину на повторный визит. Услышал короткое «всё в порядке, Дима, спит» — и просто сказал: «Отлично. Отдыхай, завтра на свежую голову посмотрим перелеты».

Эта его взрослая, несуетливая надежность — способность держать удар за своих людей, брать ответственность не на словах и закрывать дела без показного геройства — вдруг перестала казаться просто «редким профессиональным качеством».

Она ловила себя на том, что рядом с ним ее тело больше не ждет подвоха. Не каменеют плечи. Наоборот — когда он склонялся ближе к экрану и от него доносился тот самый горьковатый кедровый запах, в груди отзывалась странная, тягучая волна. Это не было девичьим восторгом. Это было глубокое, очень женское влечение к мужчине, рядом с которым можно наконец опустить щит и позволить себе быть слабой. Привлекла не картинка. Привлекла мужская суть — монолитная, теплая и спокойная.

— Алин? — Дмитрий повернул к ней голову, заметив паузу.

Их глаза встретились. Он был совсем близко — так, что она видела крошечную серебряную нить седины у него на виске и внимательный, теплый прищур серых глаз.

Алина не отвела взгляда. Сердце сильно толкнулось в ребра, но на этот раз ей не захотелось отступать на свои пресловутые полтора метра.

— Утром, — негромко ответила она, и голос прозвучал чуть ниже обычного. — Лучше утром через Стамбул, но с нормальной стыковкой. Прилетим засветло, будет время дойти до отеля и выдохнуть перед швейцарцами.

Дмитрий задержал на ней взгляд чуть дольше, чем требовалось для рабочего протокола. Уголки его губ тронула едва заметная, открытая улыбка — он безошибочно почувствовал эту перемену в воздухе, но не сделал ни единого наглого движения. Лишь мягко кивнул:

— Принято. Беру утренний «Турецких авиалиний» на понедельник. Летим вдвоем.

Он нажал клавишу бронирования, и щелчок кнопки прозвучал в тишине лофта как начало совершенно новой главы.

Перед выходом Алина проверила аптечку на холодильнике, оставила на столе пачку наличных и в десятый раз напомнила: дверь никому не открывать, спину не гнуть, по лестнице — только с тростью, на уколы — строго на такси. Тетя Валя лишь кивала, непривычно послушная после утренней легкости в пояснице.

До Внуково такси ползло под низким серым небом. Возле эстакады на Киевском шоссе навигатор привычно сошел с ума — стрелка металась по полям, глушилки РЭБ давили сигнал наглухо.

Дмитрий ждал ее у входа в терминал А, держа две посадочные распечатки.

Внутри стоял душный, нервный гул. Табло вылетов мигало красным: план «Ковер», небо над областью закрыто, посадки перенаправлены, вылеты задержаны на неопределенный срок. Опять где-то на подлете со стороны Калуги шли беспилотники.

Люди сидели на чемоданах плотной, хмурой массой. Вслух политику никто не трогал — оглядывались с опаской, но военных вполголоса материли с ядовитой, усталой злостью:

— Опять прощелкали… Миллиарды вбухали, а кусок фанеры с мопедным мотором над МКАДом сбить не в состоянии! Зато рапорты строчат — всё перехвачено, всё подавлено. Летите, граждане, на ковре-самолете.

— Наш борт из Стамбула даже на глиссаду не зашел, кружит в зоне ожидания над Рязанью, керосин жжет, — спокойно сказал Дмитрий, забирая у Алины тяжелый рюкзак. — Часа два-три кукуем точно. Идем в бизнес-зал, там хоть кофе нормальный и давки нет.

Она взглянула на него. Вокруг звенела липкая коллективная тревога, а рядом с ним снова было тихо и безопасно — будто он сам держал над ними купол.

В бизнес-зале гул тревожного аэропорта сменился приглушенным звоном чашек и мягким светом торшеров. Есть от нервов обоим не хотелось, так что Дмитрий просто принес два двойных эспрессо.

Алина прислонилась виском к прохладному панорамному стеклу, за которым серые полосы взлетки казались вымершими. В кармане пальто телефон то и дело вздрагивал от истеричных сводок в новостных каналах.

— Алин, выдохни, — Дмитрий поставил перед ней чашку и сел напротив, расстегнув пиджак. Взгляд у него был абсолютно спокойным. — Я проверил слоты. Наша стыковка в Стамбуле — три с половиной часа. Даже если мы здесь просидим дольше и турецкий борт улетит без нас — у них есть регулярка в Цюрих глубокой ночью, билеты в бизнес есть, швейцарцы ждут нас только к обеду вторника. Мы никуда не опаздываем.

Она сделала глоток кофе, чувствуя, как горячая горечь немного смывает липкую вокзальную духоту и усмехнулась:

— А если и Стамбул тоже встанет?

Дмитрий тоже улыбнулся — с той ленивой, уверенной иронией, которая напрочь выбивала почву из-под любой паники:

— Значит, застрянем на Босфоре. Согласно трудовому кодексу «Ковалев Партнерс», работодатель в лице меня берет на себя все тяготы форс-мажора: сниму нормальный отель с видом на Золотой Рог, закажу тебе личного гида с машиной, свожу на Гранд-базар за правильным кофе и покажу, где жарят лучшую баранину на углях. Будем считать это внеплановым тимбилдингом за счет заведения.

Алина посмотрела на него и впервые за все утро тихо, искренне рассмеялась.

А когда улыбка сошла, она подумала о том, как и насколько этот мужчина заполняет собой пространство. Напротив сидел не просто грамотный тимлид с продуманной логистикой. В мягком приглушенном свете торшеров его плечи под плотной тканью темного пиджака казались шире, а пальцы, спокойно крутившие ложечку, двигались с той ленивой, уверенной силой, от которой у нее вдруг пересохло в горле.

Его привлекательность не имела ничего общего с глянцевой смазливостью Павлова, у которого каждый жест был рассчитан на зрителя. В Дмитрии притягивало именно внутреннее, мужское спокойствие — то самое, когда рядом с человеком отступает любой внешний хаос: хоть истерики заказчиков, хоть закрытое небо с дронами. Она невольно поймала себя на том, что разглядывает его шею у расстегнутого ворота рубашки, жесткую линию подбородка и внимательные глаза, смотрящие на нее прямо и с легким прищуром.

В груди настойчиво отозвалась та же теплая волна, что и на «Арме». Защитные барьеры, выстроенные годами, не просто трещали по швам — рядом с ним их просто не хотелось возводить обратно.

— Ты так смотришь, Алин, будто все-таки предпочла бы застрять в Стамбуле, — негромко, чуть понизив голос, усмехнулся Дмитрий.

В его голосе промелькнула едва уловимая хрипотца, от которой по коже пробежали мурашки.

— Я просто считаю вероятность, — парировала она, стараясь, чтобы голос не выдал внезапного внутреннего жара, и сделала глоток остывающего кофе. — В теории вероятностей редкие события имеют свойство случаться в самый неподходящий момент.

— В теории — да. А на практике в нашей компании форс-мажоры решаются в пользу комфорта сотрудников, — он чуть наклонился к столу, и в серых глазах мелькнула откровенная мужская искра. — Так что не бойся, не пропадем.

В этот момент динамик под потолком зала мягко щелкнул, и женский голос на двух языках объявил долгожданную новость: небо открыли, началась посадка на рейс до Стамбула.

— Да не может быть, — поспешно воскликнула она в попытке избежать неловкой реакции, пряча смущение за привычной маской иронии.

Дмитрий лишь мягко хмыкнул в ответ, подхватил пальто и жестом пригласил ее к выходу из бизнес-зала.

Очередь на посадку двигалась быстро. В салоне широкофюзеляжного аэробуса Turkish Airlines пахло чистым текстилем, прохладным кондиционированным воздухом и легким восточным парфюмом. Их места в бизнес-классе располагались в ряду у борта: всего два широких кресла в изолированном модуле, отделенные от остального пространства перегородкой, за которой царила тишина. Никаких чужих локтей и случайных попутчиков — только они вдвоем.

Дмитрий ловко закинул ее сумку и свой рюкзак на багажную полку, проверил замки, захлопнул створку и уступил ей место у иллюминатора.

Алина опустилась в мягкую кожу кресла. Пальцы машинально вцепились в подлокотники. Она никогда в жизни не поднималась в воздух: всё ее пространство до сих пор ограничивалось старыми электричками до Расторгуево, душными вагонами метро и редкими поездками в купе до Саратова. Теперь же огромная металлическая машина под ногами казалась чужой, пугающе хрупкой стихией.

Турбины загудели, переходя на низкий, вибрирующий в груди бас. Самолет вздрогнул, выруливая на магистральную полосу, замер на мгновение, набирая тягу, и с глухим ревом рванул вперед.

Земля за стеклом размылась в серую полосу. Тело с силой вжало в спинку кресла. В ушах резко заложило, пол ушел из-под ног, и внутри у Алины всё оборвалось от панического, животного первобытного страха. Дыхание перехватило. На чистом инстинкте, потеряв контроль над своей железной выдержкой, она метнулась в сторону и мертвой хваткой вцепилась в ладонь Дмитрия.

Ее пальцы были ледяными, побелевшими от напряжения.

Дмитрий не вздрогнул и не попытался высвободить руку. Наоборот — его широкая, горячая ладонь уверенно перехватила ее пальцы, мягко сплетаясь с ними и закрывая от холода.

— Дыши, Алин. Всё под контролем, — негромко, прямо ей на ухо произнес он. Голос звучал густо и спокойно, начисто заглушая натужный вой двигателей. — Борт тяжелый, идет чисто. Сейчас пробьем облака, и качка уйдет.

Самолет пару раз мелко тряхнуло на границе грозового фронта, раздался глухой удар воздуха о закрылки, но Дмитрий не ослабил хватку ни на миллиметр. Его большой палец второй руки мерно, убаюкивающе поглаживал ее запястье ровно там, где испуганно колотился пульс.

Спустя минуту серая мгла за овальным стеклом вдруг лопнула, сменившись ослепительным, чистым золотым светом. Внизу остался ровный, бесконечный ковер из белых перистых облаков, а над головой распахнулась бездонная лазурь.

Давление в салоне выровнялось, рев моторов стих до ровного, усыпляющего гула. Дыхание Алины постепенно восстановилось, паника отступила, но разжимать пальцы она не стала.

И он тоже не отпустил ее руку.

Она вдруг спохватилась. До сознания с опозданием дошло, что она сидит, намертво вцепившись в ладонь своего босса, а тот спокойно греет ее пальцы. Вспыхнув до корней волос, Алина дернула кистью, пытаясь высвободиться.

Дмитрий отпустил ее руку — медленно, чуть неохотно, дав ей вернуть контроль, но не делая из этого драмы.

— Живая? — мягко, с легкой полуулыбкой спросил он, повернувшись в кресле. В серых глазах не было ни тени насмешки — только спокойное участие. — Всё в порядке?

Алина судорожно перевела дыхание, глядя на свои побелевшие пальцы, которые всё еще мелко подрагивали. Ее буквально трясло от пережитого шока — не столько от самого взлета, сколько от собственной беспомощности. Железная Алина Воронова, державшая оборону перед мажорами, развалилась на части от пары сотен метров высоты.

— Я… Дим, извини, пожалуйста, — выдохнула она, прижав ладонь к пылающей щеке. Голос предательски сбивался. — Это какой-то дикий кошмар. Земля ушла, органы словно к позвоночнику прилипли, а в голове только одна мысль: мы сейчас перевернемся и рухнем. Полная потеря опоры, чистый первобытный ужас. Я даже сообразить ничего не успела, тело само дернулось.

Она подняла на него глаза — смущенные, растерянные, но предельно искренние:

— Спасибо тебе. Правда. Если бы ты не перехватил руку… мне кажется, я бы закричала на весь салон или сознание потеряла. Ты меня буквально за шкирку на грани удержал.

Дмитрий лишь негромко усмехнулся, покачав головой:

— Перестань извиняться. Никогда не летала?

— Никогда, — подтвердила она, все еще отходя.

— Для первого раза это абсолютно нормальная физиология. Мозг просто не обучен понимать, почему многотонная железная труба висит в воздухе. — Он нажал кнопку вызова бортпроводника. — Сейчас попросим воды с лимоном и чай. На эшелоне болтать уже не должно.

Глава 13

Глава 13.

Бортпроводник появился бесшумно, будто соткался из прохладного воздуха салона. Дмитрий заказал горячий чай с мятой и лимоном, а следом летящий шеф в безупречном поварском кителе вручил им кожаные папки меню:

— Желаете пообедать сейчас или чуть позже?

— Давай сейчас, — Дмитрий вопросительно глянул на Алину. — Тебе нужно вернуть сахар в кровь после такого выброса адреналина.

Она лишь молча кивнула. Сил спорить не было, к тому же от запаха свежей выпечки, поплывшего по салону, в желудке предательски екнуло.

Через десять минут столик перед Алиной застелили плотной белой скатертью. Появились фарфоровые тарелочки: пряный хумус с паприкой, баклажанный мусс, хрустящий салат с сыром фета и корзинка с горячим хлебом.

— Ну вот, видишь, — с усмешкой заметил Дмитрий, аккуратно разламывая кунжутный симит. — А ты боялась. Четыре часа над облаками, а уровень сервиса лучше, чем в половине ресторанов на Патриарших.

Алина сделала глоток обжигающего мятного чая. Тепло наконец разошлось по телу, ослабляя спазм в плечах:

— Я просто до сих пор не могу осознать этот масштаб. Всю жизнь мой горизонт — это электричка «Москва — Расторгуево» и забор коксогазового завода за окном. Ты садишься в вагон, там пахнет сырыми пальто и креозотом, и ты точно знаешь: через сорок минут платформа, потом грязь, потом аптека. Все приколочено к земле. А тут…

Она повернула голову к иллюминатору, где под крылом ослепительно белели хлопковые хребты облаков.

— Тут ты просто висишь в пустоте. И от тебя вообще ничего не зависит. Для человека с математическим складом ума это… противоестественно.

— Наоборот, Алин, — мягко возразил Дмитрий, наливая ей еще чая из фарфорового чайника. — Авиация — это триумф чистой математики. Никакой магии: уравнение Бернулли, разность давлений над крылом и под ним, расчет расхода топлива с поправкой на струйные течения. Здесь всё подчинено жестким формулам куда строже, чем в твоих интерфейсах. Пилоты — те же системные инженеры, просто цена ошибки нагляднее.

Алина невольно улыбнулась, отломив кусочек горячей лепешки и подцепив пряную пасту:

— Ты любую вещь можешь разложить на алгоритмы?

— Профдеформация, — пожал плечами он, и в уголках его серых глаз снова собрались теплые озорные лучики. — Зато помогает не сходить с ума, когда вокруг рушится привычный мир. Люди ищут опору в мистике, в авторитетах или в алкоголе, а я верю в надежные расчеты и проверенных людей.

Он замолчал, глядя на нее поверх чашки. Взгляд был долгим, открытым, лишенным официальной строгости:

— И, кстати, насчет проверенных людей. Ты на взлете так сжала мне пальцы, что я всерьез подумал: если откажет гидравлика, ты этот самолет на руках посадишь. Хватка у тебя железная, Воронова.

— Дим, прекрати, — она вспыхнула, спрятав лицо за чашкой, но сдержать смех уже не смогла. — Я же попросила прощения!

— А я не жалуюсь, — совершенно спокойно, с тихой хрипотцой в голосе отозвался он. — Мне понравилось.

Воздух между ними снова натянулся тонкой, сладковатой нитью. Алина опустила глаза на тарелку, чувствуя, как сердце опять сбивается с ритма, и уже вовсе не от турбулентности.

Смущение никуда не делось, но прятаться за чашкой расхотелось. Внутри разливалось странное, незнакомое ощущение собственной силы: ей нравилось, как он смотрит, нравилось звучать в его голосе иначе, чем просто «перспективный кадр на «Арме».

— «Понравилось» ему, поглядите, — с легким, откровенно дразнящим прищуром протянула Алина, подперев подбородок ладонью и чуть наклоняясь к нему через столик. — То есть, если бы я сломала тебе пару фаланг, ты бы тоже списал это на благородную математическую погрешность?

— Ради того, чтобы ты перестала держать дистанцию в полтора метра? — Дмитрий усмехнулся, медленно встретив ее взгляд в упор. — Непозволительно низкая цена. Пара трещин в костях за такое быстро заживает.

— Боюсь разочаровать, шеф, но за нанесение телесных боссу в трудовом контракте у меня штрафов не прописано, — парировала она, и в ее голосе прозвучала та мягкая, живая дерзость, которую она годами глушила в душных кабинетах. Ей было чертовски приятно видеть, как у него в глазах загорается этот азартный мужской интерес. — Так что на посадке рискуешь остаться без пальцев повторно.

— Ловлю на слове, — Дмитрий чуть подался вперед. Расстояние между ними растаяло до каких-то сантиметров, и этот короткий зазор казался плотнее любого воздуха за бортом. — Буду держать вторую руку наготове.

Он отломил кусок лепешки и подцепил ею порцию хумуса с фарфоровой тарелки, отправил в рот, задумчиво прожевал и скривился с комичным разочарованием:

— Хотя вот это они зря назвали ближневосточной кухней. Марк бы тут устроил авиадебош с вызовом консула.

— Что, не дотягивает до шедевра? — улыбнулась Алина, глядя на его недовольную мину.

— Вообще мимо, — покачал головой Дмитрий. — Холодный, пастообразный, явно из банки. В Израиле в любой забегаловке на рынке Кармель или в Яффо тебе подают его чуть теплым, с пылу с жару, где тахини бьет в нос кунжутом, а оливковое масло пахнет так, что крышу срывает. А тут — приличная, но пластиковая имитация для европейцев.

— Слышал бы тебя сейчас шеф-повар в своем накрахмаленном колпаке, — тихо рассмеялась она, с искренним удовольствием наблюдая за его живой, эмоциональной мимикой. — Запретил бы десерт.

— Пусть запрещает, — Дмитрий отставил тарелку и снова посмотрел на нее — открыто, мягко и с тем глубоким мужским теплом, от которого у нее в груди сладко защемило. — Главное, чтобы чай не уносил. С тобой чертовски приятно спорить, Алина. Даже над облаками.

— Взаимно, Дмитрий, — тихо, но с абсолютной уверенностью отозвалась она, ощущая, как остатки напряжения окончательно тают в неспешном, ровном тепле разговора.

Алина сделала глоток чая и чуть склонила голову к плечу, разглядывая его профиль на фоне светлого иллюминатора.

— Слушай, Дим… Про Физтех и ваши с Марком студенческие олимпиады ты рассказывал. А про семью — ни слова. Ты же москвич? Откуда в тебе вообще взялась эта тяга к коду и криптографии?

Дмитрий усмехнулся, глядя на кольцо пара над кружкой, и покачал головой:

— Да какой москвич… Академический ребенок на стыке эпох. Родители физики-ядерщики, познакомились в Дубне, потом перебрались в закрытый городок под Черноголовкой. Отец всю жизнь сидел на нейтронных расчетах, мама вела кристаллографию.

Он помолчал, задумчиво крутя в пальцах салфетку:

— Представь квартиру, где от пола до потолка полки с «Успехами физических наук», а на кухне спорят не о ценах на колбасу, а о распаде протона. Они искренне думали, что я пойду по их стопам — в фундаментальную науку, к реакторам и чистым уравнениям. А в конце девяностых отец притащил домой списанную «четверку» с черно-белым монитором. Сказал: «Разбирайся, это будущее».

— И ты разобрался? — улыбнулась Алина.

— Залип намертво, — усмехнулся Дмитрий. — Пока пацаны во дворе гоняли мяч, я по книжкам из институтской библиотеки ковырял ассемблер и ломал загрузочные секторы. Когда сказал родителям, что иду на ФАКИ не в чистую физику, а в прикладные системы управления, отец три дня со мной сквозь зубы разговаривал. Для него софт казался чем-то… несерьезным, обслугой для «настоящего железа». А мама только вздохнула и сказала: «Лишь бы душа лежала».

В его голосе проступила очень теплая грусть:

— Отца не стало пять лет назад — инсульт на кафедре, прямо посреди семинара, — негромко продолжил Дмитрий, глядя на кольцо пара над кружкой. — А мама так и осталась в Черноголовке. Ей сейчас шестьдесят два, формально пенсионный возраст уже подошел, но ты попробуй заикнись ей про заслуженный отдых — сразу схлопочешь книжкой потяжелее по шее.

Алина не сдержала улыбки:

— Настолько боевая?

— Не то слово, — усмехнулся Дмитрий, и в глазах его мелькнула искренняя сыновья гордость. — Профессор, читает лекции на физтехе в Черноголовке, гоняет аспирантов в хвост и в гриву, строит кафедру. Энергии столько — на троих хватит. Я ей пытаюсь жизнь облегчить: клининг прислать, продукты заказать, на лето зову в нормальный отель у моря, чтобы хоть неделю полежала в шезлонге. Так она трубку бросает: «Дима, не выдумывай глупостей, мне грант сдавать, у меня студенты бестолковые и папины неопубликованные статьи по дифракции. Какой еще пляж?» Старая академическая закалка: пока есть дело и горят глаза — человек живет.

Алина слушала его, не перебивая, чувствуя, как этот образ окончательно складывает мозаику: его внутренняя стать, спокойная уверенность и уважение к чужому труду шли именно оттуда — из семьи ученых, где дело всегда стояло выше суеты.

Дмитрий отпил остывающий чай и внимательно посмотрел на нее:

— Про моих всё понятно: физика, кафедра и железная профессорская хватка. А у тебя дома кто остался, кроме тети Вали?

Алина опустила глаза на скатерть. Пальцы машинально коснулись фарфоровой чашки. Вся напускная легкость слетела в секунду, уступив место привычной тихой сосредоточенности.

— Мама последнее время болеет часто, — негромко сказала она. — Работала на вредном производстве, легкие больные. Пять лет назад совсем плохо было, долго в больнице лежала. Старший брат чудом каким-то достал лекарства, прокололи курс, поправилась. Мы уж прощались с ней, буквально. Отец тогда почернел от горя, а через пару лет его накрыл тяжелый инсульт. Осложнения на сердце, речь почти ушла, правая сторона не слушается. Он совсем тяжелый, Дим.

Она помолчала, глядя в иллюминатор, где внизу медленно плыли белые плато облаков.

— Я поздний ребенок. У меня старший брат и сестра, разница больше десяти лет. Они оба в Саратове, у них свои семьи, дети, нормальные крепкие дома. С родителями остался брат — он с женой взял на себя весь физический уход. Там круглосуточная вахта: поднять, перевернуть, помыть, покормить с ложки. Мама… не намного лучше. Двигается сама, соображает, но делать что-то кроме как поесть самой ей уже тяжело. Я бы одна просто физически не вывезла. Поэтому на семейном совете решили просто: они отдают время и руки, а я зарабатываю. Французские или швейцарские кардиопрепараты отцу, восстановительная терапия, спецкровать, массажист два раза в неделю — это всё на мне. Каждая копейка из «Пульса» шла туда.

— А тетя Валя? — тихо спросил Дмитрий.

— А тетю Валю на меня и «повесили», как на самую младшую и свободную, — в голосе Алины промелькнула едва заметная, грустная теплота. — Она мамина старшая сестра, своих детей нет. Жила одна в Видном, здоровье стало сыпаться. Семья отправила меня к ней: поступай в Москву, учись, а заодно присмотришь за теткой, чтобы одна не угасала. И когда начался этот ад с ее позвоночником, я поняла, что у меня просто нет права сделать шаг назад. Брат держит оборону в Саратове, я держу здесь.

Дмитрий слушал, не перебивая дежурными соболезнованиями. Только взгляд его стал предельно собранным и глубоким.

— Ну, все честно, — ровно и веско произнес он. — Жестоко, но честно. Каждый на своем рубеже.

От этих слов у нее внутри отпустило какую-то последнюю натянутую струну. Он понял всё без лишней драмы — именно так, как она привыкла жить.

Динамик над головой негромко звякнул, и салон наполнил мягкий голос старшего бортпроводника на турецком и английском: капитан начал снижение к аэропорту Стамбула, пассажиров просили пристегнуть ремни.

У Алины внутри всё сжалось. Турбины сбавили обороты, нос самолета плавно опустился, и желудок снова неприятно подкатил к горлу.

Дмитрий не стал ждать. Он просто молча протянул ладонь и положил ее на широкий кожаный подлокотник между креслами — открыто, ладонью вверх. Алина благодарно выдохнула и тут же вцепилась в нее. Пальцы сводило, но на этот раз она изо всех сил старалась не сдавить ему кости, хотя щеки залил густой, нездоровый пунцовый румянец, а на висках у корней волос выступила мелкая испарина. Дышала она часто, через нос, не отрывая взгляда от его пальцев.

Когда колеса с тяжелым, сухим ударом коснулись бетона новой стамбульской полосы и взревел реверс, Дмитрий мягко сжал ее ладонь в ответ: — Всё, Алин. Сели. Земля.

Она разжала пальцы и с облегчением откинулась на спинку, чувствуя, как ватные ноги постепенно обретают вес.

Выход через телетрап пахнул влажным морским воздухом и масштабом: Новый аэропорт Стамбула оглушал своими бесконечными зеркальными галереями и высоченными сводами. Дмитрий ловко перехватил ее рюкзак, повесил себе на плечо и аккуратно остановил Алину возле высокой рифленой колонны из полированной стали в начале центрального холла: — Постой здесь пару минут, никуда не уходи. Я быстро — в санитарную комнату за угол, и сразу идем к транзитной зоне.

Алина прислонилась спиной к прохладному металлу колонны, прикрыв глаза и пытаясь унять пульсирующий шум в ушах. Вокруг текла разноязыкая толпа, мигали табло, катились чемоданы.

Шаги Дмитрия она услышала раньше, чем открыла глаза.

Он стоял перед ней, держа руки за спиной, а на губах играла спокойная, чуть лукавая улыбка.

— Держи. Для восстановления вестибулярного аппарата.

Он протянул ей крохотный, почти невесомый сверток из плотной крафтовой бумаги, перевязанный тонкой бечевкой.

Алина замерла. Внутри, во влажной губке, стояли три белые кустовые ромашки с крупными желтыми серединками и веточка свежего розмарина. Самые обычные, трогательные ромашки — точно такие же росли у тети Вали в палисаднике в Видном и у матери под окнами в Саратове. Увидеть их здесь, посреди хайтека, хрома и полированного мрамора стамбульского терминала, было настолько неожиданно, что у нее перехватило дыхание.

— Ромашки?.. — растерянно выдохнула она, глядя то на цветы, то на Дмитрия. — Откуда они тут вообще?

— У флористического островка рядом с премиум-лаунджем, — невозмутимо пояснил он. — Там у них целая витрина: розы в метр высотой, орхидеи, золотые ленты — всё дорого-богато, для шейхов. А в углу в ведре стояли эти. Свежие, только привезли. Я попросил флориста убрать весь этот восточный пафос, оставить три цветка и добавить розмарин для запаха.

Алина поднесла букетик к лицу. Знакомый с детства горьковато-медовый аромат полевой ромашки вперемешку со смолистой свежестью розмарина мгновенно вытеснил из легких сухой синтетический воздух самолета. Это было просто, чисто и безупречно гармонично. Липкий страх, еще двадцать минут назад колотивший ее, испарился окончательно.

Она подняла на него глаза, и на этот раз не стала прятать улыбку:

— Спасибо, Дим. Ты даже не представляешь, насколько это в яблочко.

— Еще как представляю, — хмыкнул он, забирая ее чемоданчик. — А теперь пошли пить нормальный кофе. У нас еще два часа до вылета в Цюрих.

Они сели за круглый столик в глубине лаунджа Turkish Airlines, подальше от звона тарелок шведской линии и суеты центрального зала. Перед ними дышали густым ароматом две крошечные чашки кофе по-турецки, сваренного на горячем песке, и стаканы с ледяной водой. На темном полированном дереве белел ее крафтовый сверток с ромашками.

Дмитрий сделал глоток, отставил чашку на блюдце и посмотрел на Алину. Теплая, мягкая ирония, с которой он только что вручал ей цветы у колонны, исчезла без следа. Черты лица заострились, взгляд серых глаз стал холодным, собранным и тяжелым — тем самым, каким он сканировал подозрительные коммиты или отсекал чужую лесть на «Арме».

— А теперь чтобы ты не думала, что я такой идеальный психолог и мягкий, всепонимающий и всепрощающий работодатель, — ровно, чеканя каждое слово, произнес он. — Вынужденно предупреждаю. Там, что в Швейцарии, что в Лондоне, куда нам, возможно, придется лететь по результатам, все будет очень жестко.

Алина невольно выпрямилась. Вся расслабленность от пережитого взлета и свежих цветов моментально выветрилась.

— Первое, что тебе надо уяснить — я веду переговоры четко, жестко и быстро, — продолжил Дмитрий, не сводя с нее цепкого взгляда. — У меня всегда готовые аргументы и контраргументы, я почти всегда знаю, кто передо мной и как с ним разговаривать. Поэтому требования к тебе — соображать быстро, по возможности побольше молчать, пока к тебе не обратились прямо.

Он выдержал короткую паузу, давая смыслу осесть, и добавил еще суше:

— Тем более, что тебя наверняка будут воспринимать как прислугу — мою ассистентку, не более того. К сожалению, таковы реалии старого европейского банкинга и криптофондов первой волны. Ты для них — молодая симпатичная славянка при шефе, красивая функция за плечом. И это — второе, о чем я не мог умолчать.

Алина сделала глоток ледяной воды, смывая горечь крепкого кофе. Ни обиды, ни нервозности в ее взгляде не появилось — слишком много подобных персонажей прошло через ее кабинеты на сорок пятом этаже Сити.

Она слегка наклонила голову набок, и на ее губах появилась тонкая, уверенная полуулыбка:

— Договорились, шеф. Быстро думать и молчать — моя базовая комплектация со времен «Пульса». Побуду молчаливой мебелью, пока они сами не попросят показать архитектуру. С одной лишь оговоркой: ты сам обо мне так не думаешь.

Сказано это было легко, с легким вызовом. Но Дмитрий не ответил сразу.

Его лицо застыло. Он не отвел глаз, не хмыкнул, не кивнул. Просто молча, тяжело и немигающе смотрел на нее в упор — секунду, две, пять. В этой повисшей тишине полуулыбка Алины стала медленно сползать. Сердце неприятно екнуло. В голове вихрем пронеслись мысли: «Перегнула. Слишком самонадеянно. Нарушила границу, полезла в голову шефу». Ей уже захотелось сдать назад, перевести всё в формальность, извиниться…

И в этот момент лицо Дмитрия дрогнуло, разгладилось, и он вдруг откинулся на спинку кресла и заразительно, в голос рассмеялся.

Люди за соседними столиками вздрогнули и оглянулись, но ему было плевать. Он весело покачал головой, махнув на нее рукой:

— Попалась? Видела бы ты сейчас свое лицо, Воронова!

Алина шумно выдохнула, чувствуя, как краска снова приливает к щекам, но на этот раз от возмущения:

— Дим, ты ненормальный? Я уже решила, что ты меня сейчас прямым рейсом обратно во Внуково депортируешь!

— Ага, с парашютом над Черным морем, — он всё еще посмеивался, вытирая пальцем выступившую от смеха слезинку в уголке глаза, а потом снова подался вперед, заглядывая ей в лицо с озорным прищуром: — Нет, серьезно. Как ты вообще могла такое сказануть? «Ты сам обо мне так не думаешь»… Это что сейчас было, Алиночка? Попытка прощупать почву или откровенный флирт посреди стратегического инструктажа?

Алина вскинула подбородок, изо всех сил стараясь удержать на лице невозмутимость, хотя внутри всё полыхало:

— Это была проверка логической непротиворечивости системы, Ковалев. Рабочий процесс.

— Ну-ну, — Дмитрий покачал головой с широкой, открытой улыбкой, в которой сквозило неприкрытое мужское восхищение. — Будем считать, система тест прошла. Допивай кофе, «ассистентка». Пора на посадку до Цюриха.

Глава 14

Глава 14.

С этого момента дышать рядом стало одновременно проще и опаснее. Исчезла липкая неопределенность первых дней: карты легли на стол, взаимный интерес больше не прятался за вежливым офисным официозом. Но балансировать стало в разы сложнее. Граница между легкой иронией и откровенным притяжением истончилась до лезвия бритвы. Шаг влево — и ты скатываешься в банальную интрижку с шефом, шаг вправо — возвращаешься в ледяной панцирь. Держаться ровно на этой звенящей грани требовало чертовски много сил, но обоим эта игра явно приносила острое, почти наркотическое удовольствие.

Второй взлет и трехчасовой перелет над Балканами и Альпами прошли куда спокойнее: Алина уже не впивалась в его ладонь, хотя Дмитрий демонстративно держал руку на подлокотнике рядом.

Аэропорт Клотен встретил их стерильной альпийской прохладой, идеальным серым гранитом и безупречной тишиной, в которой гул голосов растворялся без следа.

На выходе из зоны получения багажа их уже ждали. Сухой пожилой швейцарец в темно-синем форменном пальто держал аккуратную ламинированную табличку: «HERR KOVALEV / ALPEN VAULT AG ».

Заметив Дмитрия, водитель едва заметно склонил голову:

— Guten Tag, Herr Kovalev. Welcome to Zurich.

Он принял у Дмитрия багаж, с безупречной, но абсолютно бесстрастной вежливостью скользнул взглядом по Алине — ровно так, как предупреждал Ковалев: зафиксировал наличие симпатичной спутницы за правым плечом босса и тут же вычеркнул ее из фокуса внимания, как часть дорогого трансфера.

Дмитрий коротко покосился на нее с легким, едва уловимым прищуром: мол, видишь? Всё ровно по нотам.

Алина лишь еле заметно усмехнулась одними уголками губ, расправила плечи и шагнула вслед за мужчинами к выходу на парковку, где ждал черный представительский «Мерседес».

Черный «Мерседес» бесшумно скользил по идеальному автобану в сторону Цюриха.

Алина прилипла к тонированному стеклу. Серые коробки пригородов быстро сменились открыточным пейзажем: аккуратные шале, идеальные изумрудные лужайки, а на горизонте, сквозь разрывы осенней дымки, внезапно вставали громады Альп — острые, заснеженные хребты, подпирающие хрустальное небо. Когда дорога вынырнула к озеру, у нее перехватило дыхание. Цюрихское озеро лежало огромным зеркалом из темной бирюзы, по которому медленно чертили белые полосы прогулочные катера, а вдалеке кукольными шпилями ощетинился старый город.

Машина свернула на набережную и затормозила у входа в Baur au Lac. Швейцар в цилиндре, мраморные террасы, вековой парк и тишина старых европейских денег: фонд уровня Alpen Vault AG просто не имел права поселить ключевого архитектора безопасности в месте скромнее.

В холле пахло дорогим деревом, лилиями и воском. Под ногами глушил шаги ковер ручной работы, хрусталь люстр дробил свет на тысячи граней, а тяжелые антикварные кресла напоминали музейные экспонаты. Алина машинально ловила взглядом пропорции и фактуру, чувствуя профессиональное благоговение дизайнера перед выверенным историческим стилем.

Она покосилась на Дмитрия.

Пока они ехали вдоль озера, он с искренним удовольствием смотрел на воду и горы — в глазах читался детский восторг человека, ценящего масштаб и линии чистой природы. Но здесь, посреди накрахмаленного пафоса, его лицо снова приняло привычное аналитическое выражение. Дмитрий скользнул взглядом по резному столику эпохи Людовика, словно проверяя его на прочность и устойчивость ножек: для него это была не реликвия и не искусство, а банальная математическая плоскость в пространстве с тремя степенями свободы. Функция — удержать поднос с чашкой; материал — углеродная органика с лаком; эстетическая надбавка к цене — абсурдна.

— Впечатляет? — тихо спросила она, когда портье отошел за электронными ключами.

— Природа зачетная, векторные линии гор безупречны, — улыбаясь, отозвался Дмитрий, засовывая руки в карманы брюк, а затем равнодушно окинул взглядом лепнину потолка. — А здесь… Слишком много лишних декоративных циклов в коде. Пылесборники... Главное, чтобы кровать держала ось позвоночника, а Wi-Fi давал нормальный пинг до наших серверов.

Алина еле слышно фыркнула, пряча улыбку: инженерная прошивка Ковалева оставалась невозмутимой даже перед лицом вековой швейцарской роскоши.

Номера оказались смежными, на четвертом этаже, с выходом на широкую террасу с видом на озеро. Портье тихо испарился, оставив их разбирать вещи.

Алина провела в ванной в два раза больше времени, чем планировала. Там даже смесители напоминали литые скульптуры из матовой латуни, тяжелые мраморные плиты стыковались без единого видимого шва, а зеркало в золоченой раме мягко подсвечивало лицо так, будто она стояла в кадре артхаусного кино. Она разглядывала каждую деталь, ловила пропорции и текстуры, наслаждаясь идеальной работой европейских мастеров.

Когда она спустилась в бар-ресторан отеля, Дмитрий уже сидел за угловым столиком у панорамного окна. Перед ним стоял бокал минеральной воды и раскрытый блокнот с диаграммами. Сам он успел сменить дорожный свитер на темный структурированный пиджак и выглядел абсолютно свежим.

— Прости, что задержалась, — Алина села напротив, оправив жакет. — Я просто зависла в номере. Для меня как дизайнера здесь буквально всё — от ручки двери до мыльницы — смахивает на музейный экспонат. Неужели тебя вообще ни капли не цепляет этот уровень?

Дмитрий отложил ручку, посмотрел в окно на вечернее озеро, где темнели силуэты гор, и покачал головой:

— Красоту природы я понимаю. Могу часами смотреть на слоистые разломы гранитных скал, на то, как свет ложится на хвойный лес, или на весеннее разнотравье в поле. Даже у импрессионистов это иногда работает — цвет, воздух, вибрация. Но пользы в самой картине как в объекте я не вижу. Хорошая цифровая фотография с правильной оптикой передаст оптическую плотность точнее, честнее и зачастую красивее.

Он перевел взгляд на соседний столик, увенчанный массивным резным стулом с бархатной обивкой:

— Я не вижу сакрального смысла в изгибе ножек этого венского кресла. Простой шезлонг из гнутой стали с правильным анатомическим профилем держит тело ровно с тем же комфортом. А весь этот пафос мысли о том, что триста лет назад на этом шелке грелась задница Людовика Четырнадцатого, мне скорее противен. Природа создает совершенные формы, потому что они продиктованы законами физики и эволюции. А то, что делает человек ради статуса… часто просто глупо и надуманно.

Он замолчал, глядя на стекло бокала. Алина тоже молчала, глядя на него с новым, глубоким вниманием. В тишине ресторана лишь тихо позвякивало серебро за соседними столами.

— Наверное, поэтому у меня в индустрии такая репутация, — негромко, с неожиданной, непривычной для него грустью произнес он. — Безжалостный перфекционист, сухарь. Я ищу чистую гармонию и точность в архитектуре систем, в алгоритме. Проверяю алгеброй гармонию.

— Почему ты говоришь об этом так грустно? — тихо спросила Алина.

— Потому что это мешает, — Дмитрий усмехнулся одними уголками губ, и в этой усмешке сквозила скрытая усталость. — Мешает жить. Иногда даже со своими ребятами на «Арме». Они пишут рабочий код, горят идеей, показывают результат, а я вижу лишнюю вложенность, неоптимальную структуру данных и начинаю разносить всё в щепки. Не со зла. Просто не могу физически смотреть на кривые, негармоничные решения. Людям со мной тяжело, Алин. Я и сам от этого устаю.

Алина чуть наклонила голову, внимательно разглядывая его лицо в мягком свете ресторанных бра.

— Значит, Сальери? — тихо переспросила она. — Пытаешься просчитать алгеброй живой звук?

— Именно, — Дмитрий горько усмехнулся, глядя на стекло своего бокала. — У Пушкина Сальери ведь не злодей по натуре. Он трудяга, который убил годы на ремесло, препарировал музыку, а потом появляется Моцарт — ветреный мальчишка, который пишет гениальные вещи шутя, между делом, просто потому что его коснулся божественный дар.

Он помолчал, нервно крутя в пальцах салфетку, и заговорил тише, словно признаваясь в чем-то постыдном:

— Я смотрю на Марка, на Илью… У них этот дар есть. Марк может на салфетке в баре, под третью пинту пива, набросать гениальную криптографическую идею, на которую у меня ушли бы недели формул. Илья видит архитектуру сети целиком, с лету, не напрягаясь, живет на чистом драйве. Они оба легкие — в коде, в спорах, в жизни. Не выжигают себя дотла ради каждой строчки. А я… я понимаю мозгами, что перегибаю, требуя совершенства, идеальной чистоты каждого регистра. Ловлю себя на том, что порой чертовски завидую этой их легкости. У них это искрится само, а я каждый килобайт выгрызаю зубами, как проклятый ремесленник.

Алина не перебивала. Она дождалась, пока он замолчит, и негромко спросила:

— Дим, а ты никогда не думал, почему именно ты — лидер этой команды?

Дмитрий поднял на нее удивленный взгляд.

— Потому что их легкая, искрящаяся гениальность без твоего занудства и жесткости осталась бы просто каракулями на салфетках, — спокойно, без тени заискивания произнесла она. — Моцарты разбрасывают искры, но они не умеют строить соборы. Ты их каркас. Ты тот, кто держит удар, вычищает хаос, отвечает за результат перед фондами и не дает всей системе рассыпаться от первой же уязвимости. Они тебя любят и ценят не вопреки твоему перфекционизму, а именно благодаря ему. Потому что за твоей спиной они могут оставаться легкими.

Дмитрий замер. Взгляд его серых глаз дрогнул, растеряв привычную стальную непроницаемость, и на секунду в нем промелькнуло ошеломленное, почти мальчишеское облегчение. Он медленно опустил взгляд на свои руки, сцепив длинные пальцы в замок. Желваки на скулах едва заметно дрогнули. За все годы в индустрии ему говорили разное: хвалили за несгибаемость, ругали за дурной характер, боялись его ревью и восхищались коммерческим успехом. Но никто — ни инвесторы, ни даже Марк с Ильей — не формулировал суть его ноши с такой беспощадностью и точностью.

Он медленно выдохнул, и плечи его чуть опустились. Вся колючая броня циничного фаундера растаяла.

— «Не дают системе рассыпаться», значит… — тихо, почти неслышно повторил он, глядя на темную воду за стеклом, где дрожали огни набережной. Потом снова посмотрел на нее. В серых глазах плескалась непривычная, обнаженная благодарность, от которой у Алины перехватило дыхание. — Спасибо, Алин. Черт возьми… ты даже не представляешь, насколько мне нужно было это услышать. Именно сейчас.

Он закрыл блокнот, провел ладонью по лицу, стирая остатки тяжелых мыслей, и бросил на стол купюру: — Пойдем наверх. Завтра швейцарцы будут проверять этот каркас на излом, а нам обоим нужна чистая голова.

Они вышли из полутемного зала ресторана в тихий мраморный холл. Лифт скользнул вверх с мягким шелестом. В зеркальной кабине они стояли рядом: плечом к плечу, не прикасаясь, но воздух между ними казался наэлектризованным. Отражение показывало двух взрослых, уставших людей, с которых наконец слетела корпоративная шелуха.

На четвертом этаже длинный ковер скрадывал шаги. Они дошли до своих дверей — номера 408 и 410, разделенные смежной дверью внутри и парой шагов по коридору.

Дмитрий остановился у ее двери, достал ключ-карту, но отступать к своей двери не спешил. Он повернулся к Алине, заглядывая ей прямо в глаза. Расстояние между ними снова растаяло до опасного минимума, заставляя воздух сгущаться, а в висках глухо отбивать пульс.

— Спи сладко, Алина, — негромко, с глубокой хрипотцой в голосе произнес он. — А если ночью покажется, что земля уходит из-под ног… смежная дверь не заперта.

Взгляд Алины вспыхнул — с той самой живой, чуть вызывающей полуулыбкой:

— Только в случае критического сбоя системы, шеф.

— Логично, — Дмитрий усмехнулся.

Он поднял руку и неторопливо, почти лениво провел тыльной стороной пальца по ее скуле. Жест вышел до неприличия плавным и интимным. Внутри у Алины воздух встал колом, а во рту на миг пересохло.

Дмитрий задержал взгляд на ее губах, отступил на полшага к своему номеру и тихо добавил:

— До утра, Алин.

— До утра, Дим, — едва слышно выдохнула она.

Замок щелкнул. Оказавшись в номере, Алина закрыла за собой дверь, скинула туфли и пару секунд просто стояла в темноте прихожей, глядя на полоску света из-под смежной двери. Пальцы машинально коснулись щеки, где еще держалось тепло, но она тут же одернула руку и пошла разбирать вещи.

Легла она совсем скоро, но заснуть не могла. В темноте номера тишина казалась слишком плотной. Алина лежала на спине, глядя в белый квадрат потолка, но тело не отпускало. В висках всё еще монотонно гудел турбинный гул, в ушах стояло сухое шуршание цюрихского гравия, а кожа на скуле до сих пор помнила короткое, точное касание пальца Дмитрия. Внизу живота противно, назойливо пульсировал тяжелый, ноющий узел. Чистая физиология: адреналиновый откат после двух взлетов, помноженный на электричество последних суток, намертво заклинил мышцы.

Она раздраженно выдохнула через нос, сжала зубы и скользнула рукой под резинку шорт.

Никакой романтической неги или кинематографичной плавности в этом не было — взрослое, голодное и злое снятие стресса, когда нужно силой вышибить из себя напряжение. Пальцы двигались быстро, уверенно, без лишней возни, находя нужный ритм. Алина зажмурилась, уткнувшись лицом в подушку, чтобы заглушить сбившееся дыхание. Перед глазами против воли стояло его лицо в коридоре: серые цепкие глаза, легкая хрипота в голосе, уверенная ладонь, держащая ее руку над облаками.

Разрядка накрыла резко, короткой судорожной волной, стянув живот и разом отпустив зажатые плечи.

Алина глубоко, прерывисто вдохнула прохладный приозерный воздух, вытащила руку и вытерла пальцы о край простыни. В голове наконец наступила долгожданная пустота. Тяжелый гул в теле стих, оставив лишь ровную, теплую лень.

Взгляд снова зацепился за белую створку смежной двери. За ней по-прежнему было тихо.

— Спокойной ночи, шеф, — еле слышно прошептала она в темноту и, натянув одеяло до плеч, мгновенно провалилась в уютные объятия сна.

Будильник сработал ровно в 6:45, но Алина уже минут пять как лежала с открытыми глазами. Тело после ночной разрядки и глубокого сна чувствовало себя непривычно легким, а голова была кристально чистой.

Она достала тот самый брючный костюм сложного синего цвета, в котором представляла их проект британцам, шелковую блузку молочного цвета и аккуратный строгий пробор. Ни грамма лишнего кокетства — красиво и практично.

В 7:40 двери номеров открылись синхронно.

Дмитрий вышел в безупречном темно-синем костюме с Сэвил-Роу — плотная шерсть, идеальная глубина посадки и расстегнутый ворот белой рубашки без галстука. Он скользнул взглядом по ее костюму, задержался на оттенке ткани и чуть приподнял бровь:

— Savile Row одобряет цветовую гамму. Ты угадала тон?

— Случайность, которая выглядит как тактика, — ровно парировала Алина с легкой полуулыбкой. — Мы выглядим либо как партнеры, либо как хорошо спланированный рейдерский захват.

— Второе ближе к истине, — хмыкнул он и нажал кнопку вызова лифта. — Вниз, в ресторан. И никаких «я перехвачу эспрессо на бегу». Завтрак — это базовая загрузка системы. Когда швейцарцы начнут выкручивать нам руки, об обеде можно будет забыть.

— Если честно, я не угадывала. Это мой единственный хороший костюм. — без драмы, как констатацию факта выдохнула она в лифте.

Он с секундным замешательством кивнул:

— Это мой системный прокол, прости. Я никогда не думаю об одежде, когда летаю с партнерами - с Марком либо Ильей. Они достаточно обеспечены, чтобы одеваться не хуже меня.

Она кивнула:

— Дмитрий, я не жалуюсь…

— Я помню, — он на мгновение поджал губы.

В ресторане отеля Дмитрий методично нагрузил тарелку: омлет со шпинатом, ростбиф, тосты из цельнозернового хлеба и большой кофейник. Алина ограничилась двойным эспрессо и свежим, ломким круассаном, с легким изумлением наблюдая за его аппетитом.

— Топливо для мозга, — сухо заметил он, намазывая масло на тост. — FINMA любит изматывать многочасовыми перекрестными допросами. Если уровень глюкозы упадет, они это почуют за минуту. Это не прихоть, Алин. Это опыт. Машина будет через полчаса. Мне хватит.

Он методично расправлялся с ростбифом, не отвлекаясь на церемонии. Алина отпила глоток обжигающего эспрессо и, аккуратно промокнув губы салфеткой, заговорила вполголоса:

— Пока ты заправляешься, короткая сводка того, что я усвоила из открытых источников. Что накопала еще в Москве. Alpen Vault AG — фонд старый, но с зубами. Корни уходят в семейный траст из Цука, управление классическое швейцарское, но года четыре назад они агрессивно полезли в институциональный криптокастоди. Держат узлы валидации, холодные хранилища в бывших военных бункерах в кантоне Ури и предлагают ультрабогатым клиентам вход в DeFi под зонтиком швейцарского права.

Дмитрий не перебивал, только едва заметно кивнул, продолжая жевать тост.

— По самой крипте у меня понимание базовое, — продолжила Алина, отламывая кусочек круассана. — Блокчейн, смарт-контракты, консенсусы, разницу между горячими и холодными кошельками знаю. Понимаю, что они боятся регулятора как огня. Если FINMA сочтет интерфейс непрозрачным или увидит дыру в сценариях авторизации транзакций, им перекроют кислород. Им нужна не просто красивая картинка, а архитектура, где каждый шаг пользователя юридически и технически защищен от человеческой глупости.

Дмитрий аккуратно положил нож и вилку параллельно на край пустой тарелки, вытер руки салфеткой и сделал глоток черного кофе. На его губах снова мелькнула та самая скупая, одобрительная полуулыбка.

— Для дизайнера интерфейсов — очень неплохой срез, Алина. Базу ты ухватила верно. Но открытые источники умалчивают о главном: у них сейчас жесткий внутренний конфликт между старыми банкирами-акционерами и молодой криптокомандой. Подробности разложу в машине, пока едем на Банхофштрассе.

Он взглянул на лаконичные стальные часы на запястье:

— Время. Пошли на выход.

Глава 15

Глава 15.

Черный «Мерседес» мягко тронулся от Baur au Lac, вливаясь в неторопливый поток на набережной. За стеклом мелькали строгие фасады, серый гранит и тихие швейцарские трамваи.

Дмитрий откинулся на кожаную спинку сиденья и заговорил вполголоса:

— Внутри Alpen Vault AG сейчас холодная война. С одной стороны — старая гвардия, классические швейцарские банкиры в кашемировых пальто. Они привыкли брать процент за хранение золота в сейфах и не любят рисковать. С другой — молодая криптокоманда, которую они же и наняли четыре года назад. Эти ребята хотят агрессивный DeFi, стейкинг и скорость. Конфликт дошел до точки кипения, но у обеих сторон общая паранойя: они панически боятся, что пока грызутся между собой, потеряют клиентов и уступят позиции в европейском банкинге.

Алина слушала, не перебивая.

— У меня есть решение, — продолжил он, глядя в окно. — Построить им гибридный необанк с нашей архитектурой безопасности. Что-то вроде Revolut или Wise, но с институциональным швейцарским криптокастоди под капотом и полным соответствием FINMA. С одной стороны — консервативная броня для стариков, с другой — гибкий клиентский сервис для новой аудитории. Но предлагать это можно не сразу, а лишь в нужный момент, четко понимая, что они готовы отдать за это.

— Звучит красиво, — нахмурилась Алина. — Но это их фонд. Неужели ты рассчитываешь, что они пустят тебя в долю просто за красивую концепцию и код? В партнерство «с улицы» никто не зовет.

Дмитрий негромко усмехнулся:

— Конечно нет. Им плевать на голые идеи. Они захотят живой капитал на стол. Чтобы я нес риск наравне с ними.

— И сколько?

— Хотя бы несколько миллионов франков в первом раунде. Для входа в синдикат этого хватит.

Алина замолчала. В машине повисла тяжелая, густая тишина.

Она медленно перевела на него взгляд. Несколько миллионов франков. Живыми деньгами. Без венчурных фондов за спиной, просто из личного кармана или закрытых траншей. До этой секунды он был для нее пусть выдающимся, жестким, высокооплачиваемым, но понятным технарем-фаундером с «Армы». Теперь вся картина мира стремительно трещала по швам. Она сидела рядом с человеком, реальный финансовый вес которого не представляла даже приблизительно.

Дмитрий заметил ее оцепенение, едва заметно дернул уголком губ, но комментировать не стал.

Машина плавно притормозила у монументального серого здания с кованой решеткой на Банхофштрассе. Водитель заглушил мотор.

Массивные дубовые двери переговорной на четвертом этаже отсекли уличный шум Банхофштрассе. Внутри царил холодный, выверенный полумрак: длинный стол из мореного ореха, глухие шерстяные ковры и шесть человек напротив. Трое сухопарых пожилых швейцарцев в безупречных серых костюмах-тройках и трое парней помоложе — в расстегнутых рубашках, с умными, колючими глазами и непременными титановыми Apple Watch.

Первые двадцать минут Алина еще пыталась следить за терминами, но цифра «несколько миллионов франков», брошенная Дмитрием в машине с такой будничной интонацией, словно речь шла о покупке кофе, намертво заклинила мысли.

Она сидела чуть позади и справа от него, чувствуя, как реальность вокруг расплывается. Голоса звучали монотонным гулом: беглый немецкий перетекал в сухой юридический английский, мелькали regulatory compliance, multi-sig architectures, capital tier 1. Для нее это превратилось в белый шум. В голове не укладывалось: человек, который вчера искренне радовался виду альпийских скал и заваривал ей ромашковый чай, оперирует суммами, способными купить половину ее прежнего агентства целиком.

Она окончательно потеряла нить дискуссии, но включила профессиональную мимикрию на максимум.

Алина прилежно отыгрывала безмолвную дорогую ассистентку: прямая спина, идеальный поворот головы, нейтрально-внимательный взгляд. Когда Дмитрий скупо и холодно усмехался очередному выпаду старика-банкира, она тут же сдержанно приподнимала уголки губ, поддерживая его невербальный тыл. Время от времени она с сосредоточенным видом касалась стилусом экрана планшета, делая вид, что фиксирует протокол, хотя на самом деле чертила бессмысленные геометрические сетки и абстрактные кубы.

Швейцарцы велись безупречно. Пожилой партнер во главе стола лишь дважды скользнул по ней вежливым, но совершенно пустым взглядом — как по качественной детали интерьера за правым плечом Ковалева.

Сам же Дмитрий вел раунд как по нотам: говорил негромко, чеканил аргументы, методично ломал возражения криптокоманды и явно подводил совет директоров к той самой развилке, где в игру вступит его личный чек.

Швейцарцы объявили пятнадцатиминутный перерыв на кофе. Члены совета директоров разбились на две кучки у дальней стены, негромко переговариваясь на немецком.

Дмитрий тронул Алину за плечо и кивком указал на массивный эркер в конце коридора, подальше от чужих ушей. За панорамным окном моросил мелкий цюрихский дождь, размывая контуры старинных особняков.

Он взял со столика у стены две чашки двойного эспрессо, одну протянул ей и тихо, но с явным одобрением произнес: — Отличная работа в первом тайме, Воронова. Ты держала фон безупречно. Ни одного лишнего движения, взгляд ровный, тайминг реакций идеальный. Они на тебя купились без остатка.

Он внимательно вгляделся в ее лицо — серые глаза сканировали ее с привычной цепкостью: — Но ты как-то подозрительно неподвижна. Будто тебя заморозили. Обычно ты живее реагируешь на структуру спора. Как себя чувствуешь?

Алина сделала глоток обжигающего горького кофе, радуясь, что фарфоровая чашка скрывает легкое напряжение губ: — В порядке, шеф. Инструктаж выполняю. Ты сам утром четко обозначил задачу: соображать быстро, молчать и не отсвечивать, изображая дорогую функцию. Вот я и отыгрываю роль. Чтобы не портить тебе расклад.

Дмитрий с легким прищуром посмотрел на нее поверх чашки, явно уловив натянутость в тоне, но давить не стал. Коротко кивнул:

— Ладно. Будем считать, ты перестаралась с погружением в образ. Главное — держи фокус. — Он повернулся боком к залу, понизив голос еще на тон: — Если ты внимательно слушала старика в тройке, в их репликах уже дважды промелькнул Лондон. Конкретно — их британский синдикат. Я пока не понимаю до конца, насколько критичную роль играют лондонские деньги в структуре Alpen Vault, но если этот старый хрыч всего лишь номинал, а право вето сидит в Сити… нам придется лететь туда. Сразу отсюда. Потому что если решение по входу в капитал принимают там, а не на Банхофштрассе — тратить время на этих клерков бессмысленно.

Алина молча кивнула, глядя, как капли дождя медленно сползают по стеклу. Внутри всё снова напряглось: передышки не предвиделось, ставки росли с каждой минутой, а ее начальник продолжал гнуть линию глобального игрока.

Они вернулись за тяжелый ореховый стол. Швейцарцы уже заняли свои места, шелестя свежими распечатками драфта соглашения.

Алина снова опустилась в кожаное кресло за правым плечом Дмитрия. Но теперь ступор и давящий шок от чужих миллионов сменились совсем другим чувством — плотным, глубоким уважением, от которого внутри всё встало на свои места.

Пока старик-акционер со скрипучим немецким акцентом рассуждал о юрисдикциях и гарантийных депозитах, Алина смотрела на прямую, жесткую спину Ковалева.

Он был удивительно, до кристальной прозрачности честен со своими парнями. Никаких закулисных интриг, никакого выкручивания рук за их спинами. Он шел на таран первым, принимая весь удар и весь финансовый риск на свой личный счет. Если сделка окажется токсичной — сгорит только его капитал. Но если швейцарцы прогнутся и вход откроет новые горизонты, он не станет единолично снимать сливки. Он придет к Марку и Илье, положит карты на стол и скажет: «Хотите зайти компанией — заходим вместе, на равных». Силком тащить не станет, но и отсекать от большого пирога не посмеет.

В этом был весь Дмитрий. Тот самый каркас, о котором она говорила ему вчера в ресторане. Человек, который не просто проверял гармонию формулами, а нес абсолютную, железобетонную ответственность за тех, кого встроил в свою систему.

С этой мыслью притворная роль «дорогой функции» перестала быть маской. Алина выпрямилась, положила ладони на край стола рядом с планшетом и подняла на швейцарцев спокойный, абсолютно уверенный взгляд. Теперь она прикрывала тыл человеку, за которым действительно стоило стоять.

Швейцарцы снова сцепились между собой: старик с пеной у рта втолковывал что-то криптовикам на резком диалекте цюрихского немецкого, тыча пальцем в юридический пункт о трастовом надзоре.

Дмитрий чуть отклонился назад, делая вид, что поправляет манжет. Не глядя на Алину и едва шевеля губами, он негромко бросил по-русски: — Всё, цирк окончен. Смысла дальше сидеть нет. Я понял, кто за ними стоит. Говорить надо с их лондонским банкиром, и я даже знаю конкретно с кем. Добраться до него займет время, но я доберусь. Сворачиваемся.

Через десять минут протокольные улыбки были розданы, вежливые кивки отвешены, а тяжелые дубовые двери штаб-квартиры Alpen Vault захлопнулись за их спинами.

Как только стекло черного «Мерседеса» пригллушило шум с улицы, Дмитрий взорвался.

Вся его выверенная, нордическая сдержанность слетела к черту. Лицо прямо на глазах посерело от злости, на скулах заходили каменные желваки, а дыхание стало тяжелым, рваным. Он с глухим матом дернул воротник белой рубашки, едва не сорвав пуговицы с мясом:

— Ублюдки чопорные… Просто вывели из себя, — шипел он, глядя в спинку переднего сиденья бешеными, потемневшими глазами. — Вместо того чтобы на первой минуте выложить карты на стол и сказать: «Мы тут просто клерки на проценте, решения принимает Лондон», — они три часа методично трахали мне мозг! Это у них такая извращенная форма издевательства по-европейски. Мол, посмотрите на наш швейцарский статус, пустите слюни, позавидуйте нашему золоту в бункерах… А когда у тебя разгорится аппетит, когда решат, что посадили на крючок — херакс, и подсекают лондонским банкиром! Манипуляторы хреновы.

Он снова дернул ворот, пальцы побелели от ярости.

Алина молча, без тени страха подалась вперед. Она уверенно перехватила его напряженную, дрожащую от адреналина кисть, сжав пальцы так плотно, что он на мгновение замер от неожиданности.

— Хватит рвать ткань, Ковалев, — негромко, но абсолютно твердо сказала она. — Рубашка с Сэвил-Роу ни в чем не виновата.

Не отпуская его руки, она второй ладонью спокойно, точными и несуетными движениями расстегнула две верхние перламутровые пуговицы под его горлом. Кончики ее пальцев мимолетно обожгли горячую, натянутую кожу на ключицах.

Дмитрий шумно, судорожно втянул носом воздух. Злость в его глазах еще клокотала, но фокус сместился: он опустил взгляд на ее руки, потом посмотрел прямо ей в глаза. Дистанция схлопнулась до предела. В салоне стояла глухая, осязаемая тишина, перебиваемая лишь шуршанием цюрихского дождя по крыше.

Алина заглянула прямо в его потемневшие, тяжелые зрачки, увидела вспыхнувший первобытный импульс затащить ее к себе силой — и внезапно дунула ему в лицо.

Порыв воздуха сбил это моментально. Дмитрий моргнул, словно вынырнул из ледяной проруби. Пещерный инстинкт сдуло без следа, уступив место короткому ошеломлению. Он не отпустил ее пальцы, но хватка смягчилась: он медленно откинул затылок на кожаный подголовник и устало прикрыл глаза, шумно выдохнув остатки ярости сквозь сжатые зубы.

У крыльца Baur au Lac он первым делом дернулся в сторону лифтов — запереться в номере, вытащить ноутбук и до ночи копать лондонский след. Алина молча и безапелляционно перехватила инициативу. Она заставила его свернуть в полупустой обеденный зал отеля.

— Никаких отчетов на голодный желудок, Ковалев. Садись.

Она не дала ему даже открыть меню — знала, что он либо закажет очередную порцию тяжелого мяса, либо бросит официанту «просто кофе». Алина сама подозвала официанта и четко продиктовала заказ: филе озерного сига на гриле со спаржей для него — сытно, но без камня в желудке, зеленый салат с артишоками для себя и два бокала холодного сухого белого швейцарского вина.

Дмитрий сначала сидел с каменным лицом, но, сделав первый глоток вина и съев пару кусков рыбы, заметно обмяк. Плечи опустились, дыхание выровнялось. Напряжение, сжимавшее его виски весь день, наконец начало отпускать. Они почти не говорили — только переглядывались с понимающей, чуть усталой иронией.

На четвертом этаже они дошли до своих дверей.

— Спасибо за рыбу, Воронова, — негромко сказал он у порога. В голосе уже не было ни злости, ни опасного жара — только спокойная, человеческая благодарность. — И за воздух в машине.

— Спокойной ночи, шеф. Лондон от нас никуда не денется.

Замки щелкнули почти одновременно. Никаких открытых дверей и двусмысленных пауз: обоим требовался глубокий сон перед новой охотой.

Алина открыла глаза и уставилась на светящийся циферблат прикроватных часов: ровно 7:00. Никакой тяжести в голове, тело отдохнуло так, словно она провела неделю в спа-отеле.

Она восстановила в памяти вчерашний день и усмехнулась: они вернулись с Банхофштрассе разбитые в хлам, быстро съели ту рыбу, поднялись наверх и разошлись по номерам, когда не было еще и семи вечера. Она просто рухнула на кровать и продрыхла двенадцать часов кряду без сновидений.

Алина подошла к высокому окну и распахнула тяжелые портьеры. Дождь кончился. Асфальт и брусчатка внизу еще блестели влагой, но ветер с озера полностью стих, гладь воды лежала как серое зеркало. Она толкнула балконную створку: в лицо ударил свежий, умытый воздух, и — редкая удача для цюрихского октября — на улице оказалось удивительно, мягко тепло. Никакой промозглости. Погода буквально кричала, что сидеть в четырех стенах — преступление.

После душа, быстро натянув прямые темные джинсы, мягкий кашемировый свитер и удобные кроссовки, она подошла к смежной двери и коротко постучала. Тишина.

Алина повернула ручку — замок щелкнул, дверь открылась. В спальне Дмитрия стоял густой полумрак из-за задернутых штор. Сам он спал, раскинувшись по диагонали огромной кровати, лицом в подушку, укрытый лишь простыней до пояса.

— Подъем, шеф, — негромко, но командным тоном позвала она, подойдя к кровати и с легким шорохом дернув штору в сторону.

Дмитрий дернулся, хрипло кашлянул, перевернулся на спину и сощурился от мягкого утреннего света. Взгляд был мутным, растерянным — редкое зрелище для вечно собранного стратега.

— Алина?.. Сколько времени? Что горит?

— Семь с копейками утра. Ничего не горит, кроме отличной погоды, — Алина зацепила пальцами край одеяла. — На улице идеальный штиль, тепло, а ты спишь как сурок. Поднимайся, идем гулять по набережной.

— С ума сошла? — проворчал он, закрывая глаза ладонью и пытаясь нащупать телефон на тумбочке. — Сначала кофе… и плотный завтрак. Я не выхожу из номера с пустым бензобаком, мы вчера это проходили.

— Никаких завтраков, — отрезала она, легко потянув его за запястье. — На голодный желудок голова лучше соображает. Наденешь пальто, вдохнешь озерный воздух, а кофе с омлетом найдем по дороге в старом городе, обещаю. У тебя десять минут на душ, шеф. Время пошло.

Они шли по пустынной набережной в сторону моста Квайбрюкке. Город только просыпался: редкие бегуны в неоновых ветровках, глухой плеск воды у причалов и дымка над Альпами на дальнем берегу. Дмитрий засунул руки в карманы кашемирового пальто, надетого поверх шерстяного джемпера, шагая в ногу с ней — на полшага медленнее обычного, чтобы не сбивать ее ритм.

— Ты отобрала у меня завтрак, вытащила на улицу в семь утра и заставила дышать влажностью, — негромко, но без капли раздражения заговорил он, глядя на озерную гладь. — И самое паршивое, Воронова… мне это нравится. Я ловлю себя на мысли, что на Банхофштрассе не убил того старого мудака только потому, что ты была за моим плечом.

Алина взяла его под руку, прижимаясь плечом к его рукаву — плотно, так, что сквозь ткань чувствовалось сухое тепло его тела.

— Какая дешевая попытка переложить ответственность, шеф, — она усмехнулась, не глядя на него. — Сальери нашел оправдание своему сбою в системе.

— Не сбою, — Дмитрий остановился у чугунного парапета и повернулся к ней. В серых глазах плескалась непривычная, трезвая и абсолютно взрослая прямота. — Наоборот. С тобой система впервые за десять лет работает без ощущения, что я в одиночку держу чертов свод, пока он трещит по швам. Это не про контракт и не про интерфейсы, Алин. Ты и сама знаешь.

— Знаю, — спокойно, без тени кокетства ответила она, глядя ему в глаза. Сердце глухо толкнулось в ребра, но голос звучал ровно. — Но если мы начнем сейчас играть в романтические сопли, швейцарцы и твой лондонский банкир сожрут нас на первом же повороте.

— Сопли оставим швейцарцам, — уголок его рта дернулся в знакомой жесткой ухмылке. Он протянул руку, взял ее за озябшую ладонь и сунул к себе в глубокий карман пальто, накрыв своими пальцами. — Но когда закончим с Лондоном… я не верну тебя на прежний оклад и прежнюю дистанцию. Даже не надейся.

— Посмотрим на твои условия, Ковалев, — хмыкнула она, чувствуя, как его ладонь надежно и горячо держит ее руку. — А пока пойдем, найдем мне кофе, а тебе завтрак. Я обещала.

Они свернули с набережной в лабиринт Нидердорфа. Каменные мостовые блестели от утренней влаги, пахло сырым известняком, печным дымом и остывшим озером.

Шагать плечом к плечу, чувствуя его руку глубоко в кармане пальто, оказалось удивительно естественно. Никакого надрыва, никакой неловкости — та редкая, плотная близость, когда молчание не тяготит, а работает лучше любых разговоров. Вчерашний раунд спрессовал их в единый монолит, и сейчас оба просто наслаждались паузой между ударами.

Глава 16

Глава 16.

Спустя полчаса бесцельного блуждания озерный воздух сделал свое дело: в желудках проснулся глухой, требовательный голод.

— Твой кофе отменяется, Воронова, — усмехнулся Дмитрий. — Организм требует нормального топлива.

Алина зацепилась взглядом за неприметную кованую вывеску над крутой каменной лестницей, ведущей в полуподвал старого дома: тяжелая дубовая дверь, запотевшие маленькие окна и густой, дразнящий запах жареного мяса и квашеной капусты.

Она потянула его за собой вниз:

— Сюда.

Внутри царил полумрак: низкие сводчатые потолки, грубые деревянные столы и ни души, кроме пожилого округлого швейцарца в съехавшей набок шерстяной кепке, неторопливо протиравшего стойку.

Мужичок окинул вошедших ленивым взглядом и вопросительно приподнял кустистые брови. Дмитрий заговорил на чистом, безупречном цюрихском немецком — с тем самым легким местным акцентом, от которого у бармена моментально исчезла сонная мина.

— Две порции братвурста, гору тушеной капусты с тмином, горчицу и хлеб, — перевел Дмитрий Алине с невозмутимым лицом. — И два бокала местного разливного пива прямо сейчас. Никакого вина натощак.

Бармен довольно крякнул, кивнул и с неожиданной прытью унесся на кухню, откуда тут же донеслось аппетитное шипение раскаленной сковороды.

Они сели в дальнем углу у толстой каменной стены. Бармен вернулся через минуту, с глухим стуком выставив перед ними две запотевшие кружки с плотной шапкой пены.

Дмитрий отпил треть кружки, вытер губы тыльной стороной ладони, расстегнул пальто и достал смартфон, положив его на стол между ними.

— Итак, Лондон, — произнес он, открывая агрегатор рейсов. — Мой контакт подтвердил: нужный нам банкир сидит в Мейфэр. Швейцарцы уже слили ему итоги вчерашнего фарса, так что он ждет нашего хода.

На экране высветилась сетка вылетов Swiss и British Airways из Цюриха в Хитроу.

— Вылет либо сегодня в 17:40, либо завтра утром в 8:15, — Алина придвинулась ближе, глядя на экран, ее плечо снова уперлось в его руку. — Лететь всего час сорок. Если выберем вечерний, с учетом разницы во времени будем на месте полседьмого. Успеем заселиться и прогнать стратегию на свежую голову. Что скажешь, шеф?

— Скажу, что вечерний рейс идеален, — Дмитрий накрыл ее ладонь на краю стола.

В этот момент из кухни вынырнул бармен, неся два исходящих паром тяжелых глиняных блюда. Порции оказались исполинскими: толстые, сочные колбаски с подпалинами от гриля и целая гора кисловато-пряной капусты с тмином.

Сначала за столом стоял только стук вилок. Голод отступил быстро, сменившись тяжелым, плотным насыщением. Алина сдалась первой, оставив на тарелке добрую треть, и с улыбкой отодвинула приборы. Дмитрий тоже был сыт под завязку, но с упорством человека, привыкшего доводить алгоритм до конца, буквально запихнул в себя последний кусок сосиски и две щедрые вилки капусты, после чего с облегчением откинулся на спинку лавки.

Бармен, облокотившись на стойку, наблюдал за этой гастрономической расправой с нескрываемым удовольствием.

Дмитрий перехватил его взгляд и со смехом спросил по-немецки:

— Что вас больше удивило: наш дикий аппетит в такую рань или то, что мы потребовали горячие сосиски с пивом вместо кофе?

Бармен хмыкнул, вытирая руки полотенцем, и затараторил, смазывая окончания в типичной швейцарской манере:

— Да и то, и другое, честно говоря! Нормальные люди в это время круассаны жуют. — Он с любопытством прищурился: — А из какой части Германии вы будете? Акцент у вас… занятный. Вроде и правильный, но не берлинский и не баварский.

— Мы вообще из Чехии. Можно чек, пожалуйста? — не моргнув глазом, с легкой улыбкой ответил Дмитрий.

Бармен понимающе закивал, что-то буркнул про хороших соседей и пошел за чеком.

Дмитрий бросил на стол купюру с щедрыми чаевыми, и они поднялись по каменной лестнице обратно на свежий цюрихский воздух.

Алина взяла его под руку, свернув на набережную, и тихо спросила:

— Почему Чехия, Дим?

Дмитрий помрачнел. Легкость моментально слетела с его лица, взгляд стал жестким и потухшим. Он глубже засунул руки в карманы пальто:

— Потому что россиян в Европе сейчас слишком активно не любят из-за войны. И, откровенно говоря, имеют на это полное право. Мне самому тошно от того, что творит Путин. Я не хочу афишировать свое происхождение на каждом углу и лишний раз триггерить людей. Мне… буквально стыдно быть русским сейчас, Алин. Проще назваться чехом и закрыть вопрос, чем выслушивать жалость или ловить косые взгляды.

Алина промолчала, только крепче сжала его локоть сквозь плотную ткань пальто, давая понять, что спорить тут не о чем.

В Baur au Lac сборы заняли не больше двадцати минут. Ковалев закрыл счет на ресепшене — быстро, не глядя на внушительную итоговую сумму в швейцарских франках, — и через десять минут черное такси уже везло их по осеннему автобану в сторону аэропорта Клотен.

Борт Swiss International Air Lines оторвался от полосы без задержек. Когда самолет набрал высоту и выровнялся над плотным слоем облаков, Алина откинула столик, сделала глоток воды с лимоном и повернулась к Дмитрию:

— Ты обещал. Расскажи мне про крипту. Только не на уровне рекламных буклетов с «Армы» и не как в Википедии. Нормальным языком. Почему эти лондонские и цюрихские волки сходят по ней с ума, если для большинства это до сих пор выглядит как гигантская пирамида?

Дмитрий отложил планшет, чуть повернулся в кресле и усмехнулся:

— Пирамида — это то, как ее продают дуракам в соцсетях: «купи монетку с собакой и стань миллионером к пятнице». Забудь. Настоящая крипта для институционалов — это не про легкие деньги. Это про доверие без людей.

Он постучал пальцем по пластику подлокотника:

— Представь обычный банк. Ты переводишь мне сто франков. Чтобы этот перевод прошел, между нами стоит гигантская жирная прослойка: операционисты, серверы банка, клиринговые палаты, регуляторы. Ты веришь, что банк не украдет деньги, банк верит, что они у тебя есть, регулятор берет за эту веру свой процент и в любой момент может заблокировать транзакцию просто по щелчку пальцев. Потому что где-то сидит живой клерк со своими страхами или политическими вводными.

— А блокчейн убирает клерка, — кивнула Алина.

— Именно. Блокчейн заменяет веру в честное слово математикой. Это распределенная бухгалтерская книга, копия которой лежит одновременно на тысячах независимых серверов по всей планете. Запись о том, что актив перешел от меня к тебе, нельзя стереть, подделать задним числом или отменить звонком из министерства. Код либо исполняется, либо нет. Смарт-контракт — это закон, зашитый в протокол.

— Звучит как утопия для анархистов. Почему тогда Alpen Vault и Сити полезли в это? Они же консерваторы до мозга костей.

— Потому что объемы ликвидности стали астрономическими, — Дмитрий понизил голос, подавшись ближе. — Миллиарды долларов обращаются вне традиционной банковской системы. И банкиры поняли: пока они воротят нос, мимо них утекают комиссии за хранение и клиринг. Но сами криптопроекты кривые. В обычном онлайн-банке ты перевела деньги не туда — звонишь менеджеру, плачешься, транзакцию откатывают или тормозят. В блокчейне обратной дороги нет. Перепутала одну букву в шестнадцатеричном адресе кошелька, не проверила сеть — всё, десять миллионов растворились в эфире, вернуть их невозможно физически. Нет техподдержки, нет кнопки «отмена».

Он повернул к ней экран планшета:

— А теперь представь, как сейчас выглядит профессиональный криптокошелек. Это простыни непонятного текста, шестнадцатеричные хеши, комиссии за «газ», выбор RPC-узлов. Клиент Alpen Vault — шестидесятилетний лорд или швейцарский рантье, который привык нажимать одну дорогую кнопку в приложении private banking и требовать абсолютной безопасности. Ему нахрен не сдалось чувствовать себя Нео из «Матрицы».

— И что делаем мы? — уточнила Алина.

— Мы прячем всю эту зубодробительную математику под капот. Строим логику мультиподписей: чтобы подтвердить крупный перевод, система требует одобрения трех независимых доверенных лиц, но делает это элегантно, через привычные биометрические сценарии. Зашиваем защиту от дурака на уровне UX: адрес валидируется автоматически, проверка сети идет в фоне, а транзакция визуализируется так просто и прозрачно, будто он заказывает столик в ресторане.

Он посмотрел ей в глаза:

— Человеческий фактор сведен к нулю математикой, но внешне это выглядит как швейцарские часы. Внутри — сотни шестеренок и сложнейший механизм, а снаружи — гладкий циферблат и две стрелки. Без твоего интерфейса их бункеры — просто бесполезные серверы в скалах.

— Мост между старыми сейфами и чистой математикой, — резюмировала Алина, глядя в иллюминатор.

— В точку, Воронова, — Дмитрий слегка улыбнулся и накрыл ее ладонь своей. — И в Лондоне нам предстоит объяснить человеку, контролирующему эти сейфы, почему без нашего моста его поезд сойдет с рельсов.

Дмитрий жестом попросил у стюардессы еще одну бутылку минералки и повернулся к Алине, чуть наклонив голову:

— Ладно, давай закроем базовую матчасть, пока летим над Ла-Маншем. Ты слышала эти термины: «горячий» и «холодный» кошельки. В представлении дилетантов это какая-то магия, но на деле все примитивно до безобразия.

Он вытащил из кармана плоский кожаный кардхолдер и положил перед ней:

— Представь, что это твой обычный бумажник в сумке. В нем лежит пара сотен франков на такси, обед или кофе. Ты достаешь его десять раз на дню, он у всех на виду, его можно вытащить в толпе или забыть на стойке бара. Это горячий кошелек. Он постоянно подключен к сети. С него удобно и мгновенно отправлять транзакции, но приватные ключи — грубо говоря, цифровая подпись владельца — лежат прямо на сервере или в приложении. Если взломают систему, хакер унесет всё, что там лежит. Держать там серьезные деньги — клинический идиотизм.

— Логично, — кивнула Алина. — А «холодный»?

— А холодный кошелек — это стальной сейф в подвале швейцарского банка за семью замками, — Дмитрий постучал костяшкой пальца по столику. — Физический носитель, аппаратный модуль, который вообще никогда, ни при каких обстоятельствах не подключается к интернету. Приватный ключ зашит в чип и отрезан от внешнего мира воздушным зазором. Чтобы украсть с него деньги через сеть, хакеру придется взломать законы физики. Но и расплатиться им быстро ты не сможешь: пока дойдешь до сейфа, пока пройдешь протоколы идентификации — пройдут часы или дни.

— По отдельности понятно: один быстрый, второй надежный, — Алина слегка нахмурилась. — Но ты говорил, что в нашей архитектуре они работают одновременно. Как кошелек может быть и в сети, и вне сети?

— В этом и фокус, ради которого мы летим в Лондон, — усмехнулся Дмитрий. — Мы строим гибридную архитектуру.

Он придвинулся ближе, чертя пальцем невидимую схему на откидном столике:

— Вся основная масса капитала — девяносто девять процентов институциональных денег — лежит мертво на «холоде», в тех самых защищенных хранилищах. А на «горячем» контуре крутится лишь тонкий буферный пул — ровно столько, сколько нужно для операционной ликвидности на текущий день.

— И как они общаются между собой, если холод отрезан от сети?

— Через протокол отложенной подписи. Клиент нажимает кнопку в твоем красивом интерфейсе на планшете. Для него это выглядит как обычный перевод. Но на бэкенде система формирует транзакцию онлайн, а затем передает ее «слепок» в изолированный холодный контур. Там транзакция подписывается аппаратно — без прямого выхода ключа в интернет, — и только готовая математическая подпись возвращается в сеть для отправки.

Дмитрий посмотрел ей в глаза с той самой профессиональной жесткостью:

— Получается гибрид: клиент получает скорость и комфорт «горячего» сервиса, а безопасность у него — железобетонная, как у швейцарского бункера. И задача твоего UI — сделать так, чтобы пользователь даже не подозревал, какие титанические шестеренки прокручиваются под капотом, пока у него на экране крутится индикатор загрузки.

— Ладно, с кошельками ясно, — Алина оперлась локтем на подлокотник, глядя на него с любопытством. — А сами монеты? Почему есть Биткоин, а всё остальное презрительно зовут «альткоинами»? И главное — как вообще цифровая монетка вроде USDC или USDT может всегда стоить ровно один доллар, если рынок штормит каждый день?

Дмитрий усмехнулся:

— Начнем с Биткоина. Это цифровое золото, первородный консенсус. У него жесткий потолок эмиссии — ровно 21 миллион монет, и ни одной больше. Правила зашиты в код намертво, переписать их нельзя. Он тяжелый, консервативный и медленный. Всё, что появилось позже, назвали «альтернативными монетами» — альткоинами. Кто-то пытался сделать транзакции быстрее, кто-то, вроде Эфириума, прикрутил к блокчейну логику программ — смарт-контракты, превратив сеть в мировой суперкомпьютер.

— А стейблкоины? Те самые «цифровые доллары»? — уточнила она. — Откуда берется железная единица?

— Магии нет, есть два базовых механизма, — Дмитрий постучал пальцем по столу. — Первый — классическое обеспечение, как у USDC или USDT. Компания-эмитент берет реальный бумажный доллар у инвестора, кладет его в банк или в короткие казначейские векселя США, а взамен выпускает в блокчейне ровно один цифровой токен. Если ты принесешь им монету обратно, эмитент ее сожжет и отдаст тебе твой физический бакс. Курс держится на арбитраже: если токен просядет до 99 центов, трейдеры скупят его со скидкой и пойдут требовать у эмитента выплатить целый доллар. Рынок сам выравнивает баланс в единицу.

— Звучит надежно. Если, конечно, эмитент не врет про запасы в банке, — заметила Алина.

— Вот именно. Поэтому институционалы вроде Alpen Vault требуют независимых аудитов от «большой четверки». Но есть и второй тип — алгоритмические стейблкоины, где жесткая привязка к доллару удерживается не реальными резервами, а балансирующим смарт-контрактом и парным волатильным токеном.

— И как это работает на практике?

— Как карточный домик в ураган, — сухо отрезал Ковалев. — Пока рынок растет, алгоритм работает. Как только начинается паника, наступает так называемая «спираль смерти», когда привязка отрывается, и миллиарды долларов превращаются в пыль за сорок восемь часов. Мы в Alpen Vault даже близко не подпустим алгоритмическую дрянь. Только обеспеченные стейблкоины с кастодиальным резервом под надзором регулятора.

— Понятно. Ну а кто стоит за швейцарцами, ты выяснил?

Дмитрий понизил голос почти до шепота: гул двигателей на высоте надежно глушил слова от соседних рядов.

— Его зовут Эдвард Вудли. Семидесятилетний британский баронет, третий партнер в семейном трасте, который контролирует половину старых денег Мейфэр. Официально он на пенсии, разводит чистокровных лошадей в Беркшире и числится старшим советником двух фондов. Неофициально — он держит за горло синдикат, вложивший сорок процентов ликвидности в Alpen Vault. Те швейцарские клерки на Банхофштрассе без его кивка даже кофе в переговорную не закажут.

Алина внимательно слушала, вглядываясь в его профиль: — Если он аристократ старой школы на покое, зачем ему вообще связываться с криптой?

— Вудли — хищник, а не сентиментальный старик в твидовом пиджаке, — усмехнулся Дмитрий. — Он пережил крах фунта, кризис доткомов и 2008 год. Он понимает природу капитала лучше любого молодого гика из Кремниевой долины: деньги должны течь туда, где максимальная маржа, но с минимальным юридическим риском. Крипту он презирает как идеологию, но жаждет контролировать инфраструктуру, через которую эти миллиарды заходят в Европу.

— И каков его стиль ведения дел? К чему готовиться?

— К вежливому, абсолютно холодному садизму, — сухо отчеканил Ковалев. — Он не повышает голос, улыбается, предлагает безупречный чай сорта «Эрл Грей» из тончайшего фарфора и одновременно выворачивает оппоненту суставы британским правом. Наше техническое решение ему нужно — его аналитики уже посчитали убытки от отставания. Но он попытается забрать его за копейки, выкрутив мне руки через статус беженца из восточного блока и навязав кабальный опцион.

Алина слегка прищурилась, глядя, как Дмитрий неторопливо крутит в пальцах стакан:

— То есть наш лорд всерьез рассчитывает, что ты придешь к нему на полусогнутых? «Бедный гений из Восточной Европы ищет британского покровителя»?

— Именно так он эту партию и видит, — усмехнулся Дмитрий. — Вудли искренне убежден, что его фамильный герб на серебряных ложках — это универсальный рычаг давления. Британский снобизм ведь держится на дрессировке оппонента: заставить тебя чувствовать себя варваром у ворот Рима. Показать родословную до битвы при Гастингсе, намекнуть на нужные клубы на Сент-Джеймс и мягко предложить объедки с барского стола в обмен на пожизненный сервитут.

— И тебя это совсем не задевает?

— Задевать? Воронова, брось. — Он негромко хмыкнул и покачал головой. — Какая разница, на сколько поколений вглубь расписано его генеалогическое древо и чья царственная задница — Людовика XIV или какого-нибудь Георга — полировала его антикварное кресло триста лет назад? Стул либо держит нагрузку, либо у него подпилены ножки. Если конструкция кривая, с нее одинаково смачно навернется и уличный бродяга, и лорд в шестом колене. Законам сопромата плевать на титулы.

Дмитрий подался чуть вперед, понизив голос:

— В финансовой архитектуре гравитация — это чистая математика и ликвидность. У Вудли есть антикварный фарфор, фамильный апломб и иллюзия контроля. Но у него нет работающего кода, а его швейцарские бункеры без нашей логики доступа — просто склад дорогого железа. Он ждет просителя с протянутой рукой, которого можно купить за визу и мелкий опцион. А я положу перед ним чек на выкуп доли в его же собственном синдикате. Вот тогда и посмотрим, как его Людовики спасут его от реальной гравитации.

Алина посмотрела на его ровный, абсолютно невозмутимый профиль и тихо рассмеялась:

— Значит, венское кресло против сопромата.

— Против чистого расчета, Воронова. Только так они и учатся летать.

Хитроу встретил их тяжелым серым смогом и бесконечной очередью на паспортный контроль, которую спасло лишь наличие у Дмитрия статуса резидента ЕС .

Черный кэб плавно катил сквозь вечерний трафик к Карлос-Плейс. Отель The Connaught в самом сердце Мейфэр дышал тем самым полированным британским консерватизмом: тяжелый дуб, негромкие шаги швейцаров и безупречная тишина за закрытыми дверями люкса.

Пока Алина разбирала вещи, Дмитрий сбросил пиджак, закатал рукава и открыл на столе тонкий зашифрованный ноутбук.

— Вудли не принимает с улицы и не отвечает на письма с неизвестных доменов, — произнес он, не глядя на нее, пока по черному экрану бежали строки кода. — Он сидит в глухой институциональной обороне. Выйти на него через швейцарцев — значит сразу встать в позицию просителя.

— И как к нему подобраться?

— Через его единственный незакрытый периметр: семейный офис в Челси и личные конюшни в Беркшире.

Дмитрий развернул экран. Там висели не финансовые отчеты, а выписки скачек и закрытый список членов одного из старейших джентльменских клубов на Сент-Джеймс:

— Завтра утром его лошадь бежит в Ньюмаркете. Но главное не это. Казначей его синдиката — человек по фамилии Торнтон — в десять утра завтракает в клубе Brooks’s. А у моего старого партнера по пражскому фонду там пожизненная контрамарка. Мы заходим не в лоб с презентацией стартапа, Алин. Мы появляемся там как равные инвесторы, перехватываем Торнтона до биржевого звонка и передаем лорду Вудли персональный привет: готовность выкупить его личный транш в Alpen Vault живым кэшем прямо к обеду. После этого он сам назначит встречу в Мейфэр в течение двух часов.

Алина посмотрела на часы на каминной полке:

— Значит, у нас ровно двенадцать часов, чтобы пересобрать презентацию под английский корпоративный протокол.

— Десять, — Дмитрий захлопнул ноутбук и наконец взглянул на нее с мягкой усмешкой. — Два часа на сон ты у меня больше не отберешь.

Он поднялся из-за массивного дубового стола, подошел к каминной полке и разлил по двум тяжелым хрустальным стаканам немного торфяного виски. Запах дыма и дубовой бочки мгновенно заполнил гостиную.

Алина окинула взглядом их апартаменты: тяжелые портьеры, мягкий ковер цвета темного бордо, бронзовые бра и две массивные дубовые двери по краям общей комнаты, ведущие в раздельные спальни. В The Connaught бронь сдвоенного представительского люкса выглядела верхом респектабельности — для лондонского сервиса и потенциальных ищеек Вудли они были безупречным деловым тандемом. Никаких дешевых интрижек, способных дать британцам лишний рычаг на переговорах.

Она приняла из его рук стакан, сделала крошечный обжигающий глоток и усмехнулась:

— Значит, делим общий периметр, но держим суверенные границы?

— Разумеется, — Дмитрий салютовал ей своим бокалом. — Мы пришли грабить британский банк, Воронова, а не ставить мыльную оперу для горничных. Если люди Вудли полезут проверять наши счета и брони, они должны увидеть холодный, выверенный расчет. Никаких слабых звеньев. Твоя спальня — слева, моя — справа.

— Очень благородно с твоей стороны, шеф, — она поставила стакан на журнальный столик и потянулась, чувствуя, как накопившаяся за перелет усталость наконец берет свое. — Разбудишь меня в семь? Или опять штурмом брать твою подушку?

— В семь я уже буду в строю, — пообещал он. Взгляд его потеплел, потеряв ту колючую жесткость, с которой он говорил о синдикате. — Спокойной ночи, Алин.

— Спокойной ночи, Ковалев.

Дверь ее спальни закрылась с мягким, глухим щелчком. Дмитрий постоял еще минуту у камина, допил виски, глядя на темные окна, за которыми шумел чужой, дождливый Мейфэр, и тоже пошел ложиться. До первого раунда оставалось меньше десяти часов.

Глава 17

Глава 17.

В девять утра за угловым столом в глубине зала Brooks’s казначей Торнтон неторопливо мазал джем на тост.

Дмитрий сидел напротив в безупречном темно-синем костюме, но выглядел непривычно серым. Заказ перед ним стоял нетронутым: идеальный омлет и дымящийся кофе остывали. Мысль о еде вызывала глухое, липкое отвращение; под ложечкой тоскливо ныло, а к горлу мерзкой волной подступала тошнота. Ковалев держал спину прямо исключительно усилием воли, цедя слова сквозь зажатые челюсти:

— Передайте лорду Вудли, что мой синдикат готов закрыть его позицию по Alpen Vault до конца недели. Полным выкупом.

Торнтон замер с ножом в руке, ошарашенно моргая поверх очков. Дмитрий не стал дожидаться ответа — желудок скрутило спазмом так, что в глазах на секунду потемнело. Он коротко кивнул, бросил на стол пару купюр и поднялся: — Контракт у вас на почте. У лорда время до вечера.

До The Connaught они доехали на такси в гробовом молчании. Как только за ними закрылась дверь люкса, железная выдержка Ковалева рухнула.

Он сорвал галстук, бросил пиджак на пол и пулей влетел в свою ванную. Следующие сорок минут превратились в ад: неукротимая рвота сменялась диареей, тело било мелкой дрожью. Когда он наконец выполз обратно и без сил рухнул на кровать прямо в расстегнутой рубашке, лоб блестел от испарины.

Алина металась по номеру, сжимая в руке телефон. Лицо у нее было белым от ужаса: — Дим, тебя отравили. Это люди Вудли или швейцарцы, господи... Они подсыпали что-то в клубе!

— Перестань нести чушь, — прохрипел Дмитрий, не открывая глаз. Голос звучал сипло, пересохшие губы едва шевелились. — В клубе я даже к воде не притронулся. Где еще? В самолете? Швейцарской минералкой на высоте десяти тысяч метров? Банальный ротавирус... или те чертовы сосиски из цюрихского подвала.

Алина приложила ладонь к его лбу — он был горячим, влажным. Достала из дорожной аптечки бесконтактный градусник: 37.3.

— Температура ползет, тебя полощет наизнанку. Плевать, сосиски это или полоний, ты на ногах не стоишь! — отрезала она, развернулась и выскочила в коридор.

В лифте она судорожно нажала кнопку лобби. На ресепшене сидел безупречно вышколенный консьерж в форменном сюртуке.

— Доброе утро, мисс Воронова. Чем могу...

— Нам срочно нужен врач в номер, — перебила она, оперевшись руками о мраморную стойку. Голос предательски дрожал. — Прямо сейчас. Частный специалист, который сможет приехать немедленно. Моему коллеге очень плохо.

Частный врач с Харли-стрит — седой, сухой англичанин в твидовом пиджаке с кожаным саквояжем — управился за пятнадцать минут.

Он послушал фонендоскопом живот Дмитрия, смерил давление, заглянул в пересохшее горло, пощупал пульс и невозмутимо убрал приборы обратно. Никакой драмы, полония или спецслужб.

— Острый гастроэнтерит, мисс. Судя по скорости и симптоматике — классический ротавирус. Неприятно, шумно, но не смертельно. Полное восстановление займет четыре-пять суток.

Алина сжала спинку кресла:

— И чем его лечить? Какие антибиотики капать?

— Боже упаси, никаких антибиотиков на вирус, — доктор сухо усмехнулся. — Постельный режим. Из еды — исключительно пустой куриный бульон и сухари, когда спадет тошнота. А пить… пейте литрами кока-колу. Если пациент следит за фигурой, можно даже Зеро, без сахара.

Алина уставилась на пожилого эскулапа во все глаза, словно он только что предложил приложить к Ковалеву подорожник:

— Колу?.. Вы серьезно? Газировку при тяжелом отравлении?!

— Абсолютно серьезно, — доктор невозмутимо защелкнул замок саквояжа. — Газы только предварительно выпустите ложкой. В коле ортофосфорная кислота: в такой кислой среде патогенная дрянь в ЖКТ просто перестает размножаться, плюс она снимает рвотный рефлекс и дает быстрый объем жидкости. В Израиле или Штатах вам любой дежурный педиатр скажет то же самое.

Дмитрий с кровати издал сдавленный хриплый смешок, натянув одеяло до подбородка:

— Слышала, Воронова?.. Шагай за двухлитровой бутылкой. Спасай отца русской криптографии.

Алина накинула пальто и выскочила на улицу. Дождь над Мейфэр разошелся всерьез, но она даже не раскрыла зонт — добежала до ближайшего сетевого супермаркета на углу Маунт-стрит.

В отделе напитков она растерянно зависла перед полками, плюнула и взяла обе: двухлитровую классическую в ярко-красной этикетке и черную Zero. Прихватив упаковку простых крекеров, расплатилась на кассе самообслуживания и почти бегом вернулась в отель.

В номере Дмитрий лежал в той же позе — серый, с закрытыми глазами, только дыхание стало чуть глубже.

Алина присела на край кровати, открыла обе бутылки и долго, старательно мешала в двух хрустальных стаканах чайной ложкой, выбивая колючие пузыри газа.

— Подъем, отец русской криптографии. Дегустация, — она осторожно подсунула руку ему под затылок, помогая приподнять тяжелую, горячую голову.

Дмитрий сощурился, сделал маленький, осторожный глоток из стакана с классической колой, тут же поморщился от липкой приторности и слабо качнул головой:

— Дай вторую.

Она поднесла стакан с Zero. Он отпил пару глотков, задержал жидкость во рту, прислушиваясь к реакции взбунтовавшегося желудка, и со стуком опустил затылок обратно на подушку:

— Вылей этот сахар в унитаз. Зеро гораздо приятней. Оставь ее на тумбочке.

— Ничего я выливать не буду, — хмыкнула Алина, закручивая красную крышку.

Она критически окинула взглядом свои тонкие запястья и плоский живот под свитером: при ее комплекции лишние калории и глюкоза были скорее благом, особенно после бессонной ночи и утреннего спринта по дождливому Лондону.

Она с удовольствием сделала большой глоток обычной колы прямо из стакана: — Мне сахар точно не повредит, а тебе вредно спорить с сиделкой. Лежи и пей свою черную химию, пока бульон не принесли.

Ночь превратилась в изматывающий конвейер.

Каждые сорок–пятьдесят минут кровать скрипела: Дмитрий глухо стонал, срывался с места и на автопилоте влетал в ванную. Стены люкса были толстыми, но в ночной тишине The Connaught звуки неукротимой рвоты и плеска воды все равно просачивались в гостиную.

Алина почти не спала. Сначала она честно пыталась оставаться в своей спальне, но после третьего захода плюнула, накинула отельный халат и перебралась в гостиную на диван. Каждый раз, когда стихала вода, она подходила к двери, молча протягивала ему салфетки, стакан с выдохшейся колой Zero или полотенце, смоченное холодной водой.

Ковалев выглядел все страшнее: запавшие глазницы, серая кожа, мокрая от липкого пота челка. Он валился на мокрые от испарины простыни, проваливался в тяжелое, рваное забытье ровно на полчаса, а потом механизм запускался по новой. К пяти утра вымотались оба до состояния тупого оцепенения.

Серое лондонское утро пробилось сквозь щели тяжелых штор только часам к восьми.

Дмитрий лежал пластом, уставившись в потолок мутным, но уже более осмысленным взглядом — бесконечный ночной марафон наконец пошел на спад, оставив после себя чудовищную мышечную слабость и сухость во рту.

Алина сидела в кресле рядом, подобрав под себя ноги и медленно цедя остывший кофе.

На тумбочке коротко завибрировал экран его смартфона. Дмитрий с трудом повернул голову и дотянулся до трубки. Со вчерашнего утра аппарат стоял на глухом беззвучном режиме, чтобы не сойти с ума во время ночных приступов.

На заблокированном экране горели системные уведомления: 3 пропущенных вызова.

Все три — с одного и того же закрытого лондонского номера с кодом Вестминстера. Звонили в полночь, в два часа ночи и двадцать минут назад. А следом висело сухое текстовое сообщение:

«Мистер Ковалев. Лорд Вудли ожидает подтверждения условий вчерашнего демарша. Встреча назначена на 11:30 в офисе синдиката на Керзон-стрит. Отсутствие ответа будет расценено как отзыв оферты. Секретариат лорда Вудли».

Дмитрий хрипло, со свистом выдохнул и выронил телефон на одеяло.

— Ну что, Воронова... Хук сработал, — он попытался усмехнуться пересохшими губами, но лицо исказила гримаса боли в скрученных мышцах пресса. — Лорд не спал всю ночь. Они ждут нас через три часа. А я даже до раковины без твоей руки не дойду.

Алина молча поставила чашку на столик, подошла к кровати и выдернула телефон из его пальцев.

— Никаких «без твоей руки», Ковалев. Ты остаешься здесь, обнимаешь бутылку с «Зеро» и не отсвечиваешь. На Керзон-стрит иду я.

Дмитрий дернулся было приподняться, но спазм в животе заставил его глухо зарычать и вжаться затылком в мокрую подушку.

— Ты с ума сошла, Воронова?.. — прохрипел он, щурясь от боли. — Вудли тебя размажет тонким слоем по своему антикварному паркету. Он ждет архитектора с чеком, а не дизайнера интерфейсов. Для него ты — декорация.

— Вот и отлично, — Алина даже бровью не повела, застегивая манжету шелковой рубашки. — Снобы дохнут от собственной самоуверенности. Он ждет тебя — чтобы давить авторитетом, ломать через колено и тыкать носом в «восточноевропейский след». А приду я. Вежливая, спокойная и абсолютно недосягаемая для его дешевых психологических трюков. Пока он будет гадать, почему «чех» прислал вместо себя девчонку, я зафиксирую позицию.

Она оперлась руками о край матраса, нависнув над ним:

— У меня два часа. Не трать дыхание на споры. Давай инструкции: три главных маркера, за которые нельзя отступать, и красную кнопку, после которой я встаю и ухожу. Живо.

Дмитрий тяжело перевел дух, глядя на нее снизу вверх. Сквозь лихорадочную муть в глазах мелькнуло что-то среднее между злостью и угрюмым уважением.

— Ладно, — выдохнул он. — Слушай сюда.

Он загнул один дрожащий палец:

— Первое: ты не оправдываешься. Ни слова про болезнь, отравление или ротавирус. Англичане чуют слабость за милю. Ты говоришь, что мистер Ковалев закрывает ликвидность с партнерами в Цюрихе перед подписанием, поэтому финальный раунд доверен тебе.

Второй палец:

— Второе: оффер на выкуп доли — не блеф, а ультиматум. Если Вудли начнет петь про традиции, репутацию Сити и регуляторные препоны, ты прямо спрашиваешь: «Лорд Вудли, вы выходите из Alpen Vault в кэш с премией в тридцать процентов или остаетесь миноритарием без права вето на наш софт? Третьего стула для вашей задницы за этим столом нет».

— Дерзко, — хмыкнула Алина. — А красная кнопка?

— Третье: если он попытается расщепить архитектуру — забрать протоколы безопасности себе, а нам оставить только оболочку UI, — ты закрываешь папку, встаешь и говоришь: «Сделка аннулирована, оферта уходит американцам в Fidelity». И уходишь. Не оборачиваясь.

Ковалев вперился в нее цепким взглядом:

— Он побежит следом, Воронова. Главное — не моргай.

Алина собралась с военной точностью: строгий графитовый брючный костюм, гладкий низкий хвост, зашифрованный планшет в тонком кожаном чехле. Никаких лишних украшений — только холодный, выверенный минимализм, который в Сити уважают куда больше показной роскоши.

В дверь люкса негромко постучали. На пороге возник официант в белых перчатках с серебряным подносом: глубокая фарфоровая чашка с дымящимся, прозрачным куриным бульоном, посыпанным щепоткой свежей петрушки, и пара сухих хрустящих тостов. Персональный заказ с кухни по настоянию врача.

Дмитрий с трудом, но уже сам сел на кровати, подложив подушку под спину. Лицо всё еще оставалось бледным, но лихорадочный блеск в глазах угас, а на скулах проступил нормальный цвет.

Он взял чашку обеими руками, вдохнул густой мясной пар и сделал первый осторожный глоток. Желудок не взбунтовался. Дмитрий выдохнул и принялся пить — жадно, почти с аппетитом, впервые за последние сутки чувствуя, как внутри разливается живое человеческое тепло, а не химическая пустота.

— Живой, — констатировала Алина, поправляя воротник перед зеркалом в прихожей.

— Почти человек, — хрипло отозвался он, со стуком поставив пустую чашку на блюдце. — Бульон зашел как родной. Ресурс восстанавливается.

Она взяла сумку, подошла к кровати и на секунду задержала на нем взгляд — цепкий, собранный, без тени сомнений:

— Керзон-стрит, 11:30. Я поехала, шеф. Ложись и набирайся сил.

— Воронова, — окликнул он ее уже в дверях. Голос Дмитрия звучал еще глухо, но в нем снова звенел металл: — Не играй в джентльменов. Бей первой.

Алина коротко усмехнулась, не оборачиваясь, и закрыла за собой дубовую дверь люкса.

Как только за Алиной захлопнулась дверь, тишина в люксе стала почти осязаемой.

Дмитрий откинулся на влажные от пара подушки. Теплый бульон наконец запустил застывший обмен веществ: по венам разлилась тяжелая, сонная волна. Голова по инерции продолжала крутить алгоритмы — сценарий «А», если Вудли полезет в юридическую казуистику; сценарий «Б», если старик попытается взять Алину на испуг; сценарий «В», если лорд бросит на стол встречный оффер через американских кастодианов... Но процессор перегрелся. Желудок, получивший долгожданную органику вместо ортофосфорной кислоты, послал сигнал на аварийную перезагрузку, и Дмитрий провалился в глубокий, спасительный сон без сновидений.

В это время черный кэб высадил Алину у георгианского особняка из темного кирпича на Керзон-стрит. Никаких вывесок — только латунный номер и начищенный до зеркального блеска дверной молоток в форме львиной головы.

Внутри пахло пчелиным воском, дорогим табаком и столетней пылью закрытых библиотек. Высокий секретарь с безупречной осанкой и взглядом патологоанатома принял у нее пальто, сухо поклонился и проводил в малую приемную:

— Лорд Вудли завершает утреннюю почту, мисс. Присаживайтесь.

Алина села в глубокое кожаное кресло, положив зашифрованный планшет на колени. Она приготовилась к долгой осаде — психологическому маринованию на сорок минут, а то и на час, чтобы сбить спесь с наглых визитеров.

Она успела сделать ровно три вдоха и бросить взгляд на старинные напольные часы в углу.

Маятник качнулся. Прошло ровно десять минут.

Тяжелая дубовая дверь распахнулась. Тот же секретарь замер на пороге, чуть склонив голову:

— Лорд Вудли готов принять вас, мисс Воронова.

Десять минут. Для британского аристократического дома и старых денег Мейфэр это было беспредельно мало. Это было почти неприлично быстро — верный маркер того, что ночной ультиматум Ковалева пробил их фамильную броню навылет, и старик сидит на иголках.

Алина плавно поднялась, расправила плечи и шагнула в кабинет.

Кабинет оказался светлым, без тяжелого викторианского пафоса. За широким столом сидел сухощавый старик в мягком кашемировом кардигане мышиного цвета. Никакой спеси, надменности или желания нависать. Перед Алиной был человек, которому в этом мире давно ничего не было нужно: его личного состояния хватило бы на то, чтобы десять поколений потомков безбожно кутили до глубокой старости и не спустили бы даже половины. Вся эта возня с фондами и криптокастодианами для него оставалась лишь старой привычкой, игрой ума, чтобы не умереть со скуки между сезонами скачек.

Увидев ее вместо Дмитрия, Вудли лишь поиграл белесыми бровями, но в глазах мелькнуло неподдельное, живое любопытство. Разумеется, ему сообщили, что она пришла одна, от Дмитрия.

— Присаживайтесь, мисс Воронова, — негромко произнес он на чистом оксфордском английском, указав на кресло.

— Чай? Кофе?

— Чай, будьте добры, — ответила Алина с улыбкой, в полной уверенности, что он позвонит в колокольчик и попросит секретаря.

Но он удивил ее.

— Если не возражаете, я заварю нам Эрл Грей. Сам. Мой секретарь варит его так, будто готовит краску для корабельного днища.

Он поднялся, подошел к небольшому столику в углу, где стоял совершенно обычный электрический чайник, щелкнул кнопкой и неторопливо, с выверенной годами сноровкой прогрел фарфоровый заварочный чайник кипятком, засыпал крупный лист и накрыл льняной салфеткой. Никаких церемониймейстеров. Просто старик, заваривающий чай гостье.

Разговор потек совсем не так, как готовил Дмитрий.

Два часа пролетели как в тумане. Вудли обладал убийственной, пугающе ясной логикой и феноменальной памятью. С первых же минут стало понятно, что его невозможно пробить на испуг. Он спокойно дал понять, что весь их чешский камуфляж шит белыми нитками: он прекрасно знал, что они русские. Он знал бэкграунд Ковалева до десятого байта, знал его партнеров в Праге и имел четкое представление о репутации их коллег в Израиле — старой, закрытой криптографической школе с безупречным послужным списком, к которой баронет относился с редким профессиональным уважением.

И, разумеется, он видел насквозь утренний демарш в клубе.

— Ваш Дмитрий блефует, мисс Воронова, — мягко, с легкой усмешкой заметил Вудли, подливая ей вторую чашку. — Выкупить мою долю в Alpen Vault? У него талантливая голова и неплохой венчурный запас, но не такие цифры. Это была попытка взять Торнтона, как у вас говорят, на “слабо”, — произнес он по-русски и уточнил: — Я правильно произношу? Что ж, это было дерзко. По-пиратски. Мне даже понравилось.

К исходу второго часа Алина чувствовала себя выжатым лимоном. Напряжение, бессонная ночь с чужим ротавирусом, попытки удержать оборону перед живым финансовым компьютером довели ее до предела. Голова гудела, спина затекла.

Вудли медленно опустил уже третью чашку на блюдце, сцепил пальцы в замок и посмотрел на нее долгим, изучающим взглядом:

— Вся техническая архитектура мне ясна. Позиция вашего синдиката — тоже. Но во всей этой конструкции мне непонятна только одна переменная. Вы.

Алина моргнула, пытаясь собрать мысли:

— Я отвечаю за клиентскую часть, юзабилити и...

— Бросьте, — старик слабо отмахнулся. — За дизайн интерфейсов не платят долей в стратегическом партнерстве и не отправляют в одиночку на Сент-Джеймс. Какова ваша реальная роль? И главное — кто вы лично для Дмитрия?

Вопрос ударил наотмашь.

Она замерла. Внутри что-то щелкнуло, сломав выстроенную плотину холодного профессионализма. Кто она для него? Партнер? Соратник по окопу? Девчонка, которая полночи вытирала ему лоб и мешала ложкой дегазированную колу в люксе за полторы тысячи фунтов?

Алина вдруг с пугающей, кристальной ясностью осознала то, от чего бежала все эти месяцы перелетов и переговоров: она безнадежно, бесповоротно влюблена в него. Жизнь без этого колючего, циничного “криптографа” с вечно приподнятой бровью уже просто не собиралась в цельную картинку. И она знала — видела по глазам, по жестам, — что он тоже неравнодушен к ней. Но любит ли? Способен ли он на что-то большее, чем расчет и общая постель за глухими дверями отеля?

Усталость и нервное истощение сорвали предохранители.

— Я… — Алина запнулась, чувствуя, как щеки заливает предательский жар. — Я просто люблю его, понимаете? Давно. Безоглядно. И не представляю без него ни один свой день. Кажется, он тоже… ко мне неравнодушен. Но любит ли на самом деле? Черт его знает. У него в голове одни протоколы, логика и математика.

Она осеклась, прижала ладони к горящему лицу и судорожно выдохнула:

— Господи. Простите, лорд Вудли. Бога ради, простите. Это бред воспаленного мозга, бессонная ночь, я несу абсолютную чушь, это непрофессионально...

Она дернулась было встать, но Вудли мягко поднял сухую ладонь, останавливая ее:

— Сидите, леди. Перестаньте извиняться.

Он посмотрел в окно, где над садом Мейфэр лениво кружили серые лондонские голуби, и на его тонких губах появилась едва заметная, чуть грустная улыбка:

— Знаете, за свои семьдесят с лишним лет я понял одну странную вещь: порой нам куда интереснее наблюдать за чужой жизнью и чужими искренними чувствами, чем жить своей собственной и разбираться в своем давно остывшем болоте. Всеобщее помешательство человечества на бесконечных сериалах — лучшее тому доказательство. Мы разучились чувствовать остро, поэтому подглядываем за теми, у кого еще горит.

Вудли поднялся из-за стола, неторопливо расправил полы кардигана и тепло, сухими теплыми ладонями пожал ее озябшие пальцы:

— Решения по вашей архитектуре я пока не принял, мисс Воронова. Мне нужно все взвесить, но я обязательно извещу мистера Ковалева в ближайшие дни.

Он мягко улыбнулся, глядя на нее без тени снисходительности:

— Спасибо вам за эту прекрасную беседу. За вашу редкую, обезоруживающую искренность и ваш цветущий, юный вид — для моих старых глаз это была подлинная услада среди бесконечных унылых физиономий из Сити.

Старик чуть наклонился к ней и добавил заговорщицким полушепотом:

— И открою вам маленький секрет: я бы ни за что не стал говорить с вами так, если бы в самом начале вы попросили кофе. Английский чай спасает не только империи, но и людей. Берегите себя, мисс Воронова.

Через пять минут Алина уже сидела на заднем сиденье черного кэба, глядя стеклянными глазами на проплывающий мимо дождливый Пикадилли, всё еще не веря в то, что только что произошло в этом кабинете.

Она тихо провернула электронный ключ в замке и вошла в люкс. В гостиной царила абсолютная тишина, нарушаемая лишь глухим шумом дождя за плотными портьерами.

Дверь в спальню Дмитрия была приоткрыта.

Алина заглянула внутрь. Грозный криптограф и гроза лондонских синдикатов бессовестно дрых. Раскинулся по диагонали огромной кровати, лицом в подушку, ровно и глубоко дыша. Лихорадочная бледность ушла, уступив место здоровому сну на сытый желудок. Рядом на тумбочке сиротливо стояли пустая чашка из-под бульона и недопитая бутылка с черной этикеткой.

Алина не удержалась и тихо, тепло улыбнулась. Вся двухчасовая пытка у Вудли, неловкое признание, дождливый Мейфэр и подвешенная сделка разом отступили на задний план, показавшись чем-то далеким и почти ненастоящим. Навалилась свинцовая, тягучая усталость.

Она сбросила туфли, стянула строгий графитовый пиджак, расстегнула верхние пуговицы рубашки и бесшумно опустилась на матрас рядом с ним поверх покрывала.

Дмитрий даже не открыл глаз, но почувствовал движение. Сквозь тяжелый сон он глухо что-то промычал, повернулся на бок и привычным, хозяйским жестом сгреб ее в охапку. Притянул к себе крепко, легко и естественно, уткнувшись носом ей куда-то в ключицу и накрыв тяжелой ладонью лопатки — так, будто они засыпали вот так каждую ночь последние десять лет.

Алина уткнулась лицом в его теплое плечо, вдохнула знакомый запах мыла и хлопкового одеяла, почувствовала, как мерный стук его сердца глушит все тревоги мира, и провалилась в дрему.

Она открыла глаза, с легким запоздалым удивлением осознавая, что действительно заснула. Не задремала вполглаза, карауля чужую температуру, а провалилась в плотный, спасительный сон прямо в одежде, на краю чужой отельной кровати. За шторами сгустились сизые лондонские сумерки.

Дмитрий уже не спал. Он лежал рядом, чуть отодвинувшись — ровно настолько, чтобы видеть ее лицо, подперев щеку согнутой рукой. В полумраке спальни его взгляд был непривычно ясным, спокойным и долгим. Ни колких насмешек, ни привычной брони из цинизма.

Они молчали. Не шевелились, словно любая неосторожная складка на простыне могла спугнуть эту внезапную, звенящую тишину. Воздух между ними казался густым, осязаемым — тем редким чувством абсолютного единения, когда слова не просто не нужны, а опасны.

Веки закололо от сухости; Алине отчаянно захотелось протереть сонные глаза, но она держалась до последнего, боясь шевельнуться и разрушить момент. Наконец не выдержала. Быстро, виновато потерла кулаком ресницы, выдохнула и снова опустила голову на подушку, вжавшись в нее точно так же, как секунду назад.

Прошло еще несколько бесконечных секунд.

В тишине раздался его голос — негромкий, чуть хриплый после сна, но абсолютно твердый:

— Нам надо поговорить.

Она тяжело вздохнула, глядя ему прямо в глаза, и тихо спросила:

— Хочешь узнать, как прошло?

— Это несущественно, — ровно отозвался он.

Алина опешила. Сонную истому как ветром сдуло; она приподнялась на локте, в шоке глядя на его невозмутимую физиономию:

— К-как?.. Почему несущественно? Вудли, весь наш раунд, чертовы миллионы фунтов и шлюз для Alpen Vault! Ты полгода ради этого не спал!

— Это не главное, — спокойно повторил Дмитрий, даже не моргнув.

— Тогда что?! — почти выдохнула она, теряя остатки терпения. — Что тогда главное?

Дмитрий не отвел взгляда. Он медленно протянул руку, коснулся теплыми пальцами ее щеки, убирая выбившуюся прядь, и негромко произнес:

— Ты выйдешь за меня?

Спасибо за чтение

Вернуться к книге