Landing Consulting
Юридическая фирма — архетип «профессиональные услуги»: выбирают, кому доверить проблему. Три практики вместо «полного спектра», партнёры с именами (в услугах покупают людей), шаги работы с бесплатным первым часом и контакты с копированием вместо чат-виджета; сдержанность как дизайн.
Установка
npx shadcn@latest add https://motiva.pages.dev/r/landing-consulting.jsonЧто нужно в проекте до установки
Файл
components.jsonв корнеИз него CLI узнаёт, куда класть файлы. Алиасы — в такой форме:
"aliases": { "components": "@/components", "lib": "@/lib" }Нет файла — установка не начнётся вовсе.
Алиас
@объявлен дваждыВ корневом
tsconfig.jsonи в конфиге сборщика. В Vite корневой tsconfig часто содержит толькоreferences— этого мало."paths": { "@/*": ["./src/*"] } // tsconfig.json resolve.alias = { "@": "/src" } // vite.config.tsБез
pathsCLI молча создаёт папку с именем@.Токены подключены один раз на приложение
Они приезжают вместе с записью — достаточно импортировать их в точке входа:
import "@/styles/motiva-tokens.css";Без них блок потеряет цвета, ритм и тему.
Своя типографика не спорит с блоком
Наследуемые свойства протекают внутрь:
text-align: centerна обёртке отцентрует содержимое секции. То же касаетсяfont-familyиline-height.Проект без TypeScript? всё равно нужен tsconfig
CLI грузит
tsconfig.jsonбезусловно, а при"tsx": falseидёт заjsconfig.jsonи падает так же. Минимум — файл сpathsи"tsx": trueвcomponents.json.Приехавший рядом
.tsxможно не трогать — вам нужен.vanilla.js.
Экспорт
Код
import { NavMinimal } from "@/components/nav-minimal";
import { HeroCentered } from "@/components/hero-centered";
import { LogosGrid } from "@/components/logos-grid";
import { FeaturesColumns } from "@/components/features-columns";
import { StatsBand } from "@/components/stats-band";
import { TeamGrid } from "@/components/team-grid";
import { TestimonialsGrid } from "@/components/testimonials-grid";
import { StepsFlow } from "@/components/steps-flow";
import { ContactPanel } from "@/components/contact-panel";
import { FooterMinimal } from "@/components/footer-minimal";
/**
* Юридическая фирма — архетип «профессиональные услуги»: здесь не покупают
* по кнопке и не подписываются на рассылку — здесь выбирают, КОМУ ДОВЕРИТЬ
* проблему. Отсюда хребет: чем занимаемся (три практики, без «полного спектра
* услуг»), кто отвечает лично (партнёры с именами — в услугах покупают людей),
* как устроена работа (шаги с ценой первого разговора — ноль), и контакты
* с копированием: юристу пишут письмом, а не в чат-виджет.
*
* Ни одного живого фона и ни одной анимации ради анимации: в этом архетипе
* сдержанность — и есть дизайн. Акцент — глубокий синий (--ds-accent-h: 265).
*/
export function LandingConsulting() {
return (
<div
className="lcn ds-scope"
style={{
textAlign: "start",
["--ds-accent-h" as string]: "265",
["--ds-section-y" as string]: "clamp(48px, 7vw, 96px)",
background: "var(--ds-bg, oklch(0.14 0.02 275))",
}}
>
<NavMinimal brand="Барс и партнёры" links={["Практики", "Команда", "Как работаем"]} cta="Обсудить дело" />
<HeroCentered
badge="юридическая фирма · с 2011 года"
title="Мы выигрываем споры, которые «нельзя выиграть»"
accentWords={3}
sub="Арбитраж, интеллектуальная собственность и налоговые споры. Берём дела, в которых видим позицию, — и честно отказываем там, где её нет: это тоже юридическая помощь."
primary="Обсудить дело"
secondary="Наши практики"
note="первый разговор — час, бесплатно и под NDA"
/>
<LogosGrid
eyebrow="доверяют"
title="Компании, которые возвращаются"
/>
<FeaturesColumns
eyebrow="практики"
title="Три области, в которых мы сильны"
sub="«Полный спектр услуг» не бывает сильным. Мы выбрали три — и в них нас знают судьи."
items={[
{ title: "Арбитраж", text: "Корпоративные и договорные споры от миллиона до миллиарда. 78 % дел заканчиваются до суда — и это наша заслуга" },
{ title: "Интеллектуальная собственность", text: "Товарные знаки, патенты, споры о контенте. Защищали и правообладателей, и тех, кого назвали пиратами зря" },
{ title: "Налоговые споры", text: "Сопровождение проверок и оспаривание доначислений. Средний счёт снижаем в шесть раз" },
]}
/>
<StatsBand
items={[
{ value: 14, label: "лет практики фирмы" },
{ value: 420, suffix: "+", label: "выигранных дел" },
{ value: 78, suffix: "%", label: "споров закрыто до суда" },
{ value: 6, suffix: "×", label: "среднее снижение доначислений" },
]}
/>
<TeamGrid
eyebrow="команда"
title="Партнёры, которые ведут дела лично"
sub="Ваше дело не уйдёт «младшему юристу»: подпись партнёра — на каждой позиции."
items={[
{ name: "Анна Барс", role: "управляющий партнёр · арбитраж", photo: "https://motiva.pages.dev/img/1015-600x750.jpg", about: "Двадцать лет в судах. Считает мировое соглашение лучшей победой." },
{ name: "Михаил Тарле", role: "партнёр · интеллектуальная собственность", photo: "https://motiva.pages.dev/img/1018-600x750.jpg", about: "Бывший патентный поверенный. Читает формулы изобретений как прозу." },
{ name: "Дина Корш", role: "партнёр · налоговые споры", photo: "https://motiva.pages.dev/img/1021-600x750.jpg", about: "Десять лет по ту сторону — знает, как думает проверка." },
]}
/>
<TestimonialsGrid
eyebrow="отзывы"
title="Что говорят доверители"
items={[
{ text: "Нам доначислили сумму с восемью нулями. После двух инстанций осталась одна консультация и ноль доначислений.", name: "Производственная группа", role: "налоговый спор", featured: true },
{ text: "Честно сказали, что позиция слабая, и предложили мировое. Сэкономили нам год и юридический бюджет.", name: "ИТ-компания", role: "арбитраж" },
{ text: "Вернули товарный знак, который «увели» на перекупщика. Заодно научили, как не потерять снова.", name: "Сеть кофеен", role: "интеллектуальная собственность" },
{ text: "Партнёр на связи в выходной во время обысков — это запоминается навсегда.", name: "Торговый дом", role: "сопровождение проверки" },
]}
/>
<StepsFlow
eyebrow="как работаем"
title="От письма до позиции"
sub="Прозрачно с первого часа: вы всегда знаете, что происходит и сколько стоит."
items={[
{ title: "Разговор", text: "Час с партнёром: слушаем, задаём вопросы, говорим честно — есть позиция или нет.", note: "бесплатно · NDA" },
{ title: "Анализ", text: "Изучаем документы и практику, приносим план: сценарии, риски, бюджет каждого.", note: "3–7 дней" },
{ title: "Позиция", text: "Работаем по выбранному сценарию. Отчёт — раз в неделю, без напоминаний.", note: "фикс или почасовая" },
{ title: "Результат", text: "Решение, мировое или честное «дальше идти не стоит» — с обоснованием.", note: "по делу" },
]}
/>
<ContactPanel
eyebrow="контакт"
title="Опишите ситуацию — ответит партнёр"
sub="Пишите на почту: письмо структурирует мысли лучше звонка. Ответ — в течение рабочего дня."
rows={[
{ label: "почта", value: "case@barslaw.ru" },
{ label: "телефон", value: "+7 495 000-00-00" },
{ label: "адрес", value: "Столярный пер., 3, офис 41" },
]}
note="Для срочного: та же почта со словом «срочно» в теме — увидим в течение часа"
/>
<FooterMinimal
brand="Барс и партнёры"
tagline="Арбитраж · интеллектуальная собственность · налоговые споры"
columns={[
{ title: "Фирма", links: ["Практики", "Команда", "Публикации"] },
{ title: "Связь", links: ["case@barslaw.ru", "+7 495 000-00-00", "Реквизиты"] },
]}
note="Адвокатская тайна — с первого письма"
/>
</div>
);
}