За несколько месяцев до благотворительного бала в элитной школе «Академия на холме» в жизни пяти, казалось бы, обычных семей начали происходить странные события. Их дети учились в одном классе, 10 «Б», и внешне всё было благополучно. Но под гладкой поверхностью копилось напряжение.
Семья Волковых, новые деньги, с размахом ворвалась в школьное сообщество, их сын Артём сразу стал центром внимания. Семья Орловых, старинная аристократия, с трудом сводила концы с концами, цепляясь за фамильное имя; их дочь Софья держалась особняком. Семья Беловых, где оба родителя — известные хирурги, почти не видели свою дочь Катю, погружённую в учёбу. Семья Ковалёвых, владельцы небольшой, но быстрорастущей IT-компании, пытались купить для сына Миши лучшие возможности. И семья Егоровых, учитель математики Андрей и его жена-флорист, чья дочь Лиза была тихой и наблюдательной.
Месяц за месяцем судьбы этих семей начали незаметно переплетаться. Анонимные письма с намёками на старые тайны приходили в дом Орловых. Волковы неожиданно получили крупный контракт после сомнительной сделки, о которой случайно узнал Андрей Егоров. Катя Белова застала Мишу Ковалёва в слезах у кабинета завуча. Софья Орлова и Артём Волков, казалось, ненавидели друг друга, но их видели вместе в старом заброшенном крыле школы.
Накануне бала атмосфера накалилась до предела. В день события зал сиял огнями, но под масками вежливости скрывались страх и взаимные подозрения. Когда в полночь погас свет, раздался крик. А когда свет включили снова, в центре зала лежало тело в маске и роскошном костюме. Никто не мог опознать жертву — ни по лицу, ни по одежде. Это был незнакомец, чьё появление стало последней деталью в пазле, который эти пять семей складывали всё последнее время, сами того не ведая. Убийство было лишь финальным актом истории, корни которой уходили в те самые месяцы тихого соперничества, скрытых обид и роковых случайностей.