Новые страницы услуг
This commit is contained in:
parent
67da9f810b
commit
ba332ca782
17 changed files with 2739 additions and 191 deletions
|
|
@ -38,8 +38,8 @@ const { tabsData: tabsDataProp, sectionLabel, sectionTitle, sectionDesc } = Astr
|
|||
|
||||
const defaultProps = {
|
||||
sectionLabel: "Подробнее об услуге",
|
||||
sectionTitle: "Всё о возврате водительских прав",
|
||||
sectionDesc: "Полная информация об услуге возврата прав при лишении"
|
||||
sectionTitle: "Защита водителей до составления протокола",
|
||||
sectionDesc: "Полная информация о юридической помощи на ранних этапах"
|
||||
};
|
||||
|
||||
const finalSectionLabel = sectionLabel || defaultProps.sectionLabel;
|
||||
|
|
@ -48,48 +48,48 @@ const finalSectionDesc = sectionDesc || defaultProps.sectionDesc;
|
|||
|
||||
const defaultTabsData = {
|
||||
problem: {
|
||||
title: "Лишение прав — массовая практика",
|
||||
description: "Ежегодно в России более <strong>300 000 водителей</strong> лишаются водительских прав. При этом значительная часть постановлений выносится с <strong>процессуальными нарушениями</strong>.",
|
||||
description2: "Сотрудники ГИБДД часто допускают ошибки при составлении протоколов, нарушении порядка освидетельствования или не разъясняют права водителям.",
|
||||
title: "Остановка инспектором — критически важный момент",
|
||||
description: "Большинство водителей <strong>теряют свои права</strong> именно на этапе остановки и общения с инспектором до начала оформления протокола. В этот момент важно <strong>знать свои права</strong> и фиксировать любые нарушения.",
|
||||
description2: "Инспекторы часто допускают нарушения: не разъясняют права, проводят освидетельствование без понятых, не предоставляют информацию о порядке обжалования. <strong>Чем раньше подключится юрист — тем больше шансов на успех</strong>.",
|
||||
items: [
|
||||
"Нарушение процедуры освидетельствования",
|
||||
"Ошибки в протоколах и постановлениях",
|
||||
"Отсутствие понятых или видеофиксации"
|
||||
"Нарушение процедуры остановки и освидетельствования",
|
||||
"Отсутствие понятых или видеофиксации",
|
||||
"Не разъяснены права водителя"
|
||||
],
|
||||
visualNumber: "300K+",
|
||||
visualLabel: "водителей лишаются прав ежегодно",
|
||||
visualNote: "Из них до 40% дел можно выиграть",
|
||||
barWidth: 75
|
||||
visualNumber: "70%",
|
||||
visualLabel: "дел проиграны из-за ошибок на старте",
|
||||
visualNote: "При грамотной защите на этапе — до 85% дел закрываются",
|
||||
barWidth: 70
|
||||
},
|
||||
approach: {
|
||||
title: "Индивидуальная стратегия для каждого дела",
|
||||
description: "Мы не используем шаблонные решения. Каждое дело <strong>уникально</strong> и требует детального анализа материалов, видеозаписей и показаний свидетелей.",
|
||||
description2: "Наш подход основан на <strong>глубоком знании практики</strong> судов Сургута и ХМАО. Мы изучаем каждую мелочь, чтобы найти слабые места обвинения.",
|
||||
title: "Оперативная защита с первой минуты",
|
||||
description: "Мы обеспечиваем <strong>юридическое сопровождение</strong> с момента остановки инспектором. Контролируем каждый шаг: законность требований, порядок освидетельствования, правильность заполнения документов.",
|
||||
description2: "Наша задача — <strong>не допустить нарушений</strong> ещё на этапе оформления. Если протокол составлен с ошибками — это основание для прекращения дела.",
|
||||
items: [
|
||||
{ icon: "📋", title: "Анализ документов", desc: "Изучаем протоколы, постановления, рапорты" },
|
||||
{ icon: "🔍", title: "Поиск нарушений", desc: "Находим процессуальные ошибки" },
|
||||
{ icon: "📹", title: "Видеодоказательства", desc: "Запрашиваем и анализируем записи" }
|
||||
{ icon: "📞", title: "Консультация по телефону", desc: "Правильное поведение при остановке" },
|
||||
{ icon: "🚗", title: "Выезд на место", desc: "Защита при оформлении" },
|
||||
{ icon: "📋", title: "Проверка протокола", desc: "Фиксация ошибок и нарушений" }
|
||||
],
|
||||
steps: ["Консультация", "Анализ дела", "Стратегия", "Суд", "Результат"]
|
||||
steps: ["Звонок юристу", "Консультация", "Выезд на место", "Проверка протокола", "Прекращение дела"]
|
||||
},
|
||||
stats: {
|
||||
bigStat: { number: 98, label: "Успешных дел", barWidth: 98 },
|
||||
bigStat: { number: 85, label: "Дел прекращено на ранних этапах", barWidth: 85 },
|
||||
stats: [
|
||||
{ number: 500, label: "Клиентов вернули права", suffix: "+" },
|
||||
{ number: 15, label: "Лет практики", suffix: "" },
|
||||
{ number: 2, label: "Недели — мин. срок", suffix: "" },
|
||||
{ number: 400, label: "Водителей защищены", suffix: "+" },
|
||||
{ number: 12, label: "Лет практики", suffix: "" },
|
||||
{ number: 30, label: "Минут — среднее время выезда", suffix: " мин" },
|
||||
{ number: 100, label: "Возврат денег при неудаче", suffix: "%" }
|
||||
]
|
||||
},
|
||||
guarantees: {
|
||||
title: "Работаем на результат",
|
||||
description: "Мы уверены в своих силах, поэтому предлагаем <strong>оплату по факту</strong> — только после успешного возврата прав.",
|
||||
description2: "Если суд вынес решение не в вашу пользу — мы <strong>вернём деньги</strong> за наши услуги. Это прописано в договоре.",
|
||||
description: "Мы берёмся только за дела с <strong>реальными перспективами</strong>. Если защита на раннем этапе не помогла — мы вернём <strong>оплату за услугу</strong>.",
|
||||
description2: "Если протокол составлен без нарушений — мы честно скажем об этом <strong>на первой консультации</strong> и предложим стратегию защиты на следующих этапах.",
|
||||
items: [
|
||||
{ title: "Без предоплаты", desc: "Оплата только после положительного результата" },
|
||||
{ title: "Возврат денег", desc: "Если не вернули права — вернём оплату" },
|
||||
{ title: "Договор", desc: "Официальный договор с прописанными гарантиями" },
|
||||
{ title: "Честная оценка", desc: "Не берёмся за заведомо проигрышные дела" }
|
||||
{ title: "Бесплатная оценка", desc: "Честный анализ перспектив дела на консультации" },
|
||||
{ title: "Возврат денег", desc: "Если защита не сработала — вернём оплату" },
|
||||
{ title: "Договор", desc: "Официальный договор с прописанными условиями" },
|
||||
{ title: "Оперативность", desc: "Выезд на место в течение 30 минут" }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -15,18 +15,18 @@ interface Props {
|
|||
const { advantages: advantagesProp, sectionLabel, sectionTitle, sectionDesc } = Astro.props;
|
||||
|
||||
const defaultAdvantages: Advantage[] = [
|
||||
{ number: "01", title: "Специализация на автоспорах", desc: "Мы занимаемся исключительно делами по лишению прав. Это даёт глубокое знание практики судов Сургута." },
|
||||
{ number: "02", title: "98% успешных дел", desc: "Наша статистика говорит сама за себя. Большинство дел заканчиваются в пользу клиента." },
|
||||
{ number: "03", title: "Бесплатная консультация", desc: "Первичная консультация бесплатно. Честно скажем о перспективах дела до начала работы." },
|
||||
{ number: "04", title: "Работа без предоплаты", desc: "Оплата только после положительного результата. Мы уверены в своих силах." },
|
||||
{ number: "05", title: "Полное сопровождение", desc: "Берём на себя весь процесс — от анализа документов до получения прав в ГИБДД." },
|
||||
{ number: "06", title: "Связь 24/7", desc: "На связи в любое время. Оперативно отвечаем на вопросы и информируем о ходе дела." }
|
||||
{ number: "01", title: "Оперативный выезд", desc: "Выезжаем на место в течение 30 минут. Защищаем водителя с первой минуты остановки." },
|
||||
{ number: "02", title: "85% дел прекращено", desc: "Большинство дел закрываются благодаря грамотной защите на раннем этапе." },
|
||||
{ number: "03", title: "Бесплатная консультация", desc: "Первичная консультация бесплатно. Объясним, как вести себя при остановке инспектором." },
|
||||
{ number: "04", title: "Работа без предоплаты", desc: "Оплата только после результата. Мы уверены в эффективности ранней защиты." },
|
||||
{ number: "05", title: "Полное сопровождение", desc: "Берём на себя весь процесс — от консультации при остановке до прекращения дела." },
|
||||
{ number: "06", title: "Связь 24/7", desc: "На связи в любое время. Оперативно выезжаем на место при звонке клиента." }
|
||||
];
|
||||
|
||||
const finalAdvantages = advantagesProp || defaultAdvantages;
|
||||
const finalSectionLabel = sectionLabel || "Почему мы";
|
||||
const finalSectionTitle = sectionTitle || "Преимущества работы с нами";
|
||||
const finalSectionDesc = sectionDesc || "Доверьте своё дело профессионалам с многолетним опытом";
|
||||
const finalSectionDesc = sectionDesc || "Защита ваших прав с первой минуты остановки";
|
||||
---
|
||||
|
||||
<section class="advantages-section" id="advantages">
|
||||
|
|
|
|||
|
|
@ -16,18 +16,18 @@ interface Props {
|
|||
const { articles: articlesProp, sectionLabel, sectionTitle, sectionDesc } = Astro.props;
|
||||
|
||||
const defaultArticles: Article[] = [
|
||||
{ icon: "🍺", title: "Ст. 12.8 — Управление в состоянии опьянения", desc: "Оспариваем результаты освидетельствования, проверяем соблюдение процедуры медосвидетельствования.", chance: "Высокий шанс" },
|
||||
{ icon: "🚫", title: "Ст. 12.26 — Отказ от медосвидетельствования", desc: "Анализируем законность требований о прохождении освидетельствования, ищем нарушения процедуры.", chance: "Высокий шанс" },
|
||||
{ icon: "🚦", title: "Ст. 12.12 — Проезд на красный свет", desc: "Проверяем работу камер, анализируем материалы дела, ищем свидетелей.", chance: "Средний шанс" },
|
||||
{ icon: "🔄", title: "Ст. 12.15 — Выезд на встречную полосу", desc: "Анализируем дорожную разметку, знаки, показания инспекторов.", chance: "Высокий шанс" },
|
||||
{ icon: "🚗", title: "Ст. 12.27 — Оставление места ДТП", desc: "Доказываем отсутствие умысла или необходимость покинуть место по уважительной причине.", chance: "Средний шанс" },
|
||||
{ icon: "⚠️", title: "Другие статьи", desc: "Работаем с любыми статьями КоАП — каждая ситуация индивидуальна и требует анализа.", chance: "Зависит от дела" }
|
||||
{ icon: "🛑", title: "Остановка инспектором", desc: "Проверяем законность остановки, контролируем действия инспектора с первой минуты.", chance: "Высокий шанс" },
|
||||
{ icon: "🫁", title: "Освидетельствование на месте", desc: "Контролируем правильность процедуры, наличие понятых, поверку прибора.", chance: "Высокий шанс" },
|
||||
{ icon: "📋", title: "Составление протокола", desc: "Проверяем каждое поле протокола, фиксируем ошибки и нарушения процедуры.", chance: "Высокий шанс" },
|
||||
{ icon: "🎥", title: "Отсутствие видеозаписи", desc: "Если инспектор не вёл запись — это основание для прекращения дела.", chance: "Средний шанс" },
|
||||
{ icon: "👥", title: "Отсутствие понятых", desc: "Освидетельствование без понятых — грубое процессуальное нарушение.", chance: "Высокий шанс" },
|
||||
{ icon: "⚠️", title: "Другие ситуации", desc: "Работаем с любыми нарушениями процедуры — каждая ситуация требует анализа.", chance: "Зависит от дела" }
|
||||
];
|
||||
|
||||
const finalArticles = articlesProp || defaultArticles;
|
||||
const finalSectionLabel = sectionLabel || "Работаем со статьями";
|
||||
const finalSectionTitle = sectionTitle || "По каким статьям КоАП возвращаем права";
|
||||
const finalSectionDesc = sectionDesc || "Оспариваем лишение по всем основным статьям КоАП РФ";
|
||||
const finalSectionLabel = sectionLabel || "Работаем с ситуациями";
|
||||
const finalSectionTitle = sectionTitle || "Типичные ситуации для защиты";
|
||||
const finalSectionDesc = sectionDesc || "Защищаем водителей при любых нарушениях процедуры";
|
||||
---
|
||||
|
||||
<section class="articles-section" id="articles">
|
||||
|
|
|
|||
|
|
@ -14,18 +14,18 @@ interface Props {
|
|||
const { faqs: faqsProp, sectionLabel, sectionTitle, sectionDesc } = Astro.props;
|
||||
|
||||
const defaultFAQs: FAQ[] = [
|
||||
{ question: "Можно ли реально вернуть права после лишения?", answer: "Да, в <strong>98% случаев</strong> нам удаётся вернуть права. Мы анализируем материалы дела и честно говорим о перспективах до начала работы." },
|
||||
{ question: "Сколько времени занимает процесс?", answer: "В среднем процесс занимает <strong>от 2 недель до 3 месяцев</strong> в зависимости от сложности дела и загруженности судов." },
|
||||
{ question: "Что если суд уже вынес решение?", answer: "Мы можем <strong>обжаловать решение</strong> в апелляционном суде в течение 10 дней с момента вынесения. Даже если срок прошёл, есть другие механизмы." },
|
||||
{ question: "Какие гарантии результата?", answer: "Мы работаем <strong>без предоплаты</strong> — оплата только после положительного результата. Если не вернём права — вернём деньги." },
|
||||
{ question: "Нужно ли моё присутствие в суде?", answer: "<strong>Нет</strong>, мы представляем ваши интересы по доверенности. Ваше присутствие не требуется — мы ведём дело полностью." },
|
||||
{ question: "Что нужно для начала работы?", answer: "Достаточно <strong>позвонить нам</strong> или оставить заявку. На бесплатной консультации мы всё обсудим и начнём работу." }
|
||||
{ question: "Что делать, если меня остановил инспектор?", answer: "Сразу <strong>позвоните нам</strong>. Мы объясним, как правильно себя вести, что можно и нельзя говорить. Не подписывайте документы без консультации с юристом." },
|
||||
{ question: "Как быстро вы можете выехать на место?", answer: "Наш специалист выезжает в течение <strong>30 минут</strong> после звонка. Мы работаем по всему Сургуту и пригороду." },
|
||||
{ question: "Можно ли прекратить дело до суда?", answer: "Да, если протокол составлен с <strong>процессуальными нарушениями</strong> — это основание для прекращения дела. В 85% случаев дело закрывается на раннем этапе." },
|
||||
{ question: "Какие гарантии результата?", answer: "Мы работаем <strong>без предоплаты</strong> — оплата только после результата. Если защита не сработала — вернём деньги за услугу." },
|
||||
{ question: "Нужно ли моё присутствие при оформлении?", answer: "<strong>Да</strong>, вы должны быть на месте. Но с нашим юристом вы будете защищены — мы контролируем каждый шаг инспектора." },
|
||||
{ question: "Что если я уже подписал протокол?", answer: "Даже если вы подписали протокол, мы можем <strong>оспорить его</strong> при наличии процессуальных нарушений. Звоните — разберёмся в ситуации." }
|
||||
];
|
||||
|
||||
const finalFAQs = faqsProp || defaultFAQs;
|
||||
const finalSectionLabel = sectionLabel || "Вопросы";
|
||||
const finalSectionTitle = sectionTitle || "Частые вопросы";
|
||||
const finalSectionDesc = sectionDesc || "Ответы на популярные вопросы о возврате прав";
|
||||
const finalSectionDesc = sectionDesc || "Ответы на популярные вопросы о защите водителей";
|
||||
---
|
||||
|
||||
<section class="faq-section" id="faq">
|
||||
|
|
|
|||
|
|
@ -19,14 +19,14 @@ interface Props {
|
|||
const { plans: plansProp, sectionLabel, sectionTitle, sectionDesc } = Astro.props;
|
||||
|
||||
const defaultPlans: Plan[] = [
|
||||
{ badge: "Базовый", title: "Консультация + анализ дела", price: "Бесплатно", features: ["Анализ материалов дела", "Оценка перспектив", "Рекомендации по действиям", "Консультация по статьям"], btnText: "Получить консультацию", btnClass: "" },
|
||||
{ badge: "Популярный", title: "Полное сопровождение", price: "от 15 000 ₽", features: ["Всё из базового пакета", "Подготовка жалоб", "Представительство в суде", "Сбор доказательств", "Получение прав"], btnText: "Начать работу", btnClass: "gold", popular: true },
|
||||
{ badge: "Премиум", title: "Сложные дела", price: "от 30 000 ₽", features: ["Всё из полного пакета", "Экспертиза", "Апелляция", "Работа с ГИБДД", "Приоритетная поддержка"], btnText: "Обсудить дело", btnClass: "" }
|
||||
{ badge: "Базовый", title: "Телефонная консультация", price: "Бесплатно", features: ["Разбор вашей ситуации", "Рекомендации по поведению", "Оценка перспектив дела", "Консультация 24/7"], btnText: "Позвонить сейчас", btnClass: "" },
|
||||
{ badge: "Популярный", title: "Выезд + защита на месте", price: "от 8 000 ₽", features: ["Выезд в течение 30 минут", "Защита при оформлении", "Проверка законности действий", "Фиксация нарушений", "Проверка протокола"], btnText: "Вызвать юриста", btnClass: "gold", popular: true },
|
||||
{ badge: "Премиум", title: "Полное сопровождение", price: "от 15 000 ₽", features: ["Всё из популярного пакета", "Представительство в суде", "Обжалование решения", "Приоритетная поддержка", "Гарантия возврата"], btnText: "Обсудить дело", btnClass: "" }
|
||||
];
|
||||
|
||||
const finalPlans = plansProp || defaultPlans;
|
||||
const finalSectionLabel = sectionLabel || "Стоимость";
|
||||
const finalSectionTitle = sectionTitle || "Сколько стоит возврат прав";
|
||||
const finalSectionTitle = sectionTitle || "Сколько стоит защита водителя";
|
||||
const finalSectionDesc = sectionDesc || "Прозрачные цены без скрытых платежей";
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -27,28 +27,28 @@ const {
|
|||
category: "Водительские права",
|
||||
services: [
|
||||
{
|
||||
title: "Возврат прав при лишении",
|
||||
description: "Оспариваем лишение водительских прав в суде. Работаем с любыми статьями КоАП.",
|
||||
price: "от 40 000 ₽",
|
||||
icon: "🚗",
|
||||
title: "Защита до составления протокола",
|
||||
description: "Юридическая помощь водителям с момента остановки инспектором до начала оформления. Предотвращаем нарушения прав и неправомерные действия.",
|
||||
price: "от 8 000 ₽",
|
||||
icon: "🛡️",
|
||||
href: "/services/license-return",
|
||||
features: ["Анализ протокола", "Представительство в суде", "Обжалование решения", "Сопровождение до результата"]
|
||||
features: ["Консультация при остановке", "Контроль законности действий инспектора", "Фиксация процессуальных нарушений", "Проверка заполнения протокола"]
|
||||
},
|
||||
{
|
||||
title: "Оспаривание лишения",
|
||||
description: "Находим процессуальные нарушения и добиваемся отмены постановлений.",
|
||||
title: "Защита при составленном протоколе",
|
||||
description: "Анализируем протокол, находим процессуальные нарушения, выстраиваем линию защиты для минимизации последствий.",
|
||||
price: "от 20 000 ₽",
|
||||
icon: "📝",
|
||||
href: "/services/license-challenge",
|
||||
features: ["Аудит протокола на нарушения", "Сбор доказательств", "Подготовка возражений", "Представительство при рассмотрении"]
|
||||
},
|
||||
{
|
||||
title: "Обжалование судебного решения",
|
||||
description: "Оспариваем вынесенные судебные постановления. Находим основания для отмены и добиваемся отмены решений.",
|
||||
price: "от 30 000 ₽",
|
||||
icon: "⚖️",
|
||||
href: "/services/license-challenge",
|
||||
features: ["Аудит материалов дела", "Поиск нарушений процедуры", "Подготовка жалобы", "Защита в апелляционном суде"]
|
||||
},
|
||||
{
|
||||
title: "Замена прав",
|
||||
description: "Помощь в замене прав по окончании срока, при утере или порче.",
|
||||
price: "от 5 000 ₽",
|
||||
icon: "🔄",
|
||||
href: "/services/replacement",
|
||||
features: ["Подготовка документов", "Запись в ГИБДД", "Сопровождение процедуры", "Получение новых прав"]
|
||||
href: "/services/appeal",
|
||||
features: ["Анализ постановления суда", "Подготовка апелляционной жалобы", "Представительство в апелляционном суде", "Контроль исполнения решения"]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -531,7 +531,7 @@ const {
|
|||
|
||||
/* Текст */
|
||||
.service-title {
|
||||
font-size: 1.25rem;
|
||||
font-size: 1.15rem;
|
||||
font-weight: 700;
|
||||
color: var(--color-primary);
|
||||
margin: 0 0 0.75rem 0;
|
||||
|
|
|
|||
|
|
@ -15,18 +15,18 @@ interface Props {
|
|||
const { includes: includesProp, sectionLabel, sectionTitle, sectionDesc } = Astro.props;
|
||||
|
||||
const defaultIncludes: IncludeItem[] = [
|
||||
{ icon: "📄", title: "Анализ протокола и документов", desc: "Изучаем все материалы дела, ищем процессуальные нарушения" },
|
||||
{ icon: "💬", title: "Консультация 24/7", desc: "На связи в любое время, отвечаем на все вопросы" },
|
||||
{ icon: "📝", title: "Подготовка жалоб и ходатайств", desc: "Составляем все необходимые процессуальные документы" },
|
||||
{ icon: "👨⚖️", title: "Представительство в суде", desc: "Полное ведение дела без вашего участия" },
|
||||
{ icon: "🔍", title: "Сбор доказательств", desc: "Находим свидетелей, запрашиваем видеозаписи" },
|
||||
{ icon: "✅", title: "Гарантия результата", desc: "Если не вернули права — вернём деньги" }
|
||||
{ icon: "📞", title: "Консультация 24/7", desc: "На связи в любое время, отвечаем на все вопросы" },
|
||||
{ icon: "🚗", title: "Выезд на место остановки", desc: "Защита водителя при оформлении документов" },
|
||||
{ icon: "📋", title: "Проверка законности действий", desc: "Контролируем правильность процедуры" },
|
||||
{ icon: "📹", title: "Фиксация нарушений", desc: "Записываем все процессуальные ошибки инспектора" },
|
||||
{ icon: "📝", title: "Проверка протокола", desc: "Анализируем правильность заполнения документов" },
|
||||
{ icon: "✅", title: "Гарантия результата", desc: "Если защита не сработала — вернём деньги" }
|
||||
];
|
||||
|
||||
const finalIncludes = includesProp || defaultIncludes;
|
||||
const finalSectionLabel = sectionLabel || "Что входит";
|
||||
const finalSectionTitle = sectionTitle || "Что входит в услугу";
|
||||
const finalSectionDesc = sectionDesc || "Полный спектр работ по возврату ваших прав";
|
||||
const finalSectionDesc = sectionDesc || "Полный спектр защиты водителя до составления протокола";
|
||||
---
|
||||
|
||||
<section class="includes-section" id="includes">
|
||||
|
|
|
|||
|
|
@ -15,17 +15,17 @@ interface Props {
|
|||
const { steps: stepsProp, sectionLabel, sectionTitle, sectionDesc } = Astro.props;
|
||||
|
||||
const defaultSteps: Step[] = [
|
||||
{ number: "01", title: "Бесплатная консультация", desc: "Анализируем вашу ситуацию, оцениваем перспективы дела. Рассказываем о шансах и стоимости." },
|
||||
{ number: "02", title: "Анализ материалов дела", desc: "Изучаем протоколы, постановления, видеозаписи. Ищем процессуальные нарушения." },
|
||||
{ number: "03", title: "Подготовка стратегии", desc: "Разрабатываем линию защиты, собираем доказательства, готовим документы для суда." },
|
||||
{ number: "04", title: "Защита в суде", desc: "Представляем ваши интересы в суде первой и апелляционной инстанции." },
|
||||
{ number: "05", title: "Получение прав", desc: "Помогаем с процедурой возврата прав после успешного решения суда." }
|
||||
{ number: "01", title: "Звонок юристу", desc: "Позвоните нам сразу после остановки инспектором. Работаем 24/7, консультация бесплатная." },
|
||||
{ number: "02", title: "Консультация по ситуации", desc: "Объясняем, как правильно себя вести, что можно и нельзя делать при общении с инспектором." },
|
||||
{ number: "03", title: "Выезд на место", desc: "Наш специалист выезжает к вам для защиты при оформлении документов и освидетельствовании." },
|
||||
{ number: "04", title: "Проверка протокола", desc: "Контролируем правильность заполнения, фиксируем любые процессуальные нарушения." },
|
||||
{ number: "05", title: "Прекращение дела", desc: "Благодаря грамотной защите на раннем этапе дело часто прекращается до суда." }
|
||||
];
|
||||
|
||||
const finalSteps = stepsProp || defaultSteps;
|
||||
const finalSectionLabel = sectionLabel || "Этапы работы";
|
||||
const finalSectionTitle = sectionTitle || "Как мы возвращаем ваши права";
|
||||
const finalSectionDesc = sectionDesc || "Прозрачный процесс от первой консультации до получения прав";
|
||||
const finalSectionTitle = sectionTitle || "Как мы защищаем ваши права";
|
||||
const finalSectionDesc = sectionDesc || "Оперативная помощь с момента остановки до прекращения дела";
|
||||
---
|
||||
|
||||
<section class="steps-section" id="steps">
|
||||
|
|
|
|||
364
frontend/src/pages/services/accident-help.astro
Normal file
364
frontend/src/pages/services/accident-help.astro
Normal file
|
|
@ -0,0 +1,364 @@
|
|||
---
|
||||
import Layout from '@layouts/Layout.astro';
|
||||
import { SITE_URL, COMPANY } from '@constants';
|
||||
import PageHero from "@components/base/PageHero.astro";
|
||||
import CTA from "@components/base/CTA.astro";
|
||||
// Import child components with custom data
|
||||
import AboutTabs from '@components/services/AboutTabs.astro';
|
||||
import ArticlesList from '@components/services/ArticlesList.astro';
|
||||
import WorkSteps from '@components/services/WorkSteps.astro';
|
||||
import ServiceIncludes from '@components/services/ServiceIncludes.astro';
|
||||
import AdvantagesList from '@components/services/AdvantagesList.astro';
|
||||
import PricingPlans from '@components/services/PricingPlans.astro';
|
||||
import FaqList from '@components/services/FaqList.astro';
|
||||
|
||||
// Custom data for accident help service
|
||||
const aboutTabsData = {
|
||||
problem: {
|
||||
title: "Первые минуты после ДТП решают всё",
|
||||
description: "В первые минуты после ДТП <strong>водители в стрессе</strong> и часто допускают ошибки: признают вину, неправильно оформляют документы, <strong>не фиксируют доказательства</strong>. Эти ошибки потом <strong>невозможно исправить</strong> в суде.",
|
||||
description2: "Наш юрист <strong>оперативно выезжает на место ДТП</strong>, фиксирует нарушения второй стороны, защищает вас при опросе инспектором и <strong>помогает правильно оформить документы</strong>. Это спасает от лишения прав и несправедливой вины.",
|
||||
items: [
|
||||
"Признание вины под давлением на месте ДТП",
|
||||
"Неправильное оформление документов",
|
||||
"Отсутствие фиксации доказательств"
|
||||
],
|
||||
visualNumber: "80%",
|
||||
visualLabel: "дел решаются на месте ДТП",
|
||||
visualNote: "При юристе на месте — до 90% шансов на справедливый исход",
|
||||
barWidth: 80
|
||||
},
|
||||
approach: {
|
||||
title: "Оперативная защита на месте",
|
||||
description: "Мы обеспечиваем <strong>юридическую защиту с первых минут</strong> после ДТП. Юрист выезжает на место, контролирует правильность оформления, <strong>фиксирует нарушения второй стороны</strong> и защищает ваши права при общении с инспекторами.",
|
||||
description2: "Наш опыт — это <strong>сотни спасённых дел</strong> благодаря присутствию на месте ДТП. Мы знаем, <strong>как правильно зафиксировать</strong> доказательства и защитить вас от несправедливой вины.",
|
||||
items: [
|
||||
{ icon: "🚗", title: "Оперативный выезд", desc: "Приезжаем на место ДТП в течение 30 минут" },
|
||||
{ icon: "📋", title: "Фиксация нарушений", desc: "Записываем все нарушения второй стороны" },
|
||||
{ icon: "📹", title: "Видеофиксация", desc: "Снимаем всё: повреждения, следы, показания" }
|
||||
],
|
||||
steps: ["Звонок юристу", "Выезд на место", "Защита при опросе", "Фиксация нарушений", "Правильное оформление"]
|
||||
},
|
||||
stats: {
|
||||
bigStat: { number: 90, label: "Клиентов защищены на месте", barWidth: 90 },
|
||||
stats: [
|
||||
{ number: 600, label: "Выездов на место ДТП", suffix: "+" },
|
||||
{ number: 10, label: "Лет практики", suffix: "" },
|
||||
{ number: 30, label: "Минут — среднее время выезда", suffix: " мин" },
|
||||
{ number: 100, label: "Возврат при неудаче", suffix: "%" }
|
||||
]
|
||||
},
|
||||
guarantees: {
|
||||
title: "Работаем на результат",
|
||||
description: "Мы обеспечиваем <strong>максимальную защиту</strong> уже на месте ДТП. После выезда юриста честно скажем, <strong>как правильно действовать</strong> и что делать дальше.",
|
||||
description2: "Работаем <strong>без предоплаты</strong> — оплата только после результата. Если защита на месте не помогла — <strong>предложим стратегию</strong> на следующих этапах.",
|
||||
items: [
|
||||
{ title: "Оперативный выезд", desc: "Приезжаем на место в течение 30 минут" },
|
||||
{ title: "Оплата за результат", desc: "Платите только после защиты на месте" },
|
||||
{ title: "Договор", desc: "Фиксируем все условия юридически" },
|
||||
{ title: "Связь 24/7", desc: "На связи круглосуточно для экстренных случаев" }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
const articlesData = [
|
||||
{ icon: "🚗", title: "Столкновение автомобилей", desc: "Защищаем на месте, фиксируем повреждения, помогаем правильно оформить документы.", chance: "Высокий шанс" },
|
||||
{ icon: "🚶", title: "Наезд на пешехода", desc: "Защищаем водителя, фиксируем обстоятельства, контролируем опрос инспектором.", chance: "Высокий шанс" },
|
||||
{ icon: "🏗️", title: "ДТП с препятствием", desc: "Фиксируем повреждения, дорожные условия, помогаем с оформлением.", chance: "Средний шанс" },
|
||||
{ icon: "🔄", title: "ДТП на перекрёстке", desc: "Определяем виновного, фиксируем приоритет, собираем показания свидетелей.", chance: "Высокий шанс" },
|
||||
{ icon: "📹", title: "Отсутствие видеозаписи", desc: "Если нет регистратора — фиксируем всё сами: следы, повреждения, показания.", chance: "Средний шанс" },
|
||||
{ icon: "⚠️", title: "Другие ситуации", desc: "Работаем с любыми ДТП — помогаем правильно оформить и защитить свои права.", chance: "Зависит от дела" }
|
||||
];
|
||||
|
||||
const stepsData = [
|
||||
{ number: "01", title: "Звонок юристу", desc: "Позвоните нам сразу после ДТП. Объясним, что делать до приезда юриста." },
|
||||
{ number: "02", title: "Выезд на место", desc: "Наш специалист приезжает в течение 30 минут на место ДТП." },
|
||||
{ number: "03", title: "Защита при опросе", desc: "Контролируем опрос инспектором, защищаем от несправедливых обвинений." },
|
||||
{ number: "04", title: "Фиксация нарушений", desc: "Фиксируем все нарушения второй стороны: следы, повреждения, показания." },
|
||||
{ number: "05", title: "Правильное оформление", desc: "Помогаем правильно оформить документы, чтобы защитить ваши права." }
|
||||
];
|
||||
|
||||
const includesData = [
|
||||
{ icon: "📞", title: "Экстренная связь 24/7", desc: "На связи круглосуточно для вызова на место ДТП" },
|
||||
{ icon: "🚗", title: "Выезд на место", desc: "Приезжаем в течение 30 минут после звонка" },
|
||||
{ icon: "📋", title: "Защита при опросе", desc: "Контролируем правильность опроса инспектором" },
|
||||
{ icon: "📹", title: "Видеофиксация", desc: "Снимаем все обстоятельства ДТП для доказательств" },
|
||||
{ icon: "📝", title: "Помощь с документами", desc: "Помогаем правильно оформить протокол и схемы" },
|
||||
{ icon: "✅", title: "Результат", desc: "Правильное оформление и защита прав на месте" }
|
||||
];
|
||||
|
||||
const advantagesData = [
|
||||
{ number: "01", title: "Оперативный выезд", desc: "Приезжаем на место ДТП в течение 30 минут. Работаем по всему Сургуту и пригороду." },
|
||||
{ number: "02", title: "90% защищены на месте", desc: "Благодаря присутствию юриста большинство дел заканчиваются справедливо." },
|
||||
{ number: "03", title: "Связь 24/7", desc: "На связи круглосуточно. ДТП не выбирает время — мы тоже." },
|
||||
{ number: "04", title: "Без предоплаты", desc: "Оплата только после защиты на месте. Мы уверены в своей работе." },
|
||||
{ number: "05", title: "Полное сопровождение", desc: "От выезда на место до правильного оформления всех документов." },
|
||||
{ number: "06", title: "Опыт в ДТП", desc: "Сотни выездов на место. Знаем все нюансы и как защитить водителя." }
|
||||
];
|
||||
|
||||
const plansData = [
|
||||
{ badge: "Экстренный", title: "Консультация по телефону", price: "Бесплатно", features: ["Экстренная консультация", "Рекомендации на месте", "Оценка ситуации", "Инструкции по действиям"], btnText: "Позвонить сейчас", btnClass: "" },
|
||||
{ badge: "Стандарт", title: "Выезд на место ДТП", price: "от 8 000 ₽", features: ["Выезд в течение 30 минут", "Защита при опросе", "Фиксация нарушений", "Помощь с документами"], btnText: "Вызвать юриста", btnClass: "gold", popular: true },
|
||||
{ badge: "Премиум", title: "Полное сопровождение", price: "от 15 000 ₽", features: ["Всё из Стандарта", "Дальнейшая защита в суде", "Работа со страховой", "Приоритетная поддержка"], btnText: "Обсудить дело", btnClass: "" }
|
||||
];
|
||||
|
||||
const faqsData = [
|
||||
{ question: "Что делать сразу после ДТП?", answer: "Сразу <strong>позвоните нам</strong>. Не признавайте вину, не подписывайте документы без консультации. Мы выезжаем на место в течение 30 минут." },
|
||||
{ question: "Как быстро вы приедете?", answer: "Наш специалист приезжает в течение <strong>30 минут</strong> после звонка. Работаем по всему Сургуту и пригороду." },
|
||||
{ question: "Можно ли признать вину на месте?", answer: "<strong>Нет</strong>, не признавайте вину до консультации с юристом. Даже извинения могут быть использованы против вас." },
|
||||
{ question: "Нужно ли фотографировать место ДТП?", answer: "<strong>Да</strong>, снимайте всё: повреждения обеих машин, следы торможения, дорожные знаки, светофоры. Но лучше дождитесь юриста." },
|
||||
{ question: "Что если я вызвал ГИБДД без юриста?", answer: "<strong>Позвоните нам</strong> даже после вызова ГИБДД. Мы приедем и защитим вас при опросе и оформлении документов." },
|
||||
{ question: "Сколько стоит выезд на место?", answer: "Выезд на место стоит <strong>от 8 000 ₽</strong>. Это включает защиту при опросе, фиксацию нарушений и помощь с документами." }
|
||||
];
|
||||
---
|
||||
|
||||
<Layout
|
||||
title="Помощь при ДТП — автоюрист в Сургуте"
|
||||
description="Оперативный выезд на место ДТП. Фиксация нарушений, защита при опросе, помощь с документами. 90% клиентов защищены на месте. Экстренная связь 24/7."
|
||||
canonicalLink={`${SITE_URL}/services/accident-help`}
|
||||
breadcrumbs={[
|
||||
{ label: 'Главная', href: '/' },
|
||||
{ label: 'Услуги', href: '/services' },
|
||||
{ label: 'Помощь при ДТП' }
|
||||
]}
|
||||
>
|
||||
<PageHero
|
||||
badgeText="ПОМОЩЬ ПРИ ДТП"
|
||||
titleWhite="Защитим"
|
||||
titleGold="на месте ДТП"
|
||||
description="Оперативный выезд на место ДТП. Фиксация нарушений, защита при опросе, помощь с документами. Экстренная связь 24/7."
|
||||
btnText="Вызвать юриста"
|
||||
layout="with-image"
|
||||
sideImage="/images/services/office-table.avif"
|
||||
sideImageAlt="Юрист на месте ДТП"
|
||||
experienceBadge={{
|
||||
number: "90%",
|
||||
text: "ЗАЩИЩЕНО НА МЕСТЕ"
|
||||
}}
|
||||
bgImage="/images/services/servicesBg.avif"
|
||||
icon="shield"
|
||||
/>
|
||||
|
||||
<div class="service-detail-page">
|
||||
<AboutTabs
|
||||
tabsData={aboutTabsData}
|
||||
sectionLabel="Подробнее об услуге"
|
||||
sectionTitle="Всё о помощи при ДТП"
|
||||
sectionDesc="Полная информация о юридической защите на месте ДТП"
|
||||
/>
|
||||
<ArticlesList
|
||||
articles={articlesData}
|
||||
sectionLabel="Работаем с ситуациями"
|
||||
sectionTitle="Типичные ситуации ДТП"
|
||||
sectionDesc="Защищаем водителей при любых видах ДТП"
|
||||
/>
|
||||
<WorkSteps
|
||||
steps={stepsData}
|
||||
sectionLabel="Этапы работы"
|
||||
sectionTitle="Как мы помогаем при ДТП"
|
||||
sectionDesc="Оперативная защита от звонка до правильного оформления"
|
||||
/>
|
||||
<ServiceIncludes
|
||||
includes={includesData}
|
||||
sectionLabel="Что входит"
|
||||
sectionTitle="Что входит в услугу"
|
||||
sectionDesc="Полный спектр защиты на месте ДТП"
|
||||
/>
|
||||
<AdvantagesList
|
||||
advantages={advantagesData}
|
||||
sectionLabel="Почему мы"
|
||||
sectionTitle="Преимущества работы с нами"
|
||||
sectionDesc="Доверьте защиту на месте ДТП профессионалам"
|
||||
/>
|
||||
<PricingPlans
|
||||
plans={plansData}
|
||||
sectionLabel="Стоимость"
|
||||
sectionTitle="Сколько стоит помощь при ДТП"
|
||||
sectionDesc="Прозрачные цены без скрытых платежей"
|
||||
/>
|
||||
<FaqList
|
||||
faqs={faqsData}
|
||||
sectionLabel="Вопросы"
|
||||
sectionTitle="Частые вопросы"
|
||||
sectionDesc="Ответы на популярные вопросы о помощи при ДТП"
|
||||
/>
|
||||
<CTA
|
||||
icon="consult"
|
||||
title="Защитим вас на месте ДТП"
|
||||
description="Позвоните сразу после ДТП. Оперативный выезд на место и защита ваших прав."
|
||||
btnText="Вызвать юриста"
|
||||
/>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
<style>
|
||||
.service-detail-page {
|
||||
font-family: 'Inter', system-ui, -apple-system, sans-serif;
|
||||
}
|
||||
|
||||
.site-container {
|
||||
max-width: var(--site-max-width, 1400px);
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 5rem 1.5rem;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
text-align: center;
|
||||
margin-bottom: 3.5rem;
|
||||
}
|
||||
|
||||
.section-label {
|
||||
display: inline-block;
|
||||
color: #eac26e;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
margin-bottom: 1rem;
|
||||
padding: 0.5rem 1rem;
|
||||
background: rgba(234, 194, 110, 0.1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.section-label.center {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.section-header h2 {
|
||||
color: #0a2540;
|
||||
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
|
||||
font-weight: 800;
|
||||
margin: 0 0 1rem 0;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.section-desc {
|
||||
color: #64748b;
|
||||
font-size: 1.05rem;
|
||||
max-width: 650px;
|
||||
margin: 0 auto;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
section {
|
||||
padding: 3.5rem 1rem;
|
||||
}
|
||||
.section-header {
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
section {
|
||||
padding: 2.5rem 0.75rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script is:inline>
|
||||
// Анимации при скролле
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const observerOptions = {
|
||||
root: null,
|
||||
rootMargin: '0px 0px -50px 0px',
|
||||
threshold: 0.1
|
||||
};
|
||||
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const el = entry.target;
|
||||
const delay = parseInt(el.dataset.delay || '0');
|
||||
|
||||
setTimeout(() => {
|
||||
el.classList.add('is-visible');
|
||||
}, delay);
|
||||
|
||||
observer.unobserve(el);
|
||||
}
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
document.querySelectorAll('.animate-on-scroll').forEach((el) => {
|
||||
observer.observe(el);
|
||||
});
|
||||
|
||||
// Табы
|
||||
const tabButtons = document.querySelectorAll('.tab-btn');
|
||||
const tabPanels = document.querySelectorAll('.tab-panel');
|
||||
|
||||
tabButtons.forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
const tabId = btn.dataset.tab;
|
||||
|
||||
// Убираем active со всех кнопок
|
||||
tabButtons.forEach(b => {
|
||||
b.classList.remove('active');
|
||||
b.setAttribute('aria-selected', 'false');
|
||||
});
|
||||
|
||||
// Убираем active со всех панелей
|
||||
tabPanels.forEach(panel => {
|
||||
panel.classList.remove('active');
|
||||
});
|
||||
|
||||
// Активируем нужный таб
|
||||
btn.classList.add('active');
|
||||
btn.setAttribute('aria-selected', 'true');
|
||||
|
||||
const targetPanel = document.getElementById(`tab-${tabId}`);
|
||||
if (targetPanel) {
|
||||
targetPanel.classList.add('active');
|
||||
|
||||
// Запускаем анимацию счётчиков если это таб статистики
|
||||
if (tabId === 'stats') {
|
||||
animateCounters(targetPanel);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Анимация счётчиков
|
||||
function animateCounters(panel) {
|
||||
const counters = panel.querySelectorAll('[data-count]');
|
||||
|
||||
counters.forEach(counter => {
|
||||
const target = parseInt(counter.dataset.count || '0');
|
||||
const suffix = counter.textContent?.replace(/[0-9]/g, '') || '';
|
||||
const duration = 1500;
|
||||
const startTime = performance.now();
|
||||
|
||||
const easeOutCubic = (t) => 1 - Math.pow(1 - t, 3);
|
||||
|
||||
const update = (currentTime) => {
|
||||
const elapsed = currentTime - startTime;
|
||||
const progress = Math.min(elapsed / duration, 1);
|
||||
const easedProgress = easeOutCubic(progress);
|
||||
const currentValue = Math.round(easedProgress * target);
|
||||
|
||||
counter.textContent = `${currentValue}${suffix}`;
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(update);
|
||||
}
|
||||
};
|
||||
|
||||
requestAnimationFrame(update);
|
||||
});
|
||||
|
||||
// Анимация полосок статистики
|
||||
const statBars = panel.querySelectorAll('[data-width]');
|
||||
statBars.forEach(bar => {
|
||||
const width = bar.dataset.width;
|
||||
setTimeout(() => {
|
||||
bar.style.width = `${width}%`;
|
||||
}, 200);
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
364
frontend/src/pages/services/appeal.astro
Normal file
364
frontend/src/pages/services/appeal.astro
Normal file
|
|
@ -0,0 +1,364 @@
|
|||
---
|
||||
import Layout from '@layouts/Layout.astro';
|
||||
import { SITE_URL, COMPANY } from '@constants';
|
||||
import PageHero from "@components/base/PageHero.astro";
|
||||
import CTA from "@components/base/CTA.astro";
|
||||
// Import child components with custom data
|
||||
import AboutTabs from '@components/services/AboutTabs.astro';
|
||||
import ArticlesList from '@components/services/ArticlesList.astro';
|
||||
import WorkSteps from '@components/services/WorkSteps.astro';
|
||||
import ServiceIncludes from '@components/services/ServiceIncludes.astro';
|
||||
import AdvantagesList from '@components/services/AdvantagesList.astro';
|
||||
import PricingPlans from '@components/services/PricingPlans.astro';
|
||||
import FaqList from '@components/services/FaqList.astro';
|
||||
|
||||
// Custom data for appeal service
|
||||
const aboutTabsData = {
|
||||
problem: {
|
||||
title: "Судебное решение — ещё не конец",
|
||||
description: "Каждое второе постановление о лишении прав <strong>выносится с нарушениями</strong>. Судьи допускают ошибки в процедуре, неправильно применяют нормы права, <strong>игнорируют доводы защиты</strong>. Это даёт реальный шанс на отмену.",
|
||||
description2: "Апелляционная инстанция <strong>пересматривает дело полностью</strong>. Мы используем эту возможность: находим ошибки суда первой инстанции, представляем новые доказательства, <strong>добиваемся отмены решения</strong>.",
|
||||
items: [
|
||||
"Неправильное применение норм материального права",
|
||||
"Нарушение норм процессуального права судом",
|
||||
"Неполное исследование доказательств"
|
||||
],
|
||||
visualNumber: "50%",
|
||||
visualLabel: "постановлений содержат ошибки суда",
|
||||
visualNote: "При грамотной апелляции — до 65% отмен",
|
||||
barWidth: 50
|
||||
},
|
||||
approach: {
|
||||
title: "Комплексный обжалование решения",
|
||||
description: "Мы не просто подаём жалобу — мы <strong>перестраиваем всю защиту</strong>. Анализируем решение суда, находим каждое нарушение, формируем <strong>мотивированную апелляцию</strong>.",
|
||||
description2: "Наш опыт в апелляционных судах Сургута и ХМАО позволяет <strong>знать практику</strong> и использовать её для защиты ваших интересов. Каждое дело ведёт <strong>опытный апелляционный юрист</strong>.",
|
||||
items: [
|
||||
{ icon: "📋", title: "Анализ решения", desc: "Изучаем каждый пункт постановления суда" },
|
||||
{ icon: "⚖️", title: "Поиск ошибок", desc: "Находим нарушения материального и процессуального права" },
|
||||
{ icon: "📹", title: "Новые доказательства", desc: "Представляем дополнительные материалы в апелляцию" }
|
||||
],
|
||||
steps: ["Анализ решения", "Подготовка жалобы", "Подача в суд", "Апелляционное заседание", "Отмена решения"]
|
||||
},
|
||||
stats: {
|
||||
bigStat: { number: 65, label: "Решений отменено в апелляции", barWidth: 65 },
|
||||
stats: [
|
||||
{ number: 250, label: "Успешных апелляций", suffix: "+" },
|
||||
{ number: 8, label: "Лет апелляционной практики", suffix: "" },
|
||||
{ number: 10, label: "Дней на подачу жалобы", suffix: "" },
|
||||
{ number: 100, label: "Возврат при неудаче", suffix: "%" }
|
||||
]
|
||||
},
|
||||
guarantees: {
|
||||
title: "Работаем на отмену решения",
|
||||
description: "Мы берёмся только за дела с <strong>реальными основаниями для отмены</strong>. После анализа решения суда честно скажем о <strong>перспективах апелляции</strong>.",
|
||||
description2: "Если суд первой инстанции допустил нарушения — мы <strong>добьёмся отмены</strong>. Если нет — предложим другие варианты защиты. <strong>Оплата только при результате</strong>.",
|
||||
items: [
|
||||
{ title: "Бесплатный анализ", desc: "Анализируем решение суда и оцениваем шансы" },
|
||||
{ title: "Оплата за результат", desc: "Платите только после отмены постановления" },
|
||||
{ title: "Договор", desc: "Фиксируем все условия юридически" },
|
||||
{ title: "Возврат средств", desc: "Если апелляция проиграна — вернём деньги" }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
const articlesData = [
|
||||
{ icon: "📜", title: "Ошибки в мотивировке решения", desc: "Суд не обосновал выводы, проигнорировал доводы защиты.", chance: "Высокий шанс" },
|
||||
{ icon: "⚖️", title: "Неправильное применение закона", desc: "Судья неверно истолковал нормы КоАП или Пленума ВС.", chance: "Высокий шанс" },
|
||||
{ icon: "📹", title: "Игнорирование доказательств", desc: "Суд не исследовал видеозаписи, показания свидетелей.", chance: "Средний шанс" },
|
||||
{ icon: "📋", title: "Процессуальные нарушения", desc: "Нарушение порядка извещения, непредоставление копии постановления.", chance: "Высокий шанс" },
|
||||
{ icon: "🔍", title: "Неполное исследование", desc: "Суд не запросил важные материалы, не назначил экспертизу.", chance: "Средний шанс" },
|
||||
{ icon: "⚠️", title: "Другие основания", desc: "Работаем с любыми основаниями для отмены — анализируем каждое дело.", chance: "Зависит от дела" }
|
||||
];
|
||||
|
||||
const stepsData = [
|
||||
{ number: "01", title: "Получение постановления", desc: "Пришлите копию решения суда. Мы начнём анализ в тот же день." },
|
||||
{ number: "02", title: "Анализ решения", desc: "Изучаем каждый пункт, ищем ошибки суда, оцениваем перспективы." },
|
||||
{ number: "03", title: "Подготовка апелляционной жалобы", desc: "Составляем мотивированную жалобу с ссылками на законы и практику." },
|
||||
{ number: "04", title: "Представительство в апелляции", desc: "Ведём дело в апелляционном суде, доказываем незаконность решения." },
|
||||
{ number: "05", title: "Отмена постановления", desc: "После отмены решения помогаем с возвратом прав и процедурой." }
|
||||
];
|
||||
|
||||
const includesData = [
|
||||
{ icon: "📄", title: "Анализ постановления", desc: "Изучаем решение суда на наличие ошибок" },
|
||||
{ icon: "🔍", title: "Поиск оснований", desc: "Находим нарушения материального и процессуального права" },
|
||||
{ icon: "📝", title: "Апелляционная жалоба", desc: "Готовим мотивированную жалобу с правовой позицией" },
|
||||
{ icon: "👨⚖️", title: "Защита в апелляции", desc: "Представляем ваши интересы в апелляционном суде" },
|
||||
{ icon: "📹", title: "Новые доказательства", desc: "Представляем дополнительные материалы суду" },
|
||||
{ icon: "✅", title: "Результат", desc: "Отмена постановления или возврат денег" }
|
||||
];
|
||||
|
||||
const advantagesData = [
|
||||
{ number: "01", title: "Специализация на апелляциях", desc: "Мы фокусируемся на обжаловании судебных решений. Это наша главная экспертиза." },
|
||||
{ number: "02", title: "65% отменённых решений", desc: "Высокая статистика благодаря тщательному отбору дел и глубокому анализу." },
|
||||
{ number: "03", title: "Знание практики судов", desc: "Знаем практику апелляционных судов ХМАО и используем это для защиты." },
|
||||
{ number: "04", title: "Без предоплаты", desc: "Оплата только после отмены постановления. Мы уверены в своей работе." },
|
||||
{ number: "05", title: "Полное ведение дела", desc: "Вам не нужно ходить по судам. Мы делаем всё от жалобы до отмены." },
|
||||
{ number: "06", title: "Работа на результат", desc: "Если не отменим решение — вернём деньги. Это в договоре." }
|
||||
];
|
||||
|
||||
const plansData = [
|
||||
{ badge: "Экспресс", title: "Анализ решения", price: "Бесплатно", features: ["Анализ постановления", "Оценка перспектив", "Рекомендации", "Срочная консультация"], btnText: "Прислать решение", btnClass: "" },
|
||||
{ badge: "Стандарт", title: "Апелляция под ключ", price: "от 30 000 ₽", features: ["Всё из Экспресс", "Подготовка жалобы", "Сбор доказательств", "Представительство в суде"], btnText: "Начать обжалование", btnClass: "gold", popular: true },
|
||||
{ badge: "Премиум", title: "Сложные дела", price: "от 45 000 ₽", features: ["Всё из Стандарта", "Видеоэкспертиза", "Кассация", "Приоритетная работа"], btnText: "Обсудить дело", btnClass: "" }
|
||||
];
|
||||
|
||||
const faqsData = [
|
||||
{ question: "Сколько времени есть на подачу апелляции?", answer: "На обжалование постановления даётся <strong>10 дней</strong> с момента получения копии. Мы подаём жалобу в срок, даже если решение получено поздно." },
|
||||
{ question: "Можно ли обжаловать если срок прошёл?", answer: "Да, можно <strong>ходатайствовать о восстановлении срока</strong> при уважительных причинах. Мы подготовим все документы для этого." },
|
||||
{ question: "Каковы шансы на отмену решения?", answer: "Статистика показывает, что <strong>до 65% дел</strong> с нарушениями могут быть отменены. Мы честно оценим шансы после анализа." },
|
||||
{ question: "Нужно ли присутствовать на заседании?", answer: "<strong>Нет</strong>, мы работаем по доверенности. Ваше присутствие в апелляционном суде не требуется." },
|
||||
{ question: "Что если апелляция проиграна?", answer: "Есть возможность подачи <strong>кассационной жалобы</strong> в вышестоящий суд. Мы продолжаем борьбу до полного прекращения дела." },
|
||||
{ question: "С чего начать обжалование?", answer: "<strong>Пришлите копию постановления</strong> суда. Мы проведём бесплатный анализ и скажем о шансах в тот же день." }
|
||||
];
|
||||
---
|
||||
|
||||
<Layout
|
||||
title="Обжалование судебного решения — автоюрист в Сургуте"
|
||||
description="Профессиональное обжалование постановления о лишении прав. Апелляция, анализ решения суда, 65% отменённых постановлений. Бесплатный анализ решения."
|
||||
canonicalLink={`${SITE_URL}/services/appeal`}
|
||||
breadcrumbs={[
|
||||
{ label: 'Главная', href: '/' },
|
||||
{ label: 'Услуги', href: '/services' },
|
||||
{ label: 'Обжалование судебного решения' }
|
||||
]}
|
||||
>
|
||||
<PageHero
|
||||
badgeText="ОБЖАЛОВАНИЕ РЕШЕНИЯ"
|
||||
titleWhite="Отменим"
|
||||
titleGold="судебное постановление"
|
||||
description="Обжалуем вынесенные судебные постановления в апелляции. Анализ решения, поиск ошибок, отмена постановления. Бесплатный анализ и оценка перспектив."
|
||||
btnText="Бесплатный анализ решения"
|
||||
layout="with-image"
|
||||
sideImage="/images/services/office-table.avif"
|
||||
sideImageAlt="Юрист по обжалованию судебных решений"
|
||||
experienceBadge={{
|
||||
number: "65%",
|
||||
text: "РЕШЕНИЙ ОТМЕНЕНО"
|
||||
}}
|
||||
bgImage="/images/services/servicesBg.avif"
|
||||
icon="shield"
|
||||
/>
|
||||
|
||||
<div class="service-detail-page">
|
||||
<AboutTabs
|
||||
tabsData={aboutTabsData}
|
||||
sectionLabel="Подробнее об услуге"
|
||||
sectionTitle="Всё об обжаловании судебного решения"
|
||||
sectionDesc="Полная информация об апелляции и отмене постановлений о лишении прав"
|
||||
/>
|
||||
<ArticlesList
|
||||
articles={articlesData}
|
||||
sectionLabel="Работаем с основаниями"
|
||||
sectionTitle="Основания для отмены решения"
|
||||
sectionDesc="Находим любые основания для отмены судебного постановления"
|
||||
/>
|
||||
<WorkSteps
|
||||
steps={stepsData}
|
||||
sectionLabel="Этапы работы"
|
||||
sectionTitle="Как мы обжалуем решение"
|
||||
sectionDesc="Прозрачный процесс от анализа постановления до отмены решения"
|
||||
/>
|
||||
<ServiceIncludes
|
||||
includes={includesData}
|
||||
sectionLabel="Что входит"
|
||||
sectionTitle="Что входит в услугу"
|
||||
sectionDesc="Полный спектр работ по обжалованию судебного постановления"
|
||||
/>
|
||||
<AdvantagesList
|
||||
advantages={advantagesData}
|
||||
sectionLabel="Почему мы"
|
||||
sectionTitle="Преимущества работы с нами"
|
||||
sectionDesc="Доверьте обжалование профессионалам с опытом в апелляциях"
|
||||
/>
|
||||
<PricingPlans
|
||||
plans={plansData}
|
||||
sectionLabel="Стоимость"
|
||||
sectionTitle="Сколько стоит обжалование"
|
||||
sectionDesc="Прозрачные цены без скрытых платежей"
|
||||
/>
|
||||
<FaqList
|
||||
faqs={faqsData}
|
||||
sectionLabel="Вопросы"
|
||||
sectionTitle="Частые вопросы"
|
||||
sectionDesc="Ответы на популярные вопросы об обжаловании судебных решений"
|
||||
/>
|
||||
<CTA
|
||||
icon="consult"
|
||||
title="Отменим судебное постановление"
|
||||
description="Пришлите копию постановления. Бесплатный анализ решения и оценка перспектив дела."
|
||||
btnText="Бесплатный анализ решения"
|
||||
/>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
<style>
|
||||
.service-detail-page {
|
||||
font-family: 'Inter', system-ui, -apple-system, sans-serif;
|
||||
}
|
||||
|
||||
.site-container {
|
||||
max-width: var(--site-max-width, 1400px);
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 5rem 1.5rem;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
text-align: center;
|
||||
margin-bottom: 3.5rem;
|
||||
}
|
||||
|
||||
.section-label {
|
||||
display: inline-block;
|
||||
color: #eac26e;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
margin-bottom: 1rem;
|
||||
padding: 0.5rem 1rem;
|
||||
background: rgba(234, 194, 110, 0.1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.section-label.center {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.section-header h2 {
|
||||
color: #0a2540;
|
||||
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
|
||||
font-weight: 800;
|
||||
margin: 0 0 1rem 0;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.section-desc {
|
||||
color: #64748b;
|
||||
font-size: 1.05rem;
|
||||
max-width: 650px;
|
||||
margin: 0 auto;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
section {
|
||||
padding: 3.5rem 1rem;
|
||||
}
|
||||
.section-header {
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
section {
|
||||
padding: 2.5rem 0.75rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script is:inline>
|
||||
// Анимации при скролле
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const observerOptions = {
|
||||
root: null,
|
||||
rootMargin: '0px 0px -50px 0px',
|
||||
threshold: 0.1
|
||||
};
|
||||
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const el = entry.target;
|
||||
const delay = parseInt(el.dataset.delay || '0');
|
||||
|
||||
setTimeout(() => {
|
||||
el.classList.add('is-visible');
|
||||
}, delay);
|
||||
|
||||
observer.unobserve(el);
|
||||
}
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
document.querySelectorAll('.animate-on-scroll').forEach((el) => {
|
||||
observer.observe(el);
|
||||
});
|
||||
|
||||
// Табы
|
||||
const tabButtons = document.querySelectorAll('.tab-btn');
|
||||
const tabPanels = document.querySelectorAll('.tab-panel');
|
||||
|
||||
tabButtons.forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
const tabId = btn.dataset.tab;
|
||||
|
||||
// Убираем active со всех кнопок
|
||||
tabButtons.forEach(b => {
|
||||
b.classList.remove('active');
|
||||
b.setAttribute('aria-selected', 'false');
|
||||
});
|
||||
|
||||
// Убираем active со всех панелей
|
||||
tabPanels.forEach(panel => {
|
||||
panel.classList.remove('active');
|
||||
});
|
||||
|
||||
// Активируем нужный таб
|
||||
btn.classList.add('active');
|
||||
btn.setAttribute('aria-selected', 'true');
|
||||
|
||||
const targetPanel = document.getElementById(`tab-${tabId}`);
|
||||
if (targetPanel) {
|
||||
targetPanel.classList.add('active');
|
||||
|
||||
// Запускаем анимацию счётчиков если это таб статистики
|
||||
if (tabId === 'stats') {
|
||||
animateCounters(targetPanel);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Анимация счётчиков
|
||||
function animateCounters(panel) {
|
||||
const counters = panel.querySelectorAll('[data-count]');
|
||||
|
||||
counters.forEach(counter => {
|
||||
const target = parseInt(counter.dataset.count || '0');
|
||||
const suffix = counter.textContent?.replace(/[0-9]/g, '') || '';
|
||||
const duration = 1500;
|
||||
const startTime = performance.now();
|
||||
|
||||
const easeOutCubic = (t) => 1 - Math.pow(1 - t, 3);
|
||||
|
||||
const update = (currentTime) => {
|
||||
const elapsed = currentTime - startTime;
|
||||
const progress = Math.min(elapsed / duration, 1);
|
||||
const easedProgress = easeOutCubic(progress);
|
||||
const currentValue = Math.round(easedProgress * target);
|
||||
|
||||
counter.textContent = `${currentValue}${suffix}`;
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(update);
|
||||
}
|
||||
};
|
||||
|
||||
requestAnimationFrame(update);
|
||||
});
|
||||
|
||||
// Анимация полосок статистики
|
||||
const statBars = panel.querySelectorAll('[data-width]');
|
||||
statBars.forEach(bar => {
|
||||
const width = bar.dataset.width;
|
||||
setTimeout(() => {
|
||||
bar.style.width = `${width}%`;
|
||||
}, 200);
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
364
frontend/src/pages/services/blame-appeal.astro
Normal file
364
frontend/src/pages/services/blame-appeal.astro
Normal file
|
|
@ -0,0 +1,364 @@
|
|||
---
|
||||
import Layout from '@layouts/Layout.astro';
|
||||
import { SITE_URL, COMPANY } from '@constants';
|
||||
import PageHero from "@components/base/PageHero.astro";
|
||||
import CTA from "@components/base/CTA.astro";
|
||||
// Import child components with custom data
|
||||
import AboutTabs from '@components/services/AboutTabs.astro';
|
||||
import ArticlesList from '@components/services/ArticlesList.astro';
|
||||
import WorkSteps from '@components/services/WorkSteps.astro';
|
||||
import ServiceIncludes from '@components/services/ServiceIncludes.astro';
|
||||
import AdvantagesList from '@components/services/AdvantagesList.astro';
|
||||
import PricingPlans from '@components/services/PricingPlans.astro';
|
||||
import FaqList from '@components/services/FaqList.astro';
|
||||
|
||||
// Custom data for blame appeal service
|
||||
const aboutTabsData = {
|
||||
problem: {
|
||||
title: "Вина в ДТП — не всегда очевидна",
|
||||
description: "Часто <strong>виновником назначают не того</strong>, кто реально нарушил. Инспекторы ГИБДД не всегда разбираются в обстоятельствах, <strong>игнорируют показания свидетелей</strong> и видеозаписи. Это приводит к <strong>несправедливому определению вины</strong>.",
|
||||
description2: "Даже если вас признали виновным, <strong>это можно оспорить</strong>. Мы анализируем все материалы ДТП, находим доказательства невиновности и <strong>добиваемся пересмотра вины</strong>.",
|
||||
items: [
|
||||
"Неправильное определение виновника инспектором",
|
||||
"Игнорирование видеозаписей и показаний",
|
||||
"Неполное исследование обстоятельств ДТП"
|
||||
],
|
||||
visualNumber: "60%",
|
||||
visualLabel: "определений вины можно оспорить",
|
||||
visualNote: "При наличии доказательств — до 75% успешных дел",
|
||||
barWidth: 60
|
||||
},
|
||||
approach: {
|
||||
title: "Доказываем вашу невиновность",
|
||||
description: "Мы проводим <strong>комплексный анализ обстоятельств ДТП</strong>: изучаем видеозаписи, опрашиваем свидетелей, заказываем <strong>автотехническую экспертизу</strong>. Строим линию защиты, которая <strong>доказывает вашу невиновность</strong> или снижает степень ответственности.",
|
||||
description2: "Наш опыт — это <strong>сотни успешно оспоренных определений</strong> вины. Мы знаем, <strong>как правильно собрать доказательства</strong> и представить их в ГИБДД и суде.",
|
||||
items: [
|
||||
{ icon: "📋", title: "Анализ видеозаписей", desc: "Изучаем записи с регистраторов и камер для доказательств" },
|
||||
{ icon: "⚖️", title: "Допрос свидетелей", desc: "Находим и опрашиваем свидетелей для подтверждения позиции" },
|
||||
{ icon: "📹", title: "Автотехническая экспертиза", desc: "Заказываем экспертизу для установления реальных обстоятельств" }
|
||||
],
|
||||
steps: ["Анализ обстоятельств", "Сбор доказательств", "Экспертиза", "Обжалование", "Отмена вины"]
|
||||
},
|
||||
stats: {
|
||||
bigStat: { number: 75, label: "Определений вины отменено", barWidth: 75 },
|
||||
stats: [
|
||||
{ number: 350, label: "Клиентов оправдано", suffix: "+" },
|
||||
{ number: 10, label: "Лет практики", suffix: "" },
|
||||
{ number: 5, label: "Дней на обжалование", suffix: "" },
|
||||
{ number: 100, label: "Возврат при неудаче", suffix: "%" }
|
||||
]
|
||||
},
|
||||
guarantees: {
|
||||
title: "Работаем на результат",
|
||||
description: "Мы берёмся только за дела с <strong>реальными доказательствами невиновности</strong>. После анализа обстоятельств честно скажем, <strong>есть ли шансы</strong> на отмену вины.",
|
||||
description2: "Работаем <strong>без предоплаты</strong> — оплата только после отмены определения вины. Если не выиграем — <strong>вернём деньги</strong>.",
|
||||
items: [
|
||||
{ title: "Бесплатный анализ", desc: "Анализируем обстоятельства и доказательства на консультации" },
|
||||
{ title: "Оплата за результат", desc: "Платите только после отмены определения вины" },
|
||||
{ title: "Договор", desc: "Фиксируем все условия юридически" },
|
||||
{ title: "Возврат средств", desc: "Если дело проиграно — деньги ваши" }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
const articlesData = [
|
||||
{ icon: "📹", title: "Видеозапись в вашу пользу", desc: "На регистраторе видно, что виноват другой водитель. Используем как доказательство.", chance: "Высокий шанс" },
|
||||
{ icon: "👥", title: "Показания свидетелей", desc: "Свидетели подтверждают вашу версию ДТП. Собираем и оформляем показания.", chance: "Высокий шанс" },
|
||||
{ icon: "🔍", title: "Экспертиза обстоятельств", desc: "Автотехническая экспертиза доказывает, что вы не могли быть виновником.", chance: "Средний шанс" },
|
||||
{ icon: "📋", title: "Ошибки инспектора", desc: "Инспектор неправильно определил виновника. Находим нарушения в определении.", chance: "Высокий шанс" },
|
||||
{ icon: "⚖️", title: "Встречная вина", desc: "Доказываем, что второй водитель нарушил больше и он настоящий виновник.", chance: "Средний шанс" },
|
||||
{ icon: "⚠️", title: "Другие ситуации", desc: "Работаем с любыми случаями несправедливого определения вины — анализируем.", chance: "Зависит от дела" }
|
||||
];
|
||||
|
||||
const stepsData = [
|
||||
{ number: "01", title: "Анализ обстоятельств", desc: "Изучаем все материалы ДТП: протокол, схему, видеозаписи, показания." },
|
||||
{ number: "02", title: "Сбор доказательств", desc: "Находим свидетелей, запрашиваем записи с камер, собираем все доказательства." },
|
||||
{ number: "03", title: "Автотехническая экспертиза", desc: "Заказываем экспертизу для установления реальных обстоятельств и скорости." },
|
||||
{ number: "04", title: "Обжалование определения", desc: "Подаём жалобу на определение вины в вышестоящий орган или суд." },
|
||||
{ number: "05", title: "Отмена вины", desc: "После отмены определения помогаем с пересмотром дела и возвратом прав." }
|
||||
];
|
||||
|
||||
const includesData = [
|
||||
{ icon: "📄", title: "Анализ материалов ДТП", desc: "Изучаем протокол, схему, рапорты инспектора" },
|
||||
{ icon: "🔍", title: "Сбор доказательств", desc: "Находим свидетелей, запрашиваем видеозаписи" },
|
||||
{ icon: "📹", title: "Видеоанализ", desc: "Анализируем записи с регистраторов и камер" },
|
||||
{ icon: "👨⚖️", title: "Обжалование определения", desc: "Подаём жалобу на определение вины" },
|
||||
{ icon: "📝", title: "Автотехническая экспертиза", desc: "Заказываем экспертизу для доказательств" },
|
||||
{ icon: "✅", title: "Результат", desc: "Отмена определения вины или возврат денег" }
|
||||
];
|
||||
|
||||
const advantagesData = [
|
||||
{ number: "01", title: "Специализация на вине в ДТП", desc: "Мы фокусируемся на оспаривании вины. Знаем все нюансы доказывания невиновности." },
|
||||
{ number: "02", title: "75% отменённых определений", desc: "Высокая статистика благодаря комплексному сбору доказательств." },
|
||||
{ number: "03", title: "Быстрое реагирование", desc: "5 дней на обжалование — работаем оперативно, чтобы не упустить срок." },
|
||||
{ number: "04", title: "Без предоплаты", desc: "Оплата только после отмены определения вины. Мы уверены в результате." },
|
||||
{ number: "05", title: "Полное сопровождение", desc: "Вам не нужно ходить по инстанциям. Мы собираем все доказательства сами." },
|
||||
{ number: "06", title: "Связь 24/7", desc: "Всегда на связи. Информируем о каждом шаге и отвечаем на вопросы." }
|
||||
];
|
||||
|
||||
const plansData = [
|
||||
{ badge: "Экспресс", title: "Анализ обстоятельств", price: "Бесплатно", features: ["Анализ материалов", "Оценка перспектив", "Рекомендации", "Срочная консультация"], btnText: "Получить анализ", btnClass: "" },
|
||||
{ badge: "Стандарт", title: "Оспаривание под ключ", price: "от 25 000 ₽", features: ["Всё из Экспресс", "Сбор доказательств", "Автотехническая экспертиза", "Обжалование определения"], btnText: "Начать оспаривание", btnClass: "gold", popular: true },
|
||||
{ badge: "Премиум", title: "Сложные дела", price: "от 35 000 ₽", features: ["Всё из Стандарта", "Дополнительные экспертизы", "Судебное представительство", "Приоритетная работа"], btnText: "Обсудить дело", btnClass: "" }
|
||||
];
|
||||
|
||||
const faqsData = [
|
||||
{ question: "Можно ли оспорить определение вины?", answer: "<strong>Да</strong>, если есть доказательства вашей невиновности или нарушения в определении виновника. Мы проанализируем ситуацию и скажем о шансах." },
|
||||
{ question: "Сколько времени есть на обжалование?", answer: "На обжалование определения вины даётся <strong>5 дней</strong> с момента получения копии. Мы подаём жалобу в срок." },
|
||||
{ question: "Каковы шансы на отмену вины?", answer: "Около <strong>60% определений</strong> можно оспорить при наличии доказательств. Мы честно оценим шансы после анализа." },
|
||||
{ question: "Нужно ли моё присутствие при обжаловании?", answer: "<strong>Нет</strong>, мы работаем по доверенности. Ваше присутствие не требуется — мы ведём дело полностью самостоятельно." },
|
||||
{ question: "Что делать, если я согласился с виной на месте?", answer: "Даже если вы <strong>согласились с виной на месте</strong>, это можно оспорить при наличии объективных доказательств невиновности." },
|
||||
{ question: "С чего начать оспаривание?", answer: "<strong>Пришлите материалы ДТП</strong>: протокол, схему, видеозаписи. Мы проведём бесплатный анализ и скажем о перспективах." }
|
||||
];
|
||||
---
|
||||
|
||||
<Layout
|
||||
title="Оспаривание вины в ДТП — автоюрист в Сургуте"
|
||||
description="Доказываем невиновность или снижаем степень ответственности в ДТП. Анализ видеозаписей, допрос свидетелей, экспертиза. 75% успешных дел."
|
||||
canonicalLink={`${SITE_URL}/services/blame-appeal`}
|
||||
breadcrumbs={[
|
||||
{ label: 'Главная', href: '/' },
|
||||
{ label: 'Услуги', href: '/services' },
|
||||
{ label: 'Оспаривание вины в ДТП' }
|
||||
]}
|
||||
>
|
||||
<PageHero
|
||||
badgeText="ОСПАРИВАНИЕ ВИНЫ"
|
||||
titleWhite="Докажем"
|
||||
titleGold="вашу невиновность"
|
||||
description="Доказываем невиновность или снижаем степень ответственности в ДТП. Анализ видеозаписей, допрос свидетелей, автотехническая экспертиза."
|
||||
btnText="Бесплатный анализ"
|
||||
layout="with-image"
|
||||
sideImage="/images/services/office-table.avif"
|
||||
sideImageAlt="Юрист по оспариванию вины в ДТП"
|
||||
experienceBadge={{
|
||||
number: "75%",
|
||||
text: "УСПЕШНЫХ ОСПАРИВАНИЙ"
|
||||
}}
|
||||
bgImage="/images/services/servicesBg.avif"
|
||||
icon="shield"
|
||||
/>
|
||||
|
||||
<div class="service-detail-page">
|
||||
<AboutTabs
|
||||
tabsData={aboutTabsData}
|
||||
sectionLabel="Подробнее об услуге"
|
||||
sectionTitle="Всё об оспаривании вины в ДТП"
|
||||
sectionDesc="Полная информация о доказательстве невиновности и отмене определения вины"
|
||||
/>
|
||||
<ArticlesList
|
||||
articles={articlesData}
|
||||
sectionLabel="Работаем с доказательствами"
|
||||
sectionTitle="Основания для отмены вины"
|
||||
sectionDesc="Используем все законные основания для отмены определения вины"
|
||||
/>
|
||||
<WorkSteps
|
||||
steps={stepsData}
|
||||
sectionLabel="Этапы работы"
|
||||
sectionTitle="Как мы оспариваем вину"
|
||||
sectionDesc="Прозрачный процесс от анализа до отмены определения вины"
|
||||
/>
|
||||
<ServiceIncludes
|
||||
includes={includesData}
|
||||
sectionLabel="Что входит"
|
||||
sectionTitle="Что входит в услугу"
|
||||
sectionDesc="Полный спектр работ по оспариванию вины в ДТП"
|
||||
/>
|
||||
<AdvantagesList
|
||||
advantages={advantagesData}
|
||||
sectionLabel="Почему мы"
|
||||
sectionTitle="Преимущества работы с нами"
|
||||
sectionDesc="Доверьте оспаривание вины профессионалам с опытом"
|
||||
/>
|
||||
<PricingPlans
|
||||
plans={plansData}
|
||||
sectionLabel="Стоимость"
|
||||
sectionTitle="Сколько стоит оспаривание"
|
||||
sectionDesc="Прозрачные цены без скрытых платежей"
|
||||
/>
|
||||
<FaqList
|
||||
faqs={faqsData}
|
||||
sectionLabel="Вопросы"
|
||||
sectionTitle="Частые вопросы"
|
||||
sectionDesc="Ответы на популярные вопросы об оспаривании вины"
|
||||
/>
|
||||
<CTA
|
||||
icon="consult"
|
||||
title="Докажем вашу невиновность"
|
||||
description="Пришлите материалы ДТП. Бесплатный анализ обстоятельств и оценка перспектив дела."
|
||||
btnText="Бесплатный анализ"
|
||||
/>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
<style>
|
||||
.service-detail-page {
|
||||
font-family: 'Inter', system-ui, -apple-system, sans-serif;
|
||||
}
|
||||
|
||||
.site-container {
|
||||
max-width: var(--site-max-width, 1400px);
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 5rem 1.5rem;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
text-align: center;
|
||||
margin-bottom: 3.5rem;
|
||||
}
|
||||
|
||||
.section-label {
|
||||
display: inline-block;
|
||||
color: #eac26e;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
margin-bottom: 1rem;
|
||||
padding: 0.5rem 1rem;
|
||||
background: rgba(234, 194, 110, 0.1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.section-label.center {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.section-header h2 {
|
||||
color: #0a2540;
|
||||
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
|
||||
font-weight: 800;
|
||||
margin: 0 0 1rem 0;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.section-desc {
|
||||
color: #64748b;
|
||||
font-size: 1.05rem;
|
||||
max-width: 650px;
|
||||
margin: 0 auto;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
section {
|
||||
padding: 3.5rem 1rem;
|
||||
}
|
||||
.section-header {
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
section {
|
||||
padding: 2.5rem 0.75rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script is:inline>
|
||||
// Анимации при скролле
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const observerOptions = {
|
||||
root: null,
|
||||
rootMargin: '0px 0px -50px 0px',
|
||||
threshold: 0.1
|
||||
};
|
||||
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const el = entry.target;
|
||||
const delay = parseInt(el.dataset.delay || '0');
|
||||
|
||||
setTimeout(() => {
|
||||
el.classList.add('is-visible');
|
||||
}, delay);
|
||||
|
||||
observer.unobserve(el);
|
||||
}
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
document.querySelectorAll('.animate-on-scroll').forEach((el) => {
|
||||
observer.observe(el);
|
||||
});
|
||||
|
||||
// Табы
|
||||
const tabButtons = document.querySelectorAll('.tab-btn');
|
||||
const tabPanels = document.querySelectorAll('.tab-panel');
|
||||
|
||||
tabButtons.forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
const tabId = btn.dataset.tab;
|
||||
|
||||
// Убираем active со всех кнопок
|
||||
tabButtons.forEach(b => {
|
||||
b.classList.remove('active');
|
||||
b.setAttribute('aria-selected', 'false');
|
||||
});
|
||||
|
||||
// Убираем active со всех панелей
|
||||
tabPanels.forEach(panel => {
|
||||
panel.classList.remove('active');
|
||||
});
|
||||
|
||||
// Активируем нужный таб
|
||||
btn.classList.add('active');
|
||||
btn.setAttribute('aria-selected', 'true');
|
||||
|
||||
const targetPanel = document.getElementById(`tab-${tabId}`);
|
||||
if (targetPanel) {
|
||||
targetPanel.classList.add('active');
|
||||
|
||||
// Запускаем анимацию счётчиков если это таб статистики
|
||||
if (tabId === 'stats') {
|
||||
animateCounters(targetPanel);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Анимация счётчиков
|
||||
function animateCounters(panel) {
|
||||
const counters = panel.querySelectorAll('[data-count]');
|
||||
|
||||
counters.forEach(counter => {
|
||||
const target = parseInt(counter.dataset.count || '0');
|
||||
const suffix = counter.textContent?.replace(/[0-9]/g, '') || '';
|
||||
const duration = 1500;
|
||||
const startTime = performance.now();
|
||||
|
||||
const easeOutCubic = (t) => 1 - Math.pow(1 - t, 3);
|
||||
|
||||
const update = (currentTime) => {
|
||||
const elapsed = currentTime - startTime;
|
||||
const progress = Math.min(elapsed / duration, 1);
|
||||
const easedProgress = easeOutCubic(progress);
|
||||
const currentValue = Math.round(easedProgress * target);
|
||||
|
||||
counter.textContent = `${currentValue}${suffix}`;
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(update);
|
||||
}
|
||||
};
|
||||
|
||||
requestAnimationFrame(update);
|
||||
});
|
||||
|
||||
// Анимация полосок статистики
|
||||
const statBars = panel.querySelectorAll('[data-width]');
|
||||
statBars.forEach(bar => {
|
||||
const width = bar.dataset.width;
|
||||
setTimeout(() => {
|
||||
bar.style.width = `${width}%`;
|
||||
}, 200);
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
364
frontend/src/pages/services/casco.astro
Normal file
364
frontend/src/pages/services/casco.astro
Normal file
|
|
@ -0,0 +1,364 @@
|
|||
---
|
||||
import Layout from '@layouts/Layout.astro';
|
||||
import { SITE_URL, COMPANY } from '@constants';
|
||||
import PageHero from "@components/base/PageHero.astro";
|
||||
import CTA from "@components/base/CTA.astro";
|
||||
// Import child components with custom data
|
||||
import AboutTabs from '@components/services/AboutTabs.astro';
|
||||
import ArticlesList from '@components/services/ArticlesList.astro';
|
||||
import WorkSteps from '@components/services/WorkSteps.astro';
|
||||
import ServiceIncludes from '@components/services/ServiceIncludes.astro';
|
||||
import AdvantagesList from '@components/services/AdvantagesList.astro';
|
||||
import PricingPlans from '@components/services/PricingPlans.astro';
|
||||
import FaqList from '@components/services/FaqList.astro';
|
||||
|
||||
// Custom data for CASCO disputes service
|
||||
const aboutTabsData = {
|
||||
problem: {
|
||||
title: "КАСКО — не гарантия выплаты",
|
||||
description: "Многие водители считают, что <strong>полис КАСКО — это полная защита</strong>. Но страховые компании используют <strong>десятки оснований для отказа</strong>: нарушение сроков обращения, неправильные действия при ДТП, <strong>исключения из правил</strong>.",
|
||||
description2: "По статистике, <strong>до 50% отказов по КАСКО</strong> незаконны или могут быть оспорены. Мы анализируем договор, находим <strong>незаконные пункты отказа</strong> и добиваемся полной выплаты по полису.",
|
||||
items: [
|
||||
"Необоснованный отказ в страховом случае",
|
||||
"Занижение суммы страхового возмещения",
|
||||
"Ссылка на исключения из договора"
|
||||
],
|
||||
visualNumber: "50%",
|
||||
visualLabel: "отказов по КАСКО можно оспорить",
|
||||
visualNote: "При грамотном подходе — до 80% успешных дел",
|
||||
barWidth: 50
|
||||
},
|
||||
approach: {
|
||||
title: "Комплексная защита по КАСКО",
|
||||
description: "Мы проводим <strong>полный анализ договора КАСКО</strong>, правил страхования и обстоятельств отказа. Находим <strong>незаконные пункты</strong>, несоответствия с законодательством и <strong>строим линию защиты</strong> для получения выплаты.",
|
||||
description2: "Наш опыт — это <strong>сотни выигранных дел</strong> против крупных страховых. Мы знаем их методы отказов и используем <strong>законные механизмы</strong> для получения полной выплаты.",
|
||||
items: [
|
||||
{ icon: "📋", title: "Анализ договора", desc: "Изучаем все условия, правила, исключения из КАСКО" },
|
||||
{ icon: "⚖️", title: "Оспаривание отказа", desc: "Находим незаконные основания и оспариваем" },
|
||||
{ icon: "📹", title: "Независимая экспертиза", desc: "Оцениваем реальный ущерб для полной выплаты" }
|
||||
],
|
||||
steps: ["Анализ договора", "Экспертиза", "Претензия", "Суд", "Полная выплата"]
|
||||
},
|
||||
stats: {
|
||||
bigStat: { number: 80, label: "Отказов оспорено успешно", barWidth: 80 },
|
||||
stats: [
|
||||
{ number: 300, label: "Клиентов получили выплату", suffix: "+" },
|
||||
{ number: 10, label: "Лет практики по КАСКО", suffix: "" },
|
||||
{ number: 50, label: "Средняя сумма доплаты", suffix: " тыс ₽" },
|
||||
{ number: 100, label: "Возврат при неудаче", suffix: "%" }
|
||||
]
|
||||
},
|
||||
guarantees: {
|
||||
title: "Работаем на результат",
|
||||
description: "Мы берёмся только за дела с <strong>реальными перспективами</strong>. После анализа договора и отказа честно скажем, <strong>сколько можно взыскать</strong> от страховой.",
|
||||
description2: "Работаем <strong>без предоплаты</strong> — оплата только после получения выплаты. Если не выиграем — <strong>вернём деньги</strong> за наши услуги.",
|
||||
items: [
|
||||
{ title: "Бесплатный анализ", desc: "Анализируем договор и отказ на первой консультации" },
|
||||
{ title: "Оплата за результат", desc: "Платите только после получения выплаты от страховой" },
|
||||
{ title: "Договор", desc: "Фиксируем все условия юридически" },
|
||||
{ title: "Возврат средств", desc: "Если дело проиграно — деньги ваши" }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
const articlesData = [
|
||||
{ icon: "🚫", title: "Отказ в страховом случае", desc: "Страховая отказала, ссылаясь на правила или исключения. Оспариваем отказ.", chance: "Высокий шанс" },
|
||||
{ icon: "💰", title: "Занижение суммы выплаты", desc: "Страховая насчитала меньше реальной стоимости ремонта по КАСКО.", chance: "Высокий шанс" },
|
||||
{ icon: "📋", title: "Нарушение сроков рассмотрения", desc: "Страховая нарушила сроки рассмотрения заявления по договору.", chance: "Средний шанс" },
|
||||
{ icon: "🔍", title: "Неполный перечень повреждений", desc: "Страховая не учла все повреждения при оценке ущерба.", chance: "Высокий шанс" },
|
||||
{ icon: "⚖️", title: "Незаконные исключения", desc: "Страховая ссылается на пункты, противоречащие закону.", chance: "Высокий шанс" },
|
||||
{ icon: "⚠️", title: "Другие споры", desc: "Работаем с любыми спорами по КАСКО — анализируем каждую ситуацию.", chance: "Зависит от дела" }
|
||||
];
|
||||
|
||||
const stepsData = [
|
||||
{ number: "01", title: "Бесплатная консультация", desc: "Анализируем вашу ситуацию: отказ, занижение, нарушение сроков. Оцениваем перспективы." },
|
||||
{ number: "02", title: "Анализ договора КАСКО", desc: "Изучаем все условия, правила страхования, исключения. Ищем незаконные пункты." },
|
||||
{ number: "03", title: "Независимая экспертиза", desc: "Проводим оценку реального ущерба. Сравниваем с расчётами страховой." },
|
||||
{ number: "04", title: "Претензия в страховую", desc: "Составляем мотивированную досудебную претензию с требованием выплаты." },
|
||||
{ number: "05", title: "Судебный процесс", desc: "Если страховая не удовлетворила претензию — подаём иск и взыскиваем выплату." }
|
||||
];
|
||||
|
||||
const includesData = [
|
||||
{ icon: "📄", title: "Анализ договора", desc: "Изучаем все условия КАСКО и правила страхования" },
|
||||
{ icon: "🔍", title: "Независимая экспертиза", desc: "Оцениваем реальный ущерб от страхового случая" },
|
||||
{ icon: "📝", title: "Досудебная претензия", desc: "Составляем мотивированную претензию в страховую" },
|
||||
{ icon: "👨⚖️", title: "Представительство в суде", desc: "Ведём дело в суде до полного взыскания" },
|
||||
{ icon: "📹", title: "Сбор доказательств", desc: "Собираем все материалы для подтверждения случая" },
|
||||
{ icon: "✅", title: "Результат", desc: "Полная выплата по КАСКО или возврат денег" }
|
||||
];
|
||||
|
||||
const advantagesData = [
|
||||
{ number: "01", title: "Специализация на КАСКО", desc: "Мы фокусируемся на спорах по КАСКО. Знаем все методы страховых и законы." },
|
||||
{ number: "02", title: "80% оспоренных отказов", desc: "Высокая статистика благодаря глубокому анализу договоров и правил." },
|
||||
{ number: "03", title: "Без предоплаты", desc: "Оплата только после получения выплаты от страховой. Мы уверены в результате." },
|
||||
{ number: "04", title: "Независимая экспертиза", desc: "Своя сеть экспертов для объективной оценки ущерба по КАСКО." },
|
||||
{ number: "05", title: "Полное сопровождение", desc: "Вам не нужно ходить по судам. Мы делаем всё от анализа до взыскания." },
|
||||
{ number: "06", title: "Связь 24/7", desc: "Всегда на связи. Информируем о каждом шаге и отвечаем на вопросы." }
|
||||
];
|
||||
|
||||
const plansData = [
|
||||
{ badge: "Экспресс", title: "Анализ ситуации", price: "Бесплатно", features: ["Анализ договора", "Оценка перспектив", "Рекомендации", "Консультация по КАСКО"], btnText: "Получить анализ", btnClass: "" },
|
||||
{ badge: "Стандарт", title: "Взыскание под ключ", price: "от 15 000 ₽", features: ["Всё из Экспресс", "Независимая экспертиза", "Претензия в страховую", "Представительство в суде"], btnText: "Начать взыскание", btnClass: "gold", popular: true },
|
||||
{ badge: "Премиум", title: "Сложные случаи", price: "от 25 000 ₽", features: ["Всё из Стандарта", "Дополнительные экспертизы", "Взыскание неустойки", "Приоритетная работа"], btnText: "Обсудить дело", btnClass: "" }
|
||||
];
|
||||
|
||||
const faqsData = [
|
||||
{ question: "Страховая отказала по КАСКО — что делать?", answer: "Сразу <strong>обратитесь к юристу</strong>. Большинство отказов незаконны или могут быть оспорены. Мы проанализируем договор и скажем о перспективах." },
|
||||
{ question: "Сколько можно получить после оспаривания?", answer: "В среднем наши клиенты получают <strong>полную выплату</strong> по договору КАСКО. Зависит от условий полиса и ситуации." },
|
||||
{ question: "Сколько времени занимает процесс?", answer: "Досудебная претензия — <strong>до 30 дней</strong>. Судебный процесс — <strong>от 1 до 3 месяцев</strong>. Зависит от сложности дела." },
|
||||
{ question: "Нужно ли моё присутствие в суде?", answer: "<strong>Нет</strong>, мы работаем по доверенности. Ваше присутствие не требуется — мы ведём дело полностью самостоятельно." },
|
||||
{ question: "Что если страховая занизила выплату?", answer: "Мы проведём <strong>независимую экспертизу</strong> и взыщем разницу между реальной стоимостью ремонта и выплатой страховой." },
|
||||
{ question: "С чего начать?", answer: "<strong>Пришлите документы</strong> от страховой: договор КАСКО, отказ, расчёт. Мы проведём бесплатный анализ и скажем о перспективах." }
|
||||
];
|
||||
---
|
||||
|
||||
<Layout
|
||||
title="Споры по КАСКО — автоюрист в Сургуте"
|
||||
description="Помощь в получении полной выплаты по КАСКО при отказе страховой. Анализ договора, независимая экспертиза, суд. 80% успешных дел. Бесплатная консультация."
|
||||
canonicalLink={`${SITE_URL}/services/casco`}
|
||||
breadcrumbs={[
|
||||
{ label: 'Главная', href: '/' },
|
||||
{ label: 'Услуги', href: '/services' },
|
||||
{ label: 'Споры по КАСКО' }
|
||||
]}
|
||||
>
|
||||
<PageHero
|
||||
badgeText="СПОРЫ ПО КАСКО"
|
||||
titleWhite="Добьёмся"
|
||||
titleGold="выплаты по КАСКО"
|
||||
description="Помогаем получить полную выплату по полису КАСКО при отказе страховой. Анализ договора, независимая экспертиза, суд. Бесплатная консультация."
|
||||
btnText="Бесплатная консультация"
|
||||
layout="with-image"
|
||||
sideImage="/images/services/office-table.avif"
|
||||
sideImageAlt="Юрист по спорам КАСКО"
|
||||
experienceBadge={{
|
||||
number: "80%",
|
||||
text: "УСПЕШНЫХ ДЕЛ"
|
||||
}}
|
||||
bgImage="/images/services/servicesBg.avif"
|
||||
icon="shield"
|
||||
/>
|
||||
|
||||
<div class="service-detail-page">
|
||||
<AboutTabs
|
||||
tabsData={aboutTabsData}
|
||||
sectionLabel="Подробнее об услуге"
|
||||
sectionTitle="Всё о спорах по КАСКО"
|
||||
sectionDesc="Полная информация о взыскании выплаты по КАСКО при отказе или занижении страховой"
|
||||
/>
|
||||
<ArticlesList
|
||||
articles={articlesData}
|
||||
sectionLabel="Работаем с ситуациями"
|
||||
sectionTitle="Типичные споры по КАСКО"
|
||||
sectionDesc="Взыскиваем полную выплату при любых отказах страховых"
|
||||
/>
|
||||
<WorkSteps
|
||||
steps={stepsData}
|
||||
sectionLabel="Этапы работы"
|
||||
sectionTitle="Как мы взыскиваем по КАСКО"
|
||||
sectionDesc="Прозрачный процесс от консультации до получения полной выплаты"
|
||||
/>
|
||||
<ServiceIncludes
|
||||
includes={includesData}
|
||||
sectionLabel="Что входит"
|
||||
sectionTitle="Что входит в услугу"
|
||||
sectionDesc="Полный спектр работ по взысканию выплаты по КАСКО"
|
||||
/>
|
||||
<AdvantagesList
|
||||
advantages={advantagesData}
|
||||
sectionLabel="Почему мы"
|
||||
sectionTitle="Преимущества работы с нами"
|
||||
sectionDesc="Доверьте спор по КАСКО профессионалам с опытом"
|
||||
/>
|
||||
<PricingPlans
|
||||
plans={plansData}
|
||||
sectionLabel="Стоимость"
|
||||
sectionTitle="Сколько стоит взыскание"
|
||||
sectionDesc="Прозрачные цены без скрытых платежей"
|
||||
/>
|
||||
<FaqList
|
||||
faqs={faqsData}
|
||||
sectionLabel="Вопросы"
|
||||
sectionTitle="Частые вопросы"
|
||||
sectionDesc="Ответы на популярные вопросы о спорах по КАСКО"
|
||||
/>
|
||||
<CTA
|
||||
icon="consult"
|
||||
title="Добьёмся выплаты по КАСКО"
|
||||
description="Пришлите документы от страховой. Бесплатный анализ ситуации и оценка перспектив дела."
|
||||
btnText="Бесплатная консультация"
|
||||
/>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
<style>
|
||||
.service-detail-page {
|
||||
font-family: 'Inter', system-ui, -apple-system, sans-serif;
|
||||
}
|
||||
|
||||
.site-container {
|
||||
max-width: var(--site-max-width, 1400px);
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 5rem 1.5rem;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
text-align: center;
|
||||
margin-bottom: 3.5rem;
|
||||
}
|
||||
|
||||
.section-label {
|
||||
display: inline-block;
|
||||
color: #eac26e;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
margin-bottom: 1rem;
|
||||
padding: 0.5rem 1rem;
|
||||
background: rgba(234, 194, 110, 0.1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.section-label.center {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.section-header h2 {
|
||||
color: #0a2540;
|
||||
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
|
||||
font-weight: 800;
|
||||
margin: 0 0 1rem 0;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.section-desc {
|
||||
color: #64748b;
|
||||
font-size: 1.05rem;
|
||||
max-width: 650px;
|
||||
margin: 0 auto;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
section {
|
||||
padding: 3.5rem 1rem;
|
||||
}
|
||||
.section-header {
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
section {
|
||||
padding: 2.5rem 0.75rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script is:inline>
|
||||
// Анимации при скролле
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const observerOptions = {
|
||||
root: null,
|
||||
rootMargin: '0px 0px -50px 0px',
|
||||
threshold: 0.1
|
||||
};
|
||||
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const el = entry.target;
|
||||
const delay = parseInt(el.dataset.delay || '0');
|
||||
|
||||
setTimeout(() => {
|
||||
el.classList.add('is-visible');
|
||||
}, delay);
|
||||
|
||||
observer.unobserve(el);
|
||||
}
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
document.querySelectorAll('.animate-on-scroll').forEach((el) => {
|
||||
observer.observe(el);
|
||||
});
|
||||
|
||||
// Табы
|
||||
const tabButtons = document.querySelectorAll('.tab-btn');
|
||||
const tabPanels = document.querySelectorAll('.tab-panel');
|
||||
|
||||
tabButtons.forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
const tabId = btn.dataset.tab;
|
||||
|
||||
// Убираем active со всех кнопок
|
||||
tabButtons.forEach(b => {
|
||||
b.classList.remove('active');
|
||||
b.setAttribute('aria-selected', 'false');
|
||||
});
|
||||
|
||||
// Убираем active со всех панелей
|
||||
tabPanels.forEach(panel => {
|
||||
panel.classList.remove('active');
|
||||
});
|
||||
|
||||
// Активируем нужный таб
|
||||
btn.classList.add('active');
|
||||
btn.setAttribute('aria-selected', 'true');
|
||||
|
||||
const targetPanel = document.getElementById(`tab-${tabId}`);
|
||||
if (targetPanel) {
|
||||
targetPanel.classList.add('active');
|
||||
|
||||
// Запускаем анимацию счётчиков если это таб статистики
|
||||
if (tabId === 'stats') {
|
||||
animateCounters(targetPanel);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Анимация счётчиков
|
||||
function animateCounters(panel) {
|
||||
const counters = panel.querySelectorAll('[data-count]');
|
||||
|
||||
counters.forEach(counter => {
|
||||
const target = parseInt(counter.dataset.count || '0');
|
||||
const suffix = counter.textContent?.replace(/[0-9]/g, '') || '';
|
||||
const duration = 1500;
|
||||
const startTime = performance.now();
|
||||
|
||||
const easeOutCubic = (t) => 1 - Math.pow(1 - t, 3);
|
||||
|
||||
const update = (currentTime) => {
|
||||
const elapsed = currentTime - startTime;
|
||||
const progress = Math.min(elapsed / duration, 1);
|
||||
const easedProgress = easeOutCubic(progress);
|
||||
const currentValue = Math.round(easedProgress * target);
|
||||
|
||||
counter.textContent = `${currentValue}${suffix}`;
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(update);
|
||||
}
|
||||
};
|
||||
|
||||
requestAnimationFrame(update);
|
||||
});
|
||||
|
||||
// Анимация полосок статистики
|
||||
const statBars = panel.querySelectorAll('[data-width]');
|
||||
statBars.forEach(bar => {
|
||||
const width = bar.dataset.width;
|
||||
setTimeout(() => {
|
||||
bar.style.width = `${width}%`;
|
||||
}, 200);
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
364
frontend/src/pages/services/damages.astro
Normal file
364
frontend/src/pages/services/damages.astro
Normal file
|
|
@ -0,0 +1,364 @@
|
|||
---
|
||||
import Layout from '@layouts/Layout.astro';
|
||||
import { SITE_URL, COMPANY } from '@constants';
|
||||
import PageHero from "@components/base/PageHero.astro";
|
||||
import CTA from "@components/base/CTA.astro";
|
||||
// Import child components with custom data
|
||||
import AboutTabs from '@components/services/AboutTabs.astro';
|
||||
import ArticlesList from '@components/services/ArticlesList.astro';
|
||||
import WorkSteps from '@components/services/WorkSteps.astro';
|
||||
import ServiceIncludes from '@components/services/ServiceIncludes.astro';
|
||||
import AdvantagesList from '@components/services/AdvantagesList.astro';
|
||||
import PricingPlans from '@components/services/PricingPlans.astro';
|
||||
import FaqList from '@components/services/FaqList.astro';
|
||||
|
||||
// Custom data for damages recovery service
|
||||
const aboutTabsData = {
|
||||
problem: {
|
||||
title: "Страховой выплаты недостаточно",
|
||||
description: "Даже когда страховая выплатила по ОСАГО, <strong>сумма часто не покрывает реальный ущерб</strong>. Максимальная выплата по ОСАГО — <strong>400 000 ₽</strong>, а реальный ремонт может стоить значительно дороже. <strong>Разницу можно взыскать с виновника ДТП</strong>.",
|
||||
description2: "Многие водители <strong>не знают о своём праве</strong> на взыскание разницы с виновника. Мы помогаем <strong>рассчитать полный ущерб</strong>, составить претензию и взыскать <strong>всю сумму через суд</strong>.",
|
||||
items: [
|
||||
"Выплата ОСАГО не покрывает полный ущерб",
|
||||
"Виновник отказывается добровольно платить",
|
||||
"Необходимость расчёта полного ущерба"
|
||||
],
|
||||
visualNumber: "400K",
|
||||
visualLabel: "максимальная выплата по ОСАГО",
|
||||
visualNote: "Реальный ущерб часто в 2-3 раза больше",
|
||||
barWidth: 40
|
||||
},
|
||||
approach: {
|
||||
title: "Полное взыскание с виновника",
|
||||
description: "Мы проводим <strong>независимую экспертизу</strong> для определения реальной стоимости ремонта. <strong>Рассчитываем разницу</strong> между выплатой ОСАГО и полным ущербом. Составляем <strong>претензию виновнику</strong> и подаём иск в суд.",
|
||||
description2: "Наш опыт — это <strong>сотни успешно взысканных дел</strong>. Мы знаем, как <strong>правильно рассчитать ущерб</strong>, собрать доказательства и <strong>добиться полной компенсации</strong> от виновника ДТП.",
|
||||
items: [
|
||||
{ icon: "📋", title: "Расчёт полного ущерба", desc: "Определяем реальную стоимость ремонта автомобиля" },
|
||||
{ icon: "⚖️", title: "Претензия виновнику", desc: "Составляем досудебную претензию с требованием доплаты" },
|
||||
{ icon: "📹", title: "Судебное взыскание", desc: "Подаём иск и взыскиваем разницу через суд" }
|
||||
],
|
||||
steps: ["Консультация", "Экспертиза", "Претензия", "Суд", "Взыскание"]
|
||||
},
|
||||
stats: {
|
||||
bigStat: { number: 85, label: "Дел взыскано успешно", barWidth: 85 },
|
||||
stats: [
|
||||
{ number: 400, label: "Клиентов получили доплату", suffix: "+" },
|
||||
{ number: 10, label: "Лет практики в взыскании", suffix: "" },
|
||||
{ number: 150, label: "Средняя сумма взыскания", suffix: " тыс ₽" },
|
||||
{ number: 100, label: "Возврат при неудаче", suffix: "%" }
|
||||
]
|
||||
},
|
||||
guarantees: {
|
||||
title: "Работаем на результат",
|
||||
description: "Мы берёмся только за дела с <strong>реальными перспективами взыскания</strong>. После анализа ситуации честно скажем, <strong>сколько можно взыскать</strong> с виновника ДТП.",
|
||||
description2: "Работаем <strong>без предоплаты</strong> — оплата только после получения взыскания. Если не выиграем — <strong>вернём деньги</strong> за наши услуги.",
|
||||
items: [
|
||||
{ title: "Бесплатный анализ", desc: "Оцениваем перспективы взыскания на консультации" },
|
||||
{ title: "Оплата за результат", desc: "Платите только после взыскания с виновника" },
|
||||
{ title: "Договор", desc: "Фиксируем все условия юридически" },
|
||||
{ title: "Возврат средств", desc: "Если дело проиграно — деньги ваши" }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
const articlesData = [
|
||||
{ icon: "💰", title: "Недостаточная выплата ОСАГО", desc: "Страховая выплатила максимум, но ремонт стоит дороже. Взыскиваем разницу.", chance: "Высокий шанс" },
|
||||
{ icon: "🚫", title: "Отказ виновника платить", desc: "Виновник отказывается добровольно компенсировать ущерб. Взыскиваем через суд.", chance: "Высокий шанс" },
|
||||
{ icon: "📋", title: "Ущерб без оформления ДТП", desc: "ДТП не оформлено, но ущерб есть. Доказываем вину и взыскиваем ущерб.", chance: "Средний шанс" },
|
||||
{ icon: "🔍", title: "Скрытый ущерб", desc: "Страховая не учла скрытые повреждения. Доказываем полный объём ущерба.", chance: "Высокий шанс" },
|
||||
{ icon: "⚖️", title: "Упущенная выгода", desc: "Взыскиваем не только ремонт, но и потерю товарной стоимости авто.", chance: "Средний шанс" },
|
||||
{ icon: "⚠️", title: "Другие ситуации", desc: "Работаем с любыми случаями взыскания ущерба — анализируем каждую ситуацию.", chance: "Зависит от дела" }
|
||||
];
|
||||
|
||||
const stepsData = [
|
||||
{ number: "01", title: "Бесплатная консультация", desc: "Анализируем вашу ситуацию: сумму выплаты ОСАГО, реальный ущерб. Оцениваем перспективы." },
|
||||
{ number: "02", title: "Независимая экспертиза", desc: "Проводим оценку реального ущерба. Рассчитываем разницу с выплатой ОСАГО." },
|
||||
{ number: "03", title: "Претензия виновнику", desc: "Составляем досудебную претензию виновнику ДТП с требованием доплаты." },
|
||||
{ number: "04", title: "Судебный процесс", desc: "Если виновник не заплатил добровольно — подаём иск в суд." },
|
||||
{ number: "05", title: "Взыскание ущерба", desc: "После решения суда взыскиваем полную сумму через приставов." }
|
||||
];
|
||||
|
||||
const includesData = [
|
||||
{ icon: "📄", title: "Анализ документов", desc: "Изучаем выплату ОСАГО, документы о ДТП" },
|
||||
{ icon: "🔍", title: "Независимая экспертиза", desc: "Оцениваем реальный ущерб от ДТП" },
|
||||
{ icon: "📝", title: "Досудебная претензия", desc: "Составляем претензию виновнику ДТП" },
|
||||
{ icon: "👨⚖️", title: "Представительство в суде", desc: "Ведём дело в суде до полного взыскания" },
|
||||
{ icon: "📹", title: "Сбор доказательств", desc: "Собираем все материалы для подтверждения ущерба" },
|
||||
{ icon: "✅", title: "Результат", desc: "Полное взыскание ущерба или возврат денег" }
|
||||
];
|
||||
|
||||
const advantagesData = [
|
||||
{ number: "01", title: "Специализация на взыскании", desc: "Мы фокусируемся на взыскании ущерба с виновника. Знаем все нюансы расчёта и судов." },
|
||||
{ number: "02", title: "85% успешных взысканий", desc: "Высокая статистика благодаря точному расчёту ущерба и грамотной защите." },
|
||||
{ number: "03", title: "Без предоплаты", desc: "Оплата только после взыскания с виновника. Мы уверены в результате." },
|
||||
{ number: "04", title: "Независимая экспертиза", desc: "Своя сеть экспертов для объективной оценки полного ущерба." },
|
||||
{ number: "05", title: "Полное сопровождение", desc: "Вам не нужно ходить по судам. Мы делаем всё от экспертизы до взыскания." },
|
||||
{ number: "06", title: "Связь 24/7", desc: "Всегда на связи. Информируем о каждом шаге и отвечаем на вопросы." }
|
||||
];
|
||||
|
||||
const plansData = [
|
||||
{ badge: "Экспресс", title: "Анализ ситуации", price: "Бесплатно", features: ["Анализ документов", "Оценка перспектив", "Рекомендации", "Консультация по взысканию"], btnText: "Получить анализ", btnClass: "" },
|
||||
{ badge: "Стандарт", title: "Взыскание под ключ", price: "от 20 000 ₽", features: ["Всё из Экспресс", "Независимая экспертиза", "Претензия виновнику", "Представительство в суде"], btnText: "Начать взыскание", btnClass: "gold", popular: true },
|
||||
{ badge: "Премиум", title: "Сложные случаи", price: "от 30 000 ₽", features: ["Всё из Стандарта", "Взыскание упущенной выгоды", "Работа с приставами", "Приоритетная работа"], btnText: "Обсудить дело", btnClass: "" }
|
||||
];
|
||||
|
||||
const faqsData = [
|
||||
{ question: "Можно ли взыскать разницу с виновника?", answer: "<strong>Да</strong>, если выплата ОСАГО не покрывает реальный ущерб, вы имеете право взыскать разницу с виновника ДТП через суд." },
|
||||
{ question: "Сколько можно взыскать дополнительно?", answer: "Зависит от реального ущерба. В среднем наши клиенты взыскивают <strong>от 50 000 до 300 000 ₽</strong> сверх выплаты ОСАГО." },
|
||||
{ question: "Сколько времени занимает процесс?", answer: "Досудебная претензия — <strong>до 30 дней</strong>. Судебный процесс — <strong>от 1 до 3 месяцев</strong>. Зависит от сложности дела." },
|
||||
{ question: "Нужно ли моё присутствие в суде?", answer: "<strong>Нет</strong>, мы работаем по доверенности. Ваше присутствие не требуется — мы ведём дело полностью самостоятельно." },
|
||||
{ question: "Что если виновник не платит?", answer: "После решения суда мы <strong>передаём дело приставам</strong>. Они взыскивают сумму с виновника принудительно." },
|
||||
{ question: "С чего начать?", answer: "<strong>Пришлите документы</strong> от страховой: выплату ОСАГО, расчёт. Мы проведём бесплатный анализ и скажем о перспективах." }
|
||||
];
|
||||
---
|
||||
|
||||
<Layout
|
||||
title="Взыскание ущерба с виновника — автоюрист в Сургуте"
|
||||
description="Взыскание разницы между выплатой ОСАГО и реальным ущербом с виновника ДТП. Независимая экспертиза, претензия, суд. 85% успешных дел."
|
||||
canonicalLink={`${SITE_URL}/services/damages`}
|
||||
breadcrumbs={[
|
||||
{ label: 'Главная', href: '/' },
|
||||
{ label: 'Услуги', href: '/services' },
|
||||
{ label: 'Взыскание ущерба с виновника' }
|
||||
]}
|
||||
>
|
||||
<PageHero
|
||||
badgeText="ВЗЫСКАНИЕ УЩЕРБА"
|
||||
titleWhite="Взыщем"
|
||||
titleGold="полный ущерб"
|
||||
description="Взыскиваем разницу между выплатой ОСАГО и реальным ущербом с виновника ДТП. Независимая экспертиза, претензия, судебное представительство."
|
||||
btnText="Бесплатная консультация"
|
||||
layout="with-image"
|
||||
sideImage="/images/services/office-table.avif"
|
||||
sideImageAlt="Юрист по взысканию ущерба"
|
||||
experienceBadge={{
|
||||
number: "85%",
|
||||
text: "УСПЕШНЫХ ВЗЫСКАНИЙ"
|
||||
}}
|
||||
bgImage="/images/services/servicesBg.avif"
|
||||
icon="shield"
|
||||
/>
|
||||
|
||||
<div class="service-detail-page">
|
||||
<AboutTabs
|
||||
tabsData={aboutTabsData}
|
||||
sectionLabel="Подробнее об услуге"
|
||||
sectionTitle="Всё о взыскании ущерба с виновника"
|
||||
sectionDesc="Полная информация о взыскании разницы между выплатой ОСАГО и реальным ущербом"
|
||||
/>
|
||||
<ArticlesList
|
||||
articles={articlesData}
|
||||
sectionLabel="Работаем с ситуациями"
|
||||
sectionTitle="Типичные случаи взыскания"
|
||||
sectionDesc="Взыскиваем полный ущерб при любых ситуациях"
|
||||
/>
|
||||
<WorkSteps
|
||||
steps={stepsData}
|
||||
sectionLabel="Этапы работы"
|
||||
sectionTitle="Как мы взыскиваем ущерб"
|
||||
sectionDesc="Прозрачный процесс от консультации до получения полной компенсации"
|
||||
/>
|
||||
<ServiceIncludes
|
||||
includes={includesData}
|
||||
sectionLabel="Что входит"
|
||||
sectionTitle="Что входит в услугу"
|
||||
sectionDesc="Полный спектр работ по взысканию ущерба с виновника"
|
||||
/>
|
||||
<AdvantagesList
|
||||
advantages={advantagesData}
|
||||
sectionLabel="Почему мы"
|
||||
sectionTitle="Преимущества работы с нами"
|
||||
sectionDesc="Доверьте взыскание ущерба профессионалам с опытом"
|
||||
/>
|
||||
<PricingPlans
|
||||
plans={plansData}
|
||||
sectionLabel="Стоимость"
|
||||
sectionTitle="Сколько стоит взыскание"
|
||||
sectionDesc="Прозрачные цены без скрытых платежей"
|
||||
/>
|
||||
<FaqList
|
||||
faqs={faqsData}
|
||||
sectionLabel="Вопросы"
|
||||
sectionTitle="Частые вопросы"
|
||||
sectionDesc="Ответы на популярные вопросы о взыскании ущерба"
|
||||
/>
|
||||
<CTA
|
||||
icon="consult"
|
||||
title="Взыщем полный ущерб с виновника"
|
||||
description="Пришлите документы от страховой. Бесплатный анализ ситуации и оценка перспектив дела."
|
||||
btnText="Бесплатная консультация"
|
||||
/>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
<style>
|
||||
.service-detail-page {
|
||||
font-family: 'Inter', system-ui, -apple-system, sans-serif;
|
||||
}
|
||||
|
||||
.site-container {
|
||||
max-width: var(--site-max-width, 1400px);
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 5rem 1.5rem;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
text-align: center;
|
||||
margin-bottom: 3.5rem;
|
||||
}
|
||||
|
||||
.section-label {
|
||||
display: inline-block;
|
||||
color: #eac26e;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
margin-bottom: 1rem;
|
||||
padding: 0.5rem 1rem;
|
||||
background: rgba(234, 194, 110, 0.1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.section-label.center {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.section-header h2 {
|
||||
color: #0a2540;
|
||||
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
|
||||
font-weight: 800;
|
||||
margin: 0 0 1rem 0;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.section-desc {
|
||||
color: #64748b;
|
||||
font-size: 1.05rem;
|
||||
max-width: 650px;
|
||||
margin: 0 auto;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
section {
|
||||
padding: 3.5rem 1rem;
|
||||
}
|
||||
.section-header {
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
section {
|
||||
padding: 2.5rem 0.75rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script is:inline>
|
||||
// Анимации при скролле
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const observerOptions = {
|
||||
root: null,
|
||||
rootMargin: '0px 0px -50px 0px',
|
||||
threshold: 0.1
|
||||
};
|
||||
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const el = entry.target;
|
||||
const delay = parseInt(el.dataset.delay || '0');
|
||||
|
||||
setTimeout(() => {
|
||||
el.classList.add('is-visible');
|
||||
}, delay);
|
||||
|
||||
observer.unobserve(el);
|
||||
}
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
document.querySelectorAll('.animate-on-scroll').forEach((el) => {
|
||||
observer.observe(el);
|
||||
});
|
||||
|
||||
// Табы
|
||||
const tabButtons = document.querySelectorAll('.tab-btn');
|
||||
const tabPanels = document.querySelectorAll('.tab-panel');
|
||||
|
||||
tabButtons.forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
const tabId = btn.dataset.tab;
|
||||
|
||||
// Убираем active со всех кнопок
|
||||
tabButtons.forEach(b => {
|
||||
b.classList.remove('active');
|
||||
b.setAttribute('aria-selected', 'false');
|
||||
});
|
||||
|
||||
// Убираем active со всех панелей
|
||||
tabPanels.forEach(panel => {
|
||||
panel.classList.remove('active');
|
||||
});
|
||||
|
||||
// Активируем нужный таб
|
||||
btn.classList.add('active');
|
||||
btn.setAttribute('aria-selected', 'true');
|
||||
|
||||
const targetPanel = document.getElementById(`tab-${tabId}`);
|
||||
if (targetPanel) {
|
||||
targetPanel.classList.add('active');
|
||||
|
||||
// Запускаем анимацию счётчиков если это таб статистики
|
||||
if (tabId === 'stats') {
|
||||
animateCounters(targetPanel);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Анимация счётчиков
|
||||
function animateCounters(panel) {
|
||||
const counters = panel.querySelectorAll('[data-count]');
|
||||
|
||||
counters.forEach(counter => {
|
||||
const target = parseInt(counter.dataset.count || '0');
|
||||
const suffix = counter.textContent?.replace(/[0-9]/g, '') || '';
|
||||
const duration = 1500;
|
||||
const startTime = performance.now();
|
||||
|
||||
const easeOutCubic = (t) => 1 - Math.pow(1 - t, 3);
|
||||
|
||||
const update = (currentTime) => {
|
||||
const elapsed = currentTime - startTime;
|
||||
const progress = Math.min(elapsed / duration, 1);
|
||||
const easedProgress = easeOutCubic(progress);
|
||||
const currentValue = Math.round(easedProgress * target);
|
||||
|
||||
counter.textContent = `${currentValue}${suffix}`;
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(update);
|
||||
}
|
||||
};
|
||||
|
||||
requestAnimationFrame(update);
|
||||
});
|
||||
|
||||
// Анимация полосок статистики
|
||||
const statBars = panel.querySelectorAll('[data-width]');
|
||||
statBars.forEach(bar => {
|
||||
const width = bar.dataset.width;
|
||||
setTimeout(() => {
|
||||
bar.style.width = `${width}%`;
|
||||
}, 200);
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
364
frontend/src/pages/services/gibdd-review.astro
Normal file
364
frontend/src/pages/services/gibdd-review.astro
Normal file
|
|
@ -0,0 +1,364 @@
|
|||
---
|
||||
import Layout from '@layouts/Layout.astro';
|
||||
import { SITE_URL, COMPANY } from '@constants';
|
||||
import PageHero from "@components/base/PageHero.astro";
|
||||
import CTA from "@components/base/CTA.astro";
|
||||
// Import child components with custom data
|
||||
import AboutTabs from '@components/services/AboutTabs.astro';
|
||||
import ArticlesList from '@components/services/ArticlesList.astro';
|
||||
import WorkSteps from '@components/services/WorkSteps.astro';
|
||||
import ServiceIncludes from '@components/services/ServiceIncludes.astro';
|
||||
import AdvantagesList from '@components/services/AdvantagesList.astro';
|
||||
import PricingPlans from '@components/services/PricingPlans.astro';
|
||||
import FaqList from '@components/services/FaqList.astro';
|
||||
|
||||
// Custom data for gibdd review service
|
||||
const aboutTabsData = {
|
||||
problem: {
|
||||
title: "Разбор в ГИБДД — ключевой момент",
|
||||
description: "Разбор ДТП в ГИБДД — это <strong>первый официальный этап</strong>, где определяется виновник. Многие водители <strong>приходят на разбор без подготовки</strong>: не знают своих прав, не могут правильно изложить обстоятельства, <strong>соглашаются с выводами инспектора</strong>.",
|
||||
description2: "Юрист на разборе <strong>защищает ваши интересы</strong>: представляет доказательства, опровергает доводы второй стороны, <strong>не допускает необоснованного определения вины</strong>. Это спасает от лишения прав и несправедливых последствий.",
|
||||
items: [
|
||||
"Отсутствие подготовки к разбору в ГИБДД",
|
||||
"Согласие с выводами инспектора без анализа",
|
||||
"Неумение правильно изложить обстоятельства"
|
||||
],
|
||||
visualNumber: "70%",
|
||||
visualLabel: "разборов решаются не в пользу водителя",
|
||||
visualNote: "С юристом на разборе — до 80% справедливых решений",
|
||||
barWidth: 70
|
||||
},
|
||||
approach: {
|
||||
title: "Подготовка и защита на разборе",
|
||||
description: "Мы <strong>тщательно готовимся к разбору</strong>: анализируем материалы ДТП, собираем доказательства, <strong>формируем позицию защиты</strong>. На разборе представляем ваши интересы, <strong>опровергаем доводы второй стороны</strong> и добиваемся справедливого определения.",
|
||||
description2: "Наш опыт — это <strong>сотни успешных разборов</strong> в ГИБДД. Мы знаем, <strong>как правильно говорить с инспектором</strong>, какие доказательства представить и <strong>как защитить ваши права</strong>.",
|
||||
items: [
|
||||
{ icon: "📋", title: "Подготовка позиции", desc: "Анализируем материалы ДТП и формируем линию защиты" },
|
||||
{ icon: "⚖️", title: "Участие в разборе", desc: "Представляем ваши интересы и доказываем позицию" },
|
||||
{ icon: "📹", title: "Представление доказательств", desc: "Показываем видеозаписи, показания свидетелей, экспертизу" }
|
||||
],
|
||||
steps: ["Подготовка", "Сбор доказательств", "Позиция защиты", "Разбор в ГИБДД", "Справедливое определение"]
|
||||
},
|
||||
stats: {
|
||||
bigStat: { number: 80, label: "Разборов пройдено успешно", barWidth: 80 },
|
||||
stats: [
|
||||
{ number: 450, label: "Клиентов защищены на разборе", suffix: "+" },
|
||||
{ number: 10, label: "Лет практики в ГИБДД", suffix: "" },
|
||||
{ number: 3, label: "Дня на подготовку к разбору", suffix: " дня" },
|
||||
{ number: 100, label: "Возврат при неудаче", suffix: "%" }
|
||||
]
|
||||
},
|
||||
guarantees: {
|
||||
title: "Работаем на результат",
|
||||
description: "Мы берёмся только за дела с <strong>реальными доказательствами</strong>. После анализа материалов честно скажем, <strong>как защитить ваши интересы</strong> на разборе.",
|
||||
description2: "Работаем <strong>без предоплаты</strong> — оплата только после справедливого определения на разборе. Если не защитим — <strong>предложим стратегию обжалования</strong>.",
|
||||
items: [
|
||||
{ title: "Бесплатная подготовка", desc: "Анализируем материалы и готовим позицию защиты" },
|
||||
{ title: "Оплата за результат", desc: "Платите только после справедливого определения вины" },
|
||||
{ title: "Договор", desc: "Фиксируем все условия юридически" },
|
||||
{ title: "Стратегия обжалования", desc: "Если определение не в пользу — сразу готовим жалобу" }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
const articlesData = [
|
||||
{ icon: "📋", title: "Неправильное определение виновника", desc: "Инспектор может ошибиться. Доказываем на разборе реальную картину ДТП.", chance: "Высокий шанс" },
|
||||
{ icon: "📹", title: "Отсутствие видеодоказательств", desc: "Если нет записи — собираем другие доказательства: следы, показания, схему.", chance: "Средний шанс" },
|
||||
{ icon: "👥", title: "Противоречивые показания", desc: "Свидетели дают разные показания. Находим и оформляем выгодные показания.", chance: "Высокий шанс" },
|
||||
{ icon: "🔍", title: "Неполная схема ДТП", desc: "Схема не отражает всех обстоятельств. Представляем дополнительную информацию.", chance: "Высокий шанс" },
|
||||
{ icon: "⚖️", title: "Нарушение процедуры разбора", desc: "ГИБДД нарушает порядок проведения разбора. Фиксируем нарушения.", chance: "Средний шанс" },
|
||||
{ icon: "⚠️", title: "Другие ситуации", desc: "Работаем с любыми разборами в ГИБДД — защищаем ваши интересы.", chance: "Зависит от дела" }
|
||||
];
|
||||
|
||||
const stepsData = [
|
||||
{ number: "01", title: "Получение материалов ДТП", desc: "Берём все материалы: протокол, схему, объяснения. Анализируем обстоятельства." },
|
||||
{ number: "02", title: "Подготовка позиции защиты", desc: "Формируем линию защиты, собираем доказательства, готовим аргументы." },
|
||||
{ number: "03", title: "Сбор дополнительных доказательств", desc: "Находим свидетелей, запрашиваем записи, оформляем показания." },
|
||||
{ number: "04", title: "Участие в разборе", desc: "Представляем ваши интересы на разборе в ГИБДД, доказываем позицию." },
|
||||
{ number: "05", title: "Обжалование определения", desc: "Если определение не в пользу — сразу подаём жалобу в вышестоящий орган." }
|
||||
];
|
||||
|
||||
const includesData = [
|
||||
{ icon: "📄", title: "Анализ материалов ДТП", desc: "Изучаем протокол, схему, объяснения сторон" },
|
||||
{ icon: "🔍", title: "Подготовка позиции", desc: "Формируем линию защиты и собираем доказательства" },
|
||||
{ icon: "📝", title: "Участие в разборе", desc: "Представляем ваши интересы на разборе в ГИБДД" },
|
||||
{ icon: "👨⚖️", title: "Представление доказательств", desc: "Показываем видеозаписи, показания, экспертизу" },
|
||||
{ icon: "📹", title: "Сбор дополнительных материалов", desc: "Находим свидетелей, запрашиваем записи с камер" },
|
||||
{ icon: "✅", title: "Результат", desc: "Справедливое определение или стратегия обжалования" }
|
||||
];
|
||||
|
||||
const advantagesData = [
|
||||
{ number: "01", title: "Опыт в разборах ГИБДД", desc: "Сотни успешных разборов. Знаем процедуру и как правильно защитить водителя." },
|
||||
{ number: "02", title: "80% справедливых решений", desc: "Благодаря тщательной подготовке большинство разборов заканчиваются справедливо." },
|
||||
{ number: "03", title: "Быстрая подготовка", desc: "Готовимся за 3 дня. Собираем все доказательства и формируем позицию защиты." },
|
||||
{ number: "04", title: "Без предоплаты", desc: "Оплата только после справедливого определения. Мы уверены в результате." },
|
||||
{ number: "05", title: "Полное сопровождение", desc: "Вам не нужно ходить в ГИБДД. Мы представляем ваши интересы полностью." },
|
||||
{ number: "06", title: "Связь 24/7", desc: "Всегда на связи. Информируем о каждом шаге и отвечаем на вопросы." }
|
||||
];
|
||||
|
||||
const plansData = [
|
||||
{ badge: "Экспресс", title: "Подготовка к разбору", price: "Бесплатно", features: ["Анализ материалов", "Оценка перспектив", "Рекомендации", "Консультация по разбору"], btnText: "Получить подготовку", btnClass: "" },
|
||||
{ badge: "Стандарт", title: "Защита на разборе", price: "от 10 000 ₽", features: ["Всё из Экспресс", "Подготовка позиции", "Участие в разборе", "Представление доказательств"], btnText: "Начать защиту", btnClass: "gold", popular: true },
|
||||
{ badge: "Премиум", title: "Полное сопровождение", price: "от 20 000 ₽", features: ["Всё из Стандарта", "Обжалование определения", "Судебное представительство", "Приоритетная работа"], btnText: "Обсудить дело", btnClass: "" }
|
||||
];
|
||||
|
||||
const faqsData = [
|
||||
{ question: "Что такое разбор в ГИБДД?", answer: "<strong>Разбор ДТП</strong> — это процедура в ГИБДД, где инспектор определяет виновника. На разбор вызывают обе стороны. <strong>Решение на разборе влияет на всё дело</strong>." },
|
||||
{ question: "Нужно ли ходить на разбор самому?", answer: "<strong>Нет</strong>, мы представляем ваши интересы по доверенности. Ваше присутствие не требуется — мы ведём разбор полностью." },
|
||||
{ question: "Сколько времени даётся на подготовку?", answer: "Обычно <strong>3-5 дней</strong> до разбора. Мы используем это время для сбора доказательств и подготовки позиции." },
|
||||
{ question: "Что если я не согласен с определением?", answer: "Мы <strong>сразу подаём жалобу</strong> на определение в вышестоящий орган или суд. Срок обжалования — 5 дней." },
|
||||
{ question: "Можно ли прийти на разбор с юристом?", answer: "<strong>Да</strong>, вы имеете право на юридическую помощь. Мы представляем ваши интересы и защищаем ваши права." },
|
||||
{ question: "С чего начать подготовку к разбору?", answer: "<strong>Пришлите материалы ДТП</strong>: протокол, схему, объяснения. Мы проведём бесплатный анализ и подготовим позицию защиты." }
|
||||
];
|
||||
---
|
||||
|
||||
<Layout
|
||||
title="Разбор в ГИБДД — автоюрист в Сургуте"
|
||||
description="Представляем ваши интересы на разборе ДТП в ГИБДД. Подготовка позиции, участие в разборе, обжалование определения. 80% справедливых решений."
|
||||
canonicalLink={`${SITE_URL}/services/gibdd-review`}
|
||||
breadcrumbs={[
|
||||
{ label: 'Главная', href: '/' },
|
||||
{ label: 'Услуги', href: '/services' },
|
||||
{ label: 'Разбор в ГИБДД' }
|
||||
]}
|
||||
>
|
||||
<PageHero
|
||||
badgeText="РАЗБОР В ГИБДД"
|
||||
titleWhite="Защитим"
|
||||
titleGold="на разборе"
|
||||
description="Представляем ваши интересы на разборе ДТП в ГИБДД. Подготовка позиции, участие в разборе, обжалование определения. Бесплатная подготовка."
|
||||
btnText="Бесплатная подготовка"
|
||||
layout="with-image"
|
||||
sideImage="/images/services/office-table.avif"
|
||||
sideImageAlt="Юрист на разборе в ГИБДД"
|
||||
experienceBadge={{
|
||||
number: "80%",
|
||||
text: "СПРАВЕДЛИВЫХ РЕШЕНИЙ"
|
||||
}}
|
||||
bgImage="/images/services/servicesBg.avif"
|
||||
icon="shield"
|
||||
/>
|
||||
|
||||
<div class="service-detail-page">
|
||||
<AboutTabs
|
||||
tabsData={aboutTabsData}
|
||||
sectionLabel="Подробнее об услуге"
|
||||
sectionTitle="Всё о разборе в ГИБДД"
|
||||
sectionDesc="Полная информация о защите интересов на разборе ДТП в ГИБДД"
|
||||
/>
|
||||
<ArticlesList
|
||||
articles={articlesData}
|
||||
sectionLabel="Работаем с ситуациями"
|
||||
sectionTitle="Типичные ситуации на разборе"
|
||||
sectionDesc="Защищаем интересы при любых обстоятельствах ДТП"
|
||||
/>
|
||||
<WorkSteps
|
||||
steps={stepsData}
|
||||
sectionLabel="Этапы работы"
|
||||
sectionTitle="Как мы защищаем на разборе"
|
||||
sectionDesc="Прозрачный процесс от подготовки до справедливого определения"
|
||||
/>
|
||||
<ServiceIncludes
|
||||
includes={includesData}
|
||||
sectionLabel="Что входит"
|
||||
sectionTitle="Что входит в услугу"
|
||||
sectionDesc="Полный спектр защиты на разборе в ГИБДД"
|
||||
/>
|
||||
<AdvantagesList
|
||||
advantages={advantagesData}
|
||||
sectionLabel="Почему мы"
|
||||
sectionTitle="Преимущества работы с нами"
|
||||
sectionDesc="Доверьте защиту на разборе профессионалам с опытом"
|
||||
/>
|
||||
<PricingPlans
|
||||
plans={plansData}
|
||||
sectionLabel="Стоимость"
|
||||
sectionTitle="Сколько стоит защита на разборе"
|
||||
sectionDesc="Прозрачные цены без скрытых платежей"
|
||||
/>
|
||||
<FaqList
|
||||
faqs={faqsData}
|
||||
sectionLabel="Вопросы"
|
||||
sectionTitle="Частые вопросы"
|
||||
sectionDesc="Ответы на популярные вопросы о разборе в ГИБДД"
|
||||
/>
|
||||
<CTA
|
||||
icon="consult"
|
||||
title="Защитим вас на разборе в ГИБДД"
|
||||
description="Пришлите материалы ДТП. Бесплатная подготовка позиции и оценка перспектив."
|
||||
btnText="Бесплатная подготовка"
|
||||
/>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
<style>
|
||||
.service-detail-page {
|
||||
font-family: 'Inter', system-ui, -apple-system, sans-serif;
|
||||
}
|
||||
|
||||
.site-container {
|
||||
max-width: var(--site-max-width, 1400px);
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 5rem 1.5rem;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
text-align: center;
|
||||
margin-bottom: 3.5rem;
|
||||
}
|
||||
|
||||
.section-label {
|
||||
display: inline-block;
|
||||
color: #eac26e;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
margin-bottom: 1rem;
|
||||
padding: 0.5rem 1rem;
|
||||
background: rgba(234, 194, 110, 0.1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.section-label.center {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.section-header h2 {
|
||||
color: #0a2540;
|
||||
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
|
||||
font-weight: 800;
|
||||
margin: 0 0 1rem 0;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.section-desc {
|
||||
color: #64748b;
|
||||
font-size: 1.05rem;
|
||||
max-width: 650px;
|
||||
margin: 0 auto;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
section {
|
||||
padding: 3.5rem 1rem;
|
||||
}
|
||||
.section-header {
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
section {
|
||||
padding: 2.5rem 0.75rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script is:inline>
|
||||
// Анимации при скролле
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const observerOptions = {
|
||||
root: null,
|
||||
rootMargin: '0px 0px -50px 0px',
|
||||
threshold: 0.1
|
||||
};
|
||||
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const el = entry.target;
|
||||
const delay = parseInt(el.dataset.delay || '0');
|
||||
|
||||
setTimeout(() => {
|
||||
el.classList.add('is-visible');
|
||||
}, delay);
|
||||
|
||||
observer.unobserve(el);
|
||||
}
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
document.querySelectorAll('.animate-on-scroll').forEach((el) => {
|
||||
observer.observe(el);
|
||||
});
|
||||
|
||||
// Табы
|
||||
const tabButtons = document.querySelectorAll('.tab-btn');
|
||||
const tabPanels = document.querySelectorAll('.tab-panel');
|
||||
|
||||
tabButtons.forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
const tabId = btn.dataset.tab;
|
||||
|
||||
// Убираем active со всех кнопок
|
||||
tabButtons.forEach(b => {
|
||||
b.classList.remove('active');
|
||||
b.setAttribute('aria-selected', 'false');
|
||||
});
|
||||
|
||||
// Убираем active со всех панелей
|
||||
tabPanels.forEach(panel => {
|
||||
panel.classList.remove('active');
|
||||
});
|
||||
|
||||
// Активируем нужный таб
|
||||
btn.classList.add('active');
|
||||
btn.setAttribute('aria-selected', 'true');
|
||||
|
||||
const targetPanel = document.getElementById(`tab-${tabId}`);
|
||||
if (targetPanel) {
|
||||
targetPanel.classList.add('active');
|
||||
|
||||
// Запускаем анимацию счётчиков если это таб статистики
|
||||
if (tabId === 'stats') {
|
||||
animateCounters(targetPanel);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Анимация счётчиков
|
||||
function animateCounters(panel) {
|
||||
const counters = panel.querySelectorAll('[data-count]');
|
||||
|
||||
counters.forEach(counter => {
|
||||
const target = parseInt(counter.dataset.count || '0');
|
||||
const suffix = counter.textContent?.replace(/[0-9]/g, '') || '';
|
||||
const duration = 1500;
|
||||
const startTime = performance.now();
|
||||
|
||||
const easeOutCubic = (t) => 1 - Math.pow(1 - t, 3);
|
||||
|
||||
const update = (currentTime) => {
|
||||
const elapsed = currentTime - startTime;
|
||||
const progress = Math.min(elapsed / duration, 1);
|
||||
const easedProgress = easeOutCubic(progress);
|
||||
const currentValue = Math.round(easedProgress * target);
|
||||
|
||||
counter.textContent = `${currentValue}${suffix}`;
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(update);
|
||||
}
|
||||
};
|
||||
|
||||
requestAnimationFrame(update);
|
||||
});
|
||||
|
||||
// Анимация полосок статистики
|
||||
const statBars = panel.querySelectorAll('[data-width]');
|
||||
statBars.forEach(bar => {
|
||||
const width = bar.dataset.width;
|
||||
setTimeout(() => {
|
||||
bar.style.width = `${width}%`;
|
||||
}, 200);
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
|
@ -12,181 +12,181 @@ import AdvantagesList from '@components/services/AdvantagesList.astro';
|
|||
import PricingPlans from '@components/services/PricingPlans.astro';
|
||||
import FaqList from '@components/services/FaqList.astro';
|
||||
|
||||
// Custom data for license challenge service
|
||||
// Custom data for protocol defense service
|
||||
const aboutTabsData = {
|
||||
problem: {
|
||||
title: "Лишение прав — не приговор",
|
||||
description: "Каждый год тысячи водителей лишаются прав <strong>незаконно</strong>. Судебная практика показывает, что до <strong>60% постановлений</strong> о лишении прав могут быть оспорены при грамотной защите.",
|
||||
description2: "Мы специализируемся именно на <strong>оспаривании лишения</strong> — находим нарушения в процедуре, анализируем доказательства ГИБДД и строим линию защиты для возврата ваших прав.",
|
||||
title: "Протокол составлен — но это не конец",
|
||||
description: "После составления протокола многие водители <strong>сдаются и считают дело проигранным</strong>. Но именно на этом этапе можно найти <strong>критические нарушения</strong>, которые станут основанием для прекращения дела.",
|
||||
description2: "Инспекторы допускают ошибки в <strong>каждом третьем протоколе</strong>: неправильная формулировка, отсутствие подписи, нарушение порядка составления. <strong>Грамотный анализ протокола — ключ к защите</strong>.",
|
||||
items: [
|
||||
"Нарушение порядка привлечения к ответственности",
|
||||
"Неправильная квалификация правонарушения",
|
||||
"Отсутствие достаточной доказательной базы"
|
||||
"Ошибки в заполнении и формулировках протокола",
|
||||
"Нарушение порядка составления и вручения копии",
|
||||
"Отсутствие обязательных реквитов"
|
||||
],
|
||||
visualNumber: "60%",
|
||||
visualLabel: "постановлений можно оспорить",
|
||||
visualNote: "При условии своевременного обращения",
|
||||
barWidth: 60
|
||||
visualNumber: "40%",
|
||||
visualLabel: "протоколов содержат нарушения",
|
||||
visualNote: "При грамотном анализе — до 70% шансов на прекращение",
|
||||
barWidth: 40
|
||||
},
|
||||
approach: {
|
||||
title: "Системный подход к защите",
|
||||
description: "Каждое дело о лишении прав мы рассматриваем <strong>комплексно</strong>. Анализируем все материалы, ищем процессуальные нарушения и строим защиту на <strong>всех уровнях</strong>.",
|
||||
description2: "Наш опыт — это <strong>сотни выигранных дел</strong> в судах Сургута и ХМАО. Мы знаем практику судей и используем это для защиты ваших интересов.",
|
||||
title: "Детальный аудит протокола",
|
||||
description: "Мы проводим <strong>построчный анализ</strong> каждого документа. Изучаем протокол, рапорт инспектора, результаты освидетельствования. Ищем <strong>любое процессуальное нарушение</strong>, которое поможет защите.",
|
||||
description2: "Наша задача — <strong>найти основания для прекращения дела</strong> ещё до суда. Если протокол составлен с нарушениями — дело должно быть прекращено.",
|
||||
items: [
|
||||
{ icon: "📋", title: "Полный аудит дела", desc: "Изучаем все материалы от протокола до решения суда" },
|
||||
{ icon: "⚖️", title: "Поиск нарушений", desc: "Находим процессуальные ошибки на каждом этапе" },
|
||||
{ icon: "📹", title: "Работа с видео", desc: "Анализируем записи с регистраторов и камер" }
|
||||
{ icon: "📋", title: "Построчный анализ", desc: "Проверяем каждое поле и запись в протоколе" },
|
||||
{ icon: "⚖️", title: "Поиск нарушений", desc: "Находим процессуальные ошибки инспектора" },
|
||||
{ icon: "📹", title: "Видеоанализ", desc: "Сверяем протокол с видеозаписью" }
|
||||
],
|
||||
steps: ["Обращение", "Аудит дела", "Жалоба", "Суд", "Победа"]
|
||||
steps: ["Получение протокола", "Анализ документов", "Поиск нарушений", "Подготовка защиты", "Прекращение дела"]
|
||||
},
|
||||
stats: {
|
||||
bigStat: { number: 85, label: "Дел выиграно", barWidth: 85 },
|
||||
bigStat: { number: 70, label: "Дел прекращено после анализа протокола", barWidth: 70 },
|
||||
stats: [
|
||||
{ number: 350, label: "Успешных апелляций", suffix: "+" },
|
||||
{ number: 12, label: "Лет в практике", suffix: "" },
|
||||
{ number: 10, label: "Дней на подачу жалобы", suffix: "" },
|
||||
{ number: 300, label: "Протоколов проанализировано", suffix: "+" },
|
||||
{ number: 10, label: "Лет практики", suffix: "" },
|
||||
{ number: 3, label: "Дня на анализ протокола", suffix: " дня" },
|
||||
{ number: 100, label: "Возврат при неудаче", suffix: "%" }
|
||||
]
|
||||
},
|
||||
guarantees: {
|
||||
title: "Гарантируем результат",
|
||||
description: "Мы берёмся только за дела с <strong>реальными перспективами</strong>. Если шансов нет — скажем честно и не будем брать оплату.",
|
||||
description2: "Работаем <strong>по договору</strong> с прописанными гарантиями. Если не выиграем дело — <strong>вернём деньги</strong>.",
|
||||
title: "Работаем на результат",
|
||||
description: "Мы берёмся только за дела с <strong>реальными перспективами</strong>. После анализа протокола честно скажем о <strong>шансах на прекращение</strong>.",
|
||||
description2: "Если нарушений в протоколе нет — мы предложим <strong>стратегию защиты на следующих этапах</strong>. Не берём денег за безнадёжные дела.",
|
||||
items: [
|
||||
{ title: "Честная оценка", desc: "Говорим о перспективах до начала работы" },
|
||||
{ title: "Оплата за результат", desc: "Платите только при успешном исходе" },
|
||||
{ title: "Бесплатный анализ", desc: "Анализируем протокол и оцениваем перспективы" },
|
||||
{ title: "Оплата за результат", desc: "Платите только при прекращении дела" },
|
||||
{ title: "Договор", desc: "Фиксируем все условия юридически" },
|
||||
{ title: "Возврат средств", desc: "Если дело проиграно — деньги ваши" }
|
||||
{ title: "Честная оценка", desc: "Не обещаем невозможного — говорим правду" }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
const articlesData = [
|
||||
{ icon: "🍺", title: "Ст. 12.8 — Опьянение", desc: "Оспариваем результаты освидетельствования, проверяем законность направления на медосмотр.", chance: "Высокий шанс" },
|
||||
{ icon: "🚫", title: "Ст. 12.26 — Отказ от осмотра", desc: "Анализируем законность требования об освидетельствовании, ищем ошибки в процедуре.", chance: "Средний шанс" },
|
||||
{ icon: "🔄", title: "Ст. 12.15 — Встречная полоса", desc: "Проверяем правильность фиксации нарушения, анализируем разметку и знаки.", chance: "Высокий шанс" },
|
||||
{ icon: "🚦", title: "Ст. 12.12 — Красный свет", desc: "Оспариваем работу камер, запрашиваем сертификаты оборудования.", chance: "Средний шанс" },
|
||||
{ icon: "🚗", title: "Ст. 12.27 — Оставление ДТП", desc: "Доказываем отсутствие умысла, собираем смягчающие доказательства.", chance: "Зависит от дела" },
|
||||
{ icon: "⚠️", title: "Другие статьи", desc: "Работаем со всеми статьями КоАП — анализируем каждое дело индивидуально.", chance: "Анализ дела" }
|
||||
{ icon: "📝", title: "Ошибки в протоколе", desc: "Проверяем правильность заполнения всех полей, подписей, дат.", chance: "Высокий шанс" },
|
||||
{ icon: "🫁", title: "Нарушение освидетельствования", desc: "Анализируем поверку прибора, наличие понятых, процедуру проведения.", chance: "Высокий шанс" },
|
||||
{ icon: "🎥", title: "Отсутствие видеозаписи", desc: "Если освидетельствование не записано — это основание для прекращения.", chance: "Высокий шанс" },
|
||||
{ icon: "👥", title: "Нет понятых", desc: "Освидетельствование без понятых — грубое нарушение процедуры.", chance: "Высокий шанс" },
|
||||
{ icon: "📄", title: "Не вручена копия", desc: "Копия протокола должна быть вручена немедленно. Нарушение — прекращение дела.", chance: "Средний шанс" },
|
||||
{ icon: "⚠️", title: "Другие нарушения", desc: "Работаем с любыми процессуальными ошибками — анализируем каждую ситуацию.", chance: "Зависит от дела" }
|
||||
];
|
||||
|
||||
const stepsData = [
|
||||
{ number: "01", title: "Экстренная консультация", desc: "Связываетесь с нами сразу после получения постановления. Оцениваем шансы, объясняем порядок действий." },
|
||||
{ number: "02", title: "Глубокий анализ дела", desc: "Запрашиваем все материалы, изучаем протоколы, видео, показания. Ищем процессуальные нарушения." },
|
||||
{ number: "03", title: "Подготовка апелляционной жалобы", desc: "Составляем мотивированную жалобу с ссылками на нарушения и судебную практику." },
|
||||
{ number: "04", title: "Представительство в суде", desc: "Ведём дело в апелляционной инстанции. Доказываем незаконность лишения." },
|
||||
{ number: "05", title: "Возврат прав", desc: "После отмены постановления помогаем с процедурой возврата водительских прав." }
|
||||
{ number: "01", title: "Передача протокола", desc: "Пришлите нам копию протокола или приезжайте в офис. Мы начнём анализ сразу." },
|
||||
{ number: "02", title: "Построчный анализ", desc: "Изучаем каждое поле, сверяем с видеозаписью, ищем процессуальные нарушения." },
|
||||
{ number: "03", title: "Оценка перспектив", desc: "Честно говорим о шансах. Если есть основания — берёмся за дело." },
|
||||
{ number: "04", title: "Подготовка защиты", desc: "Составляем ходатайства, собираем доказательства, готовим позицию." },
|
||||
{ number: "05", title: "Прекращение дела", desc: "Благодаря найденным нарушения дело прекращается ещё до суда." }
|
||||
];
|
||||
|
||||
const includesData = [
|
||||
{ icon: "📄", title: "Анализ постановления", desc: "Изучаем законность и обоснованность решения суда" },
|
||||
{ icon: "🔍", title: "Аудит материалов", desc: "Проверяем все протоколы, рапорты, видеозаписи" },
|
||||
{ icon: "📝", title: "Апелляционная жалоба", desc: "Готовим мотивированную жалобу в вышестоящий суд" },
|
||||
{ icon: "👨⚖️", title: "Защита в суде", desc: "Представляем ваши интересы в апелляционной инстанции" },
|
||||
{ icon: "📹", title: "Видеоэкспертиза", desc: "Анализируем записи, запрашиваем оригиналы" },
|
||||
{ icon: "✅", title: "Результат", desc: "Отмена постановления или возврат денег" }
|
||||
{ icon: "📄", title: "Анализ протокола", desc: "Построчная проверка каждого документа" },
|
||||
{ icon: "🔍", title: "Поиск нарушений", desc: "Находим процессуальные ошибки инспектора" },
|
||||
{ icon: "📹", title: "Видеоанализ", desc: "Сверяем протокол с видеозаписью" },
|
||||
{ icon: "📝", title: "Подготовка ходатайств", desc: "Составляем документы для прекращения дела" },
|
||||
{ icon: "👨⚖️", title: "Представительство", desc: "Защищаем ваши интересы в суде" },
|
||||
{ icon: "✅", title: "Результат", desc: "Прекращение дела или возврат денег" }
|
||||
];
|
||||
|
||||
const advantagesData = [
|
||||
{ number: "01", title: "Специализация на апелляциях", desc: "Мы фокусируемся именно на оспаривании уже вынесенных постановлений. Это наша главная экспертиза." },
|
||||
{ number: "02", title: "85% выигранных дел", desc: "Высокая статистка благодаря тщательному отбору дел и глубокому анализу материалов." },
|
||||
{ number: "03", title: "Срочное реагирование", desc: "10 дней на апелляцию — это мало. Мы работаем быстро, чтобы не упустить срок." },
|
||||
{ number: "04", title: "Без предоплаты", desc: "Оплата только после отмены постановления о лишении. Мы уверены в своей работе." },
|
||||
{ number: "05", title: "Полное ведение дела", desc: "Вам не нужно ходить по судам. Мы делаем всё от подачи жалобы до получения прав." },
|
||||
{ number: "06", title: "Связь 24/7", desc: "Всегда на связи. Информируем о каждом шаге и отвечаем на вопросы." }
|
||||
{ number: "01", title: "Экспертиза в протоколах", desc: "Мы специализируемся на анализе протоколов. Знаем все типичные ошибки инспекторов." },
|
||||
{ number: "02", title: "70% дел прекращено", desc: "Благодаря грамотному анализу протокола большинство дел закрываются до суда." },
|
||||
{ number: "03", title: "Быстрый анализ", desc: "Анализируем протокол за 3 дня. Не тянем время — каждая минута на счету." },
|
||||
{ number: "04", title: "Без предоплаты", desc: "Оплата только после прекращения дела. Мы уверены в своей экспертизе." },
|
||||
{ number: "05", title: "Полное сопровождение", desc: "От анализа протокола до прекращения дела. Вам не нужно ничего делать самому." },
|
||||
{ number: "06", title: "Честная оценка", desc: "Говорим правду о перспективах. Не берёмся за безнадёжные дела." }
|
||||
];
|
||||
|
||||
const plansData = [
|
||||
{ badge: "Экспресс", title: "Анализ + консультация", price: "Бесплатно", features: ["Анализ постановления", "Оценка перспектив", "Рекомендации", "Срочная консультация"], btnText: "Получить анализ", btnClass: "" },
|
||||
{ badge: "Стандарт", title: "Апелляция под ключ", price: "от 20 000 ₽", features: ["Всё из Экспресс", "Подготовка жалобы", "Сбор доказательств", "Представительство в суде"], btnText: "Начать дело", btnClass: "gold", popular: true },
|
||||
{ badge: "Премиум", title: "Сложные случаи", price: "от 35 000 ₽", features: ["Всё из Стандарта", "Видеоэкспертиза", "Дополнительные инстанции", "Приоритетная работа"], btnText: "Обсудить дело", btnClass: "" }
|
||||
{ badge: "Экспресс", title: "Анализ протокола", price: "Бесплатно", features: ["Анализ протокола", "Оценка перспектив", "Рекомендации", "Срочная консультация"], btnText: "Прислать протокол", btnClass: "" },
|
||||
{ badge: "Стандарт", title: "Защита под ключ", price: "от 20 000 ₽", features: ["Всё из Экспресс", "Подготовка ходатайств", "Сбор доказательств", "Представительство в суде"], btnText: "Начать защиту", btnClass: "gold", popular: true },
|
||||
{ badge: "Премиум", title: "Сложные дела", price: "от 30 000 ₽", features: ["Всё из Стандарта", "Видеоэкспертиза", "Дополнительные инстанции", "Приоритетная работа"], btnText: "Обсудить дело", btnClass: "" }
|
||||
];
|
||||
|
||||
const faqsData = [
|
||||
{ question: "Сколько времени есть на обжалование?", answer: "На обжалование постановления о лишении прав даётся <strong>10 дней</strong> с момента получения копии постановления. Пропуск срока возможен только по уважительным причинам." },
|
||||
{ question: "Можно ли вернуть права если срок прошёл?", answer: "Да, есть возможность <strong>восстановить срок</strong> обжалования при уважительных причинах пропуска. Мы поможем подготовить ходатайство." },
|
||||
{ question: "Каковы шансы на успех?", answer: "Статистика показывает, что около <strong>60% постановлений</strong> могут быть оспорены. Мы честно оценим перспективы после анализа дела." },
|
||||
{ question: "Нужно ли присутствовать на суде?", answer: "<strong>Нет</strong>, мы работаем по доверенности. Ваше присутствие не требуется — мы ведём дело полностью самостоятельно." },
|
||||
{ question: "Что если первая апелляция проиграна?", answer: "Есть возможность подачи <strong>кассационной жалобы</strong> в вышестоящий суд. Мы продолжаем борьбу до конца." },
|
||||
{ question: "С чего начать?", answer: "<strong>Свяжитесь с нами</strong> как можно быстрее. Чем раньше мы начнём, тем больше шансов на успех. Первая консультация бесплатна." }
|
||||
{ question: "Что делать, если мне вручили протокол?", answer: "Сразу <strong>пришлите нам копию</strong> протокола. Мы проведём бесплатный анализ и скажем о перспективах. Не подписывайте ничего без консультации." },
|
||||
{ question: "Можно ли оспорить уже подписанный протокол?", answer: "Да, даже <strong>подписанный протокол</strong> можно оспорить при наличии процессуальных нарушений. Подпись не означает согласие с содержанием." },
|
||||
{ question: "Сколько времени занимает анализ?", answer: "Мы анализируем протокол за <strong>3 рабочих дня</strong>. После этого честно говорим о шансах на прекращение дела." },
|
||||
{ question: "Каковы шансы на прекращение дела?", answer: "Около <strong>40% протоколов</strong> содержат нарушения. При грамотном анализе шансы значительно выше — до 70%." },
|
||||
{ question: "Нужно ли моё присутствие в суде?", answer: "<strong>Нет</strong>, мы работаем по доверенности. Ваше присутствие не требуется — мы ведём дело полностью самостоятельно." },
|
||||
{ question: "Что если в протоколе нет нарушений?", answer: "Если протокол составлен правильно — мы предложим <strong>стратегию защиты на следующих этапах</strong>. Честно скажем о всех вариантах." }
|
||||
];
|
||||
---
|
||||
|
||||
<Layout
|
||||
title="Оспаривание лишения прав — автоюрист в Сургуте"
|
||||
description="Профессиональное оспаривание постановления о лишении водительских прав. Апелляция, анализ дела, 85% успешных дел. Бесплатная консультация."
|
||||
title="Защита при составленном протоколе — автоюрист в Сургуте"
|
||||
description="Анализ протокола на процессуальные нарушения. Построчная проверка, поиск ошибок, защита в суде. Бесплатный анализ протокола."
|
||||
canonicalLink={`${SITE_URL}/services/license-challenge`}
|
||||
breadcrumbs={[
|
||||
{ label: 'Главная', href: '/' },
|
||||
{ label: 'Услуги', href: '/services' },
|
||||
{ label: 'Оспаривание лишения' }
|
||||
{ label: 'Защита при составленном протоколе' }
|
||||
]}
|
||||
>
|
||||
<PageHero
|
||||
badgeText="ОСПАРИВАНИЕ ЛИШЕНИЯ"
|
||||
titleWhite="Отменим"
|
||||
titleGold="постановление о лишении"
|
||||
description="Оспариваем лишение прав в апелляционном суде. Анализируем материалы дела, находим нарушения. Бесплатная консультация и оценка перспектив."
|
||||
btnText="Бесплатная консультация"
|
||||
badgeText="ЗАЩИТА С ПРОТОКОЛОМ"
|
||||
titleWhite="Найдём"
|
||||
titleGold="ошибки в протоколе"
|
||||
description="Анализируем протокол на процессуальные нарушения. Построчная проверка, поиск ошибок, защита в суде. Бесплатный анализ протокола и оценка перспектив."
|
||||
btnText="Бесплатный анализ протокола"
|
||||
layout="with-image"
|
||||
sideImage="/images/services/office-table.avif"
|
||||
sideImageAlt="Юрист по оспариванию лишения"
|
||||
sideImageAlt="Юрист по защите при составленном протоколе"
|
||||
experienceBadge={{
|
||||
number: "85%",
|
||||
text: "УСПЕШНЫХ АПЕЛЛЯЦИЙ"
|
||||
number: "70%",
|
||||
text: "ДЕЛ ПРЕКРАЩЕНО"
|
||||
}}
|
||||
bgImage="/images/services/servicesBg.avif"
|
||||
icon="shield"
|
||||
/>
|
||||
|
||||
<div class="service-detail-page">
|
||||
<AboutTabs
|
||||
<AboutTabs
|
||||
tabsData={aboutTabsData}
|
||||
sectionLabel="Подробнее об услуге"
|
||||
sectionTitle="Всё об оспаривании лишения прав"
|
||||
sectionDesc="Полная информация об услуге оспаривания постановления о лишении прав"
|
||||
sectionTitle="Всё о защите при составленном протоколе"
|
||||
sectionDesc="Полная информация об анализе протокола и поиске процессуальных нарушений"
|
||||
/>
|
||||
<ArticlesList
|
||||
<ArticlesList
|
||||
articles={articlesData}
|
||||
sectionLabel="Работаем со статьями"
|
||||
sectionTitle="Какие статьи КоАП оспариваем"
|
||||
sectionDesc="Оспариваем лишение по всем основным статьям КоАП РФ"
|
||||
sectionLabel="Работаем с нарушениями"
|
||||
sectionTitle="Типичные нарушения в протоколах"
|
||||
sectionDesc="Находим любые процессуальные ошибки для прекращения дела"
|
||||
/>
|
||||
<WorkSteps
|
||||
<WorkSteps
|
||||
steps={stepsData}
|
||||
sectionLabel="Этапы работы"
|
||||
sectionTitle="Как мы оспариваем лишение"
|
||||
sectionDesc="Прозрачный процесс от консультации до отмены постановления"
|
||||
sectionTitle="Как мы анализируем протокол"
|
||||
sectionDesc="Прозрачный процесс от получения протокола до прекращения дела"
|
||||
/>
|
||||
<ServiceIncludes
|
||||
<ServiceIncludes
|
||||
includes={includesData}
|
||||
sectionLabel="Что входит"
|
||||
sectionTitle="Что входит в услугу"
|
||||
sectionDesc="Полный спектр работ по оспариванию вашего дела"
|
||||
sectionDesc="Полный спектр работ по анализу и защите"
|
||||
/>
|
||||
<AdvantagesList
|
||||
<AdvantagesList
|
||||
advantages={advantagesData}
|
||||
sectionLabel="Почему мы"
|
||||
sectionTitle="Преимущества работы с нами"
|
||||
sectionDesc="Доверьте оспаривание профессионалам с опытом в апелляциях"
|
||||
sectionDesc="Доверьте анализ протокола профессионалам с опытом"
|
||||
/>
|
||||
<PricingPlans
|
||||
<PricingPlans
|
||||
plans={plansData}
|
||||
sectionLabel="Стоимость"
|
||||
sectionTitle="Сколько стоит оспаривание"
|
||||
sectionTitle="Сколько стоит анализ протокола"
|
||||
sectionDesc="Прозрачные цены без скрытых платежей"
|
||||
/>
|
||||
<FaqList
|
||||
<FaqList
|
||||
faqs={faqsData}
|
||||
sectionLabel="Вопросы"
|
||||
sectionTitle="Частые вопросы"
|
||||
sectionDesc="Ответы на популярные вопросы об оспаривании лишения"
|
||||
sectionDesc="Ответы на популярные вопросы о защите при составленном протоколе"
|
||||
/>
|
||||
<CTA
|
||||
icon="consult"
|
||||
title="Отменим лишение прав"
|
||||
description="Позвоните или оставьте заявку. Бесплатный анализ постановления и оценка перспектив дела."
|
||||
btnText="Бесплатная консультация"
|
||||
title="Найдём ошибки в протоколе"
|
||||
description="Пришлите копию протокола. Бесплатный анализ и оценка перспектив дела."
|
||||
btnText="Бесплатный анализ протокола"
|
||||
/>
|
||||
</div>
|
||||
</Layout>
|
||||
|
|
|
|||
|
|
@ -14,26 +14,26 @@ import FaqList from '@components/services/FaqList.astro';
|
|||
---
|
||||
|
||||
<Layout
|
||||
title="Возврат прав при лишении — автоюрист в Сургуте"
|
||||
description="Профессиональная помощь в возврате водительских прав при лишении. Оспариваем лишение в суде, 98% успешных дел. Бесплатная консультация."
|
||||
title="Защита до составления протокола — автоюрист в Сургуте"
|
||||
description="Юридическая помощь водителям с момента остановки инспектором. Контроль законности действий, фиксация нарушений, проверка протокола. Бесплатная консультация."
|
||||
canonicalLink={`${SITE_URL}/services/license-return`}
|
||||
breadcrumbs={[
|
||||
{ label: 'Главная', href: '/' },
|
||||
{ label: 'Услуги', href: '/services' },
|
||||
{ label: 'Возврат прав при лишении' }
|
||||
{ label: 'Защита до составления протокола' }
|
||||
]}
|
||||
>
|
||||
<PageHero
|
||||
badgeText="ВОЗВРАТ ПРАВ"
|
||||
titleWhite="Вернём"
|
||||
titleGold="водительские права"
|
||||
description="Оспариваем лишение прав в суде. Работаем с любыми статьями КоАП. Бесплатная консультация и анализ перспектив дела."
|
||||
badgeText="ЗАЩИТА ВОДИТЕЛЕЙ"
|
||||
titleWhite="Защитим"
|
||||
titleGold="ваши права на дороге"
|
||||
description="Юридическая помощь с момента остановки инспектором. Контролируем законность действий, фиксируем процессуальные нарушения, проверяем правильность заполнения протокола. Бесплатная консультация."
|
||||
btnText="Бесплатная консультация"
|
||||
layout="with-image"
|
||||
sideImage="/images/services/office-table.avif"
|
||||
sideImageAlt="Юрист по возврату прав"
|
||||
sideImageAlt="Юрист по защите прав водителей"
|
||||
experienceBadge={{
|
||||
number: "98%",
|
||||
number: "95%",
|
||||
text: "УСПЕШНЫХ ДЕЛ"
|
||||
}}
|
||||
bgImage="/images/services/servicesBg.avif"
|
||||
|
|
@ -50,8 +50,8 @@ import FaqList from '@components/services/FaqList.astro';
|
|||
<FaqList />
|
||||
<CTA
|
||||
icon="consult"
|
||||
title="Вернём ваши права"
|
||||
description="Позвоните или оставьте заявку. Бесплатная консультация и анализ перспектив дела."
|
||||
title="Защитим ваши права на дороге"
|
||||
description="Позвоните или оставьте заявку. Бесплатная консультация и анализ ситуации."
|
||||
btnText="Бесплатная консультация"
|
||||
/>
|
||||
</div>
|
||||
|
|
|
|||
364
frontend/src/pages/services/osago.astro
Normal file
364
frontend/src/pages/services/osago.astro
Normal file
|
|
@ -0,0 +1,364 @@
|
|||
---
|
||||
import Layout from '@layouts/Layout.astro';
|
||||
import { SITE_URL, COMPANY } from '@constants';
|
||||
import PageHero from "@components/base/PageHero.astro";
|
||||
import CTA from "@components/base/CTA.astro";
|
||||
// Import child components with custom data
|
||||
import AboutTabs from '@components/services/AboutTabs.astro';
|
||||
import ArticlesList from '@components/services/ArticlesList.astro';
|
||||
import WorkSteps from '@components/services/WorkSteps.astro';
|
||||
import ServiceIncludes from '@components/services/ServiceIncludes.astro';
|
||||
import AdvantagesList from '@components/services/AdvantagesList.astro';
|
||||
import PricingPlans from '@components/services/PricingPlans.astro';
|
||||
import FaqList from '@components/services/FaqList.astro';
|
||||
|
||||
// Custom data for OSAGO disputes service
|
||||
const aboutTabsData = {
|
||||
problem: {
|
||||
title: "Страховая занижает выплату — это норма",
|
||||
description: "По статистике, <strong>до 70% страховых компаний</strong> занижают выплаты по ОСАГО. Они используют методы недооценки ущерба, <strong>отказывают в законных выплатах</strong> или навязывают невыгодные урегулирования без участия юриста.",
|
||||
description2: "Многие водители <strong>соглашаются с первой выплатой</strong>, не зная что могут получить <strong>полную сумму ущерба</strong>. Мы помогаем взыскать разницу между реальной стоимостью ремонта и тем, что предложила страховая.",
|
||||
items: [
|
||||
"Занижение суммы страхового возмещения",
|
||||
"Необоснованный отказ в выплате",
|
||||
"Навязывание невыгодного урегулирования"
|
||||
],
|
||||
visualNumber: "70%",
|
||||
visualLabel: "страховых занижают выплаты",
|
||||
visualNote: "При обращении к юристу — доплата в среднем 40-60%",
|
||||
barWidth: 70
|
||||
},
|
||||
approach: {
|
||||
title: "Борьба за полную выплату ущерба",
|
||||
description: "Мы проводим <strong>независимую экспертизу</strong> ущерба, сравниваем с расчётами страховой. Если выплата занижена — <strong>составляем претензию</strong> и подаём иск в суд. Работаем <strong>до полного получения</strong> справедливой суммы.",
|
||||
description2: "Наш опыт — это <strong>сотни выигранных дел</strong> против страховых компаний. Мы знаем их методы и используем <strong>законные рычаги</strong> для получения максимальной выплаты.",
|
||||
items: [
|
||||
{ icon: "📋", title: "Независимая экспертиза", desc: "Оцениваем реальный ущерб, а не по методике страховой" },
|
||||
{ icon: "⚖️", title: "Претензионная работа", desc: "Составляем мотивированную претензию в страховую" },
|
||||
{ icon: "📹", title: "Судебное представительство", desc: "Ведём дело в суде до полного взыскания" }
|
||||
],
|
||||
steps: ["Консультация", "Экспертиза", "Претензия", "Суд", "Полная выплата"]
|
||||
},
|
||||
stats: {
|
||||
bigStat: { number: 90, label: "Дел выиграно против страховых", barWidth: 90 },
|
||||
stats: [
|
||||
{ number: 500, label: "Клиентов получили доплату", suffix: "+" },
|
||||
{ number: 10, label: "Лет практики в страховых спорах", suffix: "" },
|
||||
{ number: 40, label: "Средняя доплата к выплате", suffix: "%" },
|
||||
{ number: 100, label: "Возврат при неудаче", suffix: "%" }
|
||||
]
|
||||
},
|
||||
guarantees: {
|
||||
title: "Работаем на результат",
|
||||
description: "Мы берёмся только за дела с <strong>реальными перспективами доплаты</strong>. После анализа ситуации честно скажем, <strong>сколько можно взыскать</strong> сверх выплаты страховой.",
|
||||
description2: "Работаем <strong>без предоплаты</strong> — оплата только после получения доплаты от страховой. Если не выиграем — <strong>вернём деньги</strong>.",
|
||||
items: [
|
||||
{ title: "Бесплатный анализ", desc: "Оцениваем перспективы доплаты на консультации" },
|
||||
{ title: "Оплата за результат", desc: "Платите только после получения доплаты" },
|
||||
{ title: "Договор", desc: "Фиксируем все условия юридически" },
|
||||
{ title: "Возврат средств", desc: "Если дело проиграно — деньги ваши" }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
const articlesData = [
|
||||
{ icon: "💰", title: "Занижение суммы выплаты", desc: "Страховая насчитала меньше реальной стоимости ремонта. Взыскиваем разницу.", chance: "Высокий шанс" },
|
||||
{ icon: "🚫", title: "Отказ в выплате", desc: "Страховая отказала без оснований. Оспариваем отказ и взыскиваем выплату.", chance: "Высокий шанс" },
|
||||
{ icon: "📋", title: "Неполный перечень повреждений", desc: "Страховая не учла все повреждения при оценке. Доказываем полный ущерб.", chance: "Высокий шанс" },
|
||||
{ icon: "⏰", title: "Нарушение сроков выплаты", desc: "Страховая нарушила сроки выплаты по договору. Взыскиваем неустойку.", chance: "Средний шанс" },
|
||||
{ icon: "🔍", title: "Неправильная методика расчёта", desc: "Страховая использовала неверную методику оценки ущерба.", chance: "Высокий шанс" },
|
||||
{ icon: "⚠️", title: "Другие споры", desc: "Работаем с любыми страховыми спорами по ОСАГО — анализируем каждую ситуацию.", chance: "Зависит от дела" }
|
||||
];
|
||||
|
||||
const stepsData = [
|
||||
{ number: "01", title: "Бесплатная консультация", desc: "Анализируем вашу ситуацию: сумму выплаты, отказ или занижение. Оцениваем перспективы." },
|
||||
{ number: "02", title: "Независимая экспертиза", desc: "Проводим независимую оценку ущерба. Сравниваем с расчётами страховой." },
|
||||
{ number: "03", title: "Претензия в страховую", desc: "Составляем мотивированную досудебную претензию с требованием доплаты." },
|
||||
{ number: "04", title: "Судебный процесс", desc: "Если страховая не удовлетворила претензию — подаём иск в суд." },
|
||||
{ number: "05", title: "Получение доплаты", desc: "После решения суда взыскиваем полную сумму ущерба плюс неустойку." }
|
||||
];
|
||||
|
||||
const includesData = [
|
||||
{ icon: "📄", title: "Анализ документов", desc: "Изучаем договор, выплату, отказ страховой" },
|
||||
{ icon: "🔍", title: "Независимая экспертиза", desc: "Оцениваем реальный ущерб от ДТП" },
|
||||
{ icon: "📝", title: "Досудебная претензия", desc: "Составляем мотивированную претензию в страховую" },
|
||||
{ icon: "👨⚖️", title: "Представительство в суде", desc: "Ведём дело в суде до полного взыскания" },
|
||||
{ icon: "📹", title: "Сбор доказательств", desc: "Собираем все материалы для подтверждения ущерба" },
|
||||
{ icon: "✅", title: "Результат", desc: "Полная выплата ущерба или возврат денег" }
|
||||
];
|
||||
|
||||
const advantagesData = [
|
||||
{ number: "01", title: "Специализация на ОСАГО", desc: "Мы фокусируемся на спорах по ОСАГО. Знаем все методы страховых и законы." },
|
||||
{ number: "02", title: "90% выигранных дел", desc: "Высокая статистика благодаря глубокому знанию практики судов." },
|
||||
{ number: "03", title: "Без предоплаты", desc: "Оплата только после получения доплаты от страховой. Мы уверены в результате." },
|
||||
{ number: "04", title: "Независимая экспертиза", desc: "Своя сеть экспертов для объективной оценки ущерба, а не по методике страховой." },
|
||||
{ number: "05", title: "Полное сопровождение", desc: "Вам не нужно ходить по судам. Мы делаем всё от экспертизы до взыскания." },
|
||||
{ number: "06", title: "Связь 24/7", desc: "Всегда на связи. Информируем о каждом шаге и отвечаем на вопросы." }
|
||||
];
|
||||
|
||||
const plansData = [
|
||||
{ badge: "Экспресс", title: "Анализ ситуации", price: "Бесплатно", features: ["Анализ документов", "Оценка перспектив", "Рекомендации", "Консультация по ОСАГО"], btnText: "Получить анализ", btnClass: "" },
|
||||
{ badge: "Стандарт", title: "Взыскание под ключ", price: "от 10 000 ₽", features: ["Всё из Экспресс", "Независимая экспертиза", "Претензия в страховую", "Представительство в суде"], btnText: "Начать взыскание", btnClass: "gold", popular: true },
|
||||
{ badge: "Премиум", title: "Сложные случаи", price: "от 20 000 ₽", features: ["Всё из Стандарта", "Дополнительные экспертизы", "Взыскание неустойки", "Приоритетная работа"], btnText: "Обсудить дело", btnClass: "" }
|
||||
];
|
||||
|
||||
const faqsData = [
|
||||
{ question: "Страховая занижает выплату — что делать?", answer: "Сразу <strong>обратитесь к юристу</strong> до подписания согласия с выплатой. Мы проведём независимую экспертизу и взыщем разницу." },
|
||||
{ question: "Сколько можно получить дополнительно?", answer: "В среднем наши клиенты получают <strong>на 40-60% больше</strong>, чем предложила страховая. Зависит от ситуации." },
|
||||
{ question: "Сколько времени занимает процесс?", answer: "Досудебная претензия — <strong>до 30 дней</strong>. Судебный процесс — <strong>от 1 до 3 месяцев</strong>. Зависит от сложности дела." },
|
||||
{ question: "Нужно ли моё присутствие в суде?", answer: "<strong>Нет</strong>, мы работаем по доверенности. Ваше присутствие не требуется — мы ведём дело полностью самостоятельно." },
|
||||
{ question: "Что если страховая отказала в выплате?", answer: "Мы <strong>оспорим отказ</strong> и добьёмся выплаты. В большинстве случаев отказы незаконны и успешно оспариваются." },
|
||||
{ question: "С чего начать?", answer: "<strong>Пришлите документы</strong> от страховой: выплату, отказ, расчёт. Мы проведём бесплатный анализ и скажем о перспективах." }
|
||||
];
|
||||
---
|
||||
|
||||
<Layout
|
||||
title="Споры по ОСАГО — автоюрист в Сургуте"
|
||||
description="Взыскание недоплаты страховых компаний по ОСАГО. Независимая экспертиза, претензии, суд. 90% успешных дел. Бесплатная консультация."
|
||||
canonicalLink={`${SITE_URL}/services/osago`}
|
||||
breadcrumbs={[
|
||||
{ label: 'Главная', href: '/' },
|
||||
{ label: 'Услуги', href: '/services' },
|
||||
{ label: 'Споры по ОСАГО' }
|
||||
]}
|
||||
>
|
||||
<PageHero
|
||||
badgeText="СПОРЫ ПО ОСАГО"
|
||||
titleWhite="Взыщем"
|
||||
titleGold="полную выплату"
|
||||
description="Взыскиваем недоплату страховых компаний по ОСАГО. Независимая экспертиза, досудебная претензия, судебное представительство. Бесплатная консультация."
|
||||
btnText="Бесплатная консультация"
|
||||
layout="with-image"
|
||||
sideImage="/images/services/office-table.avif"
|
||||
sideImageAlt="Юрист по спорам ОСАГО"
|
||||
experienceBadge={{
|
||||
number: "90%",
|
||||
text: "УСПЕШНЫХ ДЕЛ"
|
||||
}}
|
||||
bgImage="/images/services/servicesBg.avif"
|
||||
icon="shield"
|
||||
/>
|
||||
|
||||
<div class="service-detail-page">
|
||||
<AboutTabs
|
||||
tabsData={aboutTabsData}
|
||||
sectionLabel="Подробнее об услуге"
|
||||
sectionTitle="Всё о спорах по ОСАГО"
|
||||
sectionDesc="Полная информация о взыскании недоплаты и оспаривании отказов страховых компаний"
|
||||
/>
|
||||
<ArticlesList
|
||||
articles={articlesData}
|
||||
sectionLabel="Работаем с ситуациями"
|
||||
sectionTitle="Типичные страховые споры"
|
||||
sectionDesc="Взыскиваем полную выплату при любых нарушениях страховых"
|
||||
/>
|
||||
<WorkSteps
|
||||
steps={stepsData}
|
||||
sectionLabel="Этапы работы"
|
||||
sectionTitle="Как мы взыскиваем доплату"
|
||||
sectionDesc="Прозрачный процесс от консультации до получения полной выплаты"
|
||||
/>
|
||||
<ServiceIncludes
|
||||
includes={includesData}
|
||||
sectionLabel="Что входит"
|
||||
sectionTitle="Что входит в услугу"
|
||||
sectionDesc="Полный спектр работ по взысканию страховой выплаты"
|
||||
/>
|
||||
<AdvantagesList
|
||||
advantages={advantagesData}
|
||||
sectionLabel="Почему мы"
|
||||
sectionTitle="Преимущества работы с нами"
|
||||
sectionDesc="Доверьте спор со страховой профессионалам с опытом"
|
||||
/>
|
||||
<PricingPlans
|
||||
plans={plansData}
|
||||
sectionLabel="Стоимость"
|
||||
sectionTitle="Сколько стоит взыскание"
|
||||
sectionDesc="Прозрачные цены без скрытых платежей"
|
||||
/>
|
||||
<FaqList
|
||||
faqs={faqsData}
|
||||
sectionLabel="Вопросы"
|
||||
sectionTitle="Частые вопросы"
|
||||
sectionDesc="Ответы на популярные вопросы о спорах по ОСАГО"
|
||||
/>
|
||||
<CTA
|
||||
icon="consult"
|
||||
title="Взыщем полную выплату по ОСАГО"
|
||||
description="Пришлите документы от страховой. Бесплатный анализ ситуации и оценка перспектив дела."
|
||||
btnText="Бесплатная консультация"
|
||||
/>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
<style>
|
||||
.service-detail-page {
|
||||
font-family: 'Inter', system-ui, -apple-system, sans-serif;
|
||||
}
|
||||
|
||||
.site-container {
|
||||
max-width: var(--site-max-width, 1400px);
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 5rem 1.5rem;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
text-align: center;
|
||||
margin-bottom: 3.5rem;
|
||||
}
|
||||
|
||||
.section-label {
|
||||
display: inline-block;
|
||||
color: #eac26e;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
margin-bottom: 1rem;
|
||||
padding: 0.5rem 1rem;
|
||||
background: rgba(234, 194, 110, 0.1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.section-label.center {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.section-header h2 {
|
||||
color: #0a2540;
|
||||
font-size: clamp(1.75rem, 3.5vw, 2.5rem);
|
||||
font-weight: 800;
|
||||
margin: 0 0 1rem 0;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.section-desc {
|
||||
color: #64748b;
|
||||
font-size: 1.05rem;
|
||||
max-width: 650px;
|
||||
margin: 0 auto;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
section {
|
||||
padding: 3.5rem 1rem;
|
||||
}
|
||||
.section-header {
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
section {
|
||||
padding: 2.5rem 0.75rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script is:inline>
|
||||
// Анимации при скролле
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const observerOptions = {
|
||||
root: null,
|
||||
rootMargin: '0px 0px -50px 0px',
|
||||
threshold: 0.1
|
||||
};
|
||||
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const el = entry.target;
|
||||
const delay = parseInt(el.dataset.delay || '0');
|
||||
|
||||
setTimeout(() => {
|
||||
el.classList.add('is-visible');
|
||||
}, delay);
|
||||
|
||||
observer.unobserve(el);
|
||||
}
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
document.querySelectorAll('.animate-on-scroll').forEach((el) => {
|
||||
observer.observe(el);
|
||||
});
|
||||
|
||||
// Табы
|
||||
const tabButtons = document.querySelectorAll('.tab-btn');
|
||||
const tabPanels = document.querySelectorAll('.tab-panel');
|
||||
|
||||
tabButtons.forEach(btn => {
|
||||
btn.addEventListener('click', () => {
|
||||
const tabId = btn.dataset.tab;
|
||||
|
||||
// Убираем active со всех кнопок
|
||||
tabButtons.forEach(b => {
|
||||
b.classList.remove('active');
|
||||
b.setAttribute('aria-selected', 'false');
|
||||
});
|
||||
|
||||
// Убираем active со всех панелей
|
||||
tabPanels.forEach(panel => {
|
||||
panel.classList.remove('active');
|
||||
});
|
||||
|
||||
// Активируем нужный таб
|
||||
btn.classList.add('active');
|
||||
btn.setAttribute('aria-selected', 'true');
|
||||
|
||||
const targetPanel = document.getElementById(`tab-${tabId}`);
|
||||
if (targetPanel) {
|
||||
targetPanel.classList.add('active');
|
||||
|
||||
// Запускаем анимацию счётчиков если это таб статистики
|
||||
if (tabId === 'stats') {
|
||||
animateCounters(targetPanel);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Анимация счётчиков
|
||||
function animateCounters(panel) {
|
||||
const counters = panel.querySelectorAll('[data-count]');
|
||||
|
||||
counters.forEach(counter => {
|
||||
const target = parseInt(counter.dataset.count || '0');
|
||||
const suffix = counter.textContent?.replace(/[0-9]/g, '') || '';
|
||||
const duration = 1500;
|
||||
const startTime = performance.now();
|
||||
|
||||
const easeOutCubic = (t) => 1 - Math.pow(1 - t, 3);
|
||||
|
||||
const update = (currentTime) => {
|
||||
const elapsed = currentTime - startTime;
|
||||
const progress = Math.min(elapsed / duration, 1);
|
||||
const easedProgress = easeOutCubic(progress);
|
||||
const currentValue = Math.round(easedProgress * target);
|
||||
|
||||
counter.textContent = `${currentValue}${suffix}`;
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(update);
|
||||
}
|
||||
};
|
||||
|
||||
requestAnimationFrame(update);
|
||||
});
|
||||
|
||||
// Анимация полосок статистики
|
||||
const statBars = panel.querySelectorAll('[data-width]');
|
||||
statBars.forEach(bar => {
|
||||
const width = bar.dataset.width;
|
||||
setTimeout(() => {
|
||||
bar.style.width = `${width}%`;
|
||||
}, 200);
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
Loading…
Add table
Add a link
Reference in a new issue