astro_avtourist/frontend/src/pages/services/appeal.astro

358 lines
20 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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="Ответы на популярные вопросы об обжаловании судебных решений"
/>
</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>