diff --git a/index-v4.html b/index-v4.html index 57c2c63..68cf27e 100644 --- a/index-v4.html +++ b/index-v4.html @@ -1,1196 +1,1318 @@ - + - - - - - calls24 — Анализ звонков для любого бизнеса - - - - - - - - - - + /* Report: standalone income block */ + .report-income-block { + margin-top: 2rem; + } + .report-income-card { + background: linear-gradient( + 135deg, + rgba(34, 197, 94, 0.12), + rgba(34, 197, 94, 0.02) + ); + border: 1px solid rgba(34, 197, 94, 0.25); + border-radius: var(--radius-xl); + padding: 2rem; + text-align: center; + } + .report-income-label { + font-size: 0.8125rem; + color: var(--text-secondary); + text-transform: uppercase; + letter-spacing: 0.08em; + margin-bottom: 0.75rem; + } + .report-income-value { + font-size: 2.5rem; + font-weight: 800; + color: var(--accent-secondary); + letter-spacing: -0.03em; + margin-bottom: 0.5rem; + } + .report-income-note { + font-size: 0.875rem; + color: var(--text-secondary); + } + @media (max-width: 768px) { + .report-income-card { + padding: 1.5rem; + } + .report-income-value { + font-size: 2rem; + } + } + @media (max-width: 768px) { + .nav { + display: none; + } + .hero { + padding-top: 100px; + } + .section { + padding: 4rem 0; + } + .features-grid { + grid-template-columns: 1fr; + } + .numbers-grid { + grid-template-columns: repeat(2, 1fr); + } + .steps-grid { + grid-template-columns: 1fr; + } + .pricing-grid { + grid-template-columns: 1fr; + } + .footer-grid { + grid-template-columns: repeat(2, 1fr); + } + .report-metrics { + grid-template-columns: repeat(2, 1fr); + } + .employee-table-view { + display: none; + } + .employee-card-view { + display: flex; + } + .employee-card { + padding: 1.25rem; + } + .card-score-ring { + width: 100px; + height: 100px; + } + .card-score-value { + font-size: 1.5rem; + } + .card-metric { + padding: 0.5rem 0.25rem; + } + .card-metric-value { + font-size: 1rem; + } + .cookie-inner { + flex-direction: column; + text-align: center; + } + .dashboard-preview, + .report-preview { + border-radius: var(--radius-lg); + } + /* Report mobile */ + .report-header { + flex-direction: column; + gap: 1rem; + align-items: flex-start; + } + .report-tabs { + flex-wrap: wrap; + } + .report-call { + flex-direction: column; + align-items: flex-start; + } + .report-call-tags { + flex-direction: column; + width: 100%; + margin-top: 0.5rem; + } + .report-tag { + display: flex; + align-items: center; + gap: 0.375rem; + font-size: 0.75rem; + padding: 0.375rem 0.75rem; + } + /* Details mobile */ + .details-grid { + grid-template-columns: repeat(2, 1fr) !important; + gap: 0.75rem; + } + .detail-card { + padding: 0.875rem 1rem; + } + .detail-label { + font-size: 0.625rem; + } + .detail-value { + font-size: 0.8125rem; + word-break: break-word; + } + /* Mobile nav-cta compact */ + .nav-cta { + margin-left: 0; + } + .nav-cta .btn { + padding: 0.375rem 0.75rem; + font-size: 0.75rem; + border-radius: var(--radius-sm); + } + } - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ @media (max-width: 480px) { + .numbers-grid { + grid-template-columns: 1fr; + } + .footer-grid { + grid-template-columns: 1fr; + } + .details-grid { + grid-template-columns: 1fr !important; + } + } + + + + - - - - -
-
-
-
-
- - Автоматический анализ звонков за 24 часа -
- -

Узнайте, сколько денег теряет
ваш бизнес каждый месяц

- -

- 90% операторов не называют компанию, 85% не обсуждают бюджет. - Мы покажем где теряете клиентов — за 24 часа. -

- - - -
- Бесплатно для первого анализа - 152-ФЗ -
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
- -
-
-
-
-
90%
-
Агентов не называют
компанию
-
-
-
85%
-
Не обсуждают бюджет
сделки
-
-
-
80%
-
Не берут контакт
клиента
-
-
-
40%
-
Лидов теряется
на этапе звонка
-
-
-
-
+ + - -
-
-
- -

Всё, что нужно. Ничего лишнего.

-

Простой анализ звонков, который показывает конкретные ошибки и как их исправить. Для любого бизнеса.

-
- -
-
-
- - - - -
-

Анализ по скрипту

-

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

-
- -
-
- - - - -
-

Детальный отчёт

-

HTML-отчёт: что было хорошо, что плохо, конкретные фразы, рекомендации по скрипту.

-
- -
-
- - - -
-

За 24 часа

-

Отправьте 5–10 записей звонков — получите отчёт в течение суток. WAV, MP3, M4A.

-
- -
-
- - - - -
-

Анализ каждого звонка

-

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

-
- -
-
- - - - -
-

152-ФЗ

-

Обработка данных строго по закону. Ваши звонки и данные клиентов в безопасности.

-
- -
-
- - - -
-

Интеграция с CRM

-

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

-
-
-
-
+ +
+
+
+
+
+ + Автоматический анализ звонков за 24 часа +
- -
-
-
- -

Наглядный отчёт, который понимают все

-

Не таблицы Excel. Не распмытые заметки. Красивый HTML-отчёт с метриками, графиками и рекомендациями.

-
- -
-
-

- - Отчёт по звонкам* -

-
- - - -
-
-
- -
-
-
-
Всего звонков
-
87
-
↑ 8% vs прошлый месяц
-
-
-
Средний балл
-
6.3
-
↑ 1.1 vs прошлый месяц
-
-
-
Агентов
-
8
-
В работе
-
-
-
Сделки в работе
-
~32
-
↓ 35% потеряно
-
-
-
-

Ошибки по скрипту

-
- Не представились -
-
-
- 88% -
-
- Не назвали агентство -
-
-
- 82% -
-
- Не выяснили задачу -
-
-
- 75% -
-
- Не задали вопросы -
-
-
- 68% -
-
- Не уточнили бюджет -
-
-
- 70% -
-
-
-

Последние звонки

-
-
8.2
-
-
Смирнов А.Н. — 14:22
-
Длительность: 6 мин 45 сек · 18.06.2025
-
-
- Приветствие ✓ - Задача ✓ - Бюджет ✓ - Ипотека ✗ -
-
-
-
2.1
-
-
Орлов Д.С. — 13:08
-
Длительность: 1 мин 12 сек · 18.06.2025
-
-
- Приветствие ✗ - Задача ✗ - Контакт ✗ -
-
-
-
5.5
-
-
Белова Е.А. — 11:33
-
Длительность: 3 мин 48 сек · 17.06.2025
-
-
- Приветствие ✓ - Задача ✗ - Бюджет ✓ -
-
-
-
+

+ Узнайте, сколько денег теряет
ваш бизнес каждый месяц +

- - +
- -
- -
-
-
Потенциальный доп. доход
-
~1 800 000 ₽
-
при исправлении всех ошибок
+ +
+
+
+ +

Всё, что нужно. Ничего лишнего.

+

+ Умный анализ звонков, который показывает конкретные + ошибки и как их исправить. Для любого бизнеса. +

+
+ +
+
+
+ + + + +
+

Анализ по скрипту

+

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

+
+ +
+
+ + + + +
+

Детальный отчёт

+

+ HTML-отчёт: что было хорошо, что плохо, + конкретные фразы, рекомендации по скрипту. +

+
+ +
+
+ + + +
+

За 24 часа

+

+ Отправьте 5–10 записей звонков — получите отчёт + в течение суток. WAV, MP3, M4A. +

+
+ +
+
+ + + + +
+

Анализ каждого звонка

+

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

+
+ +
+
+ + + + +
+

152-ФЗ

+

+ Обработка данных строго по закону. Ваши звонки и + данные клиентов в безопасности. +

+
+ +
+
+ + + +
+

Интеграция с CRM

+

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

+
+
-
+ -
-

- * Отчёт основан на реальном анализе звонков для компании в сфере недвижимости. Название компании и имена изменены. -

+ +
+
+
+ +

Наглядный отчёт, который понимают все

+

+ Не таблицы Excel. Не распмытые заметки. Красивый + HTML-отчёт с метриками, графиками и рекомендациями. +

+
-
- -
+
+
+

+ + + + + + Отчёт по звонкам* +

+
+ + + +
+
+
+ +
+
+
+
+ Всего звонков +
+
+ 87 +
+
+ ↑ 8% vs прошлый месяц +
+
+
+
+ Средний балл +
+
+ 6.3 +
+
+ ↑ 1.1 vs прошлый месяц +
+
+
+
+ Агентов +
+
+ 8 +
+
+ В работе +
+
+
+
+ Сделки в работе +
+
+ ~32 +
+
+ ↓ 35% потеряно +
+
+
+
+

+ Ошибки по скрипту +

+
+ Не представились +
+
+
+ 88% +
+
+ Не назвали агентство +
+
+
+ 82% +
+
+ Не выяснили задачу +
+
+
+ 75% +
+
+ Не задали вопросы +
+
+
+ 68% +
+
+ Не уточнили бюджет +
+
+
+ 70% +
+
+
+

Последние звонки

+
+
+ 8.2 +
+
+
+ Смирнов А.Н. — 14:22 +
+
+ Длительность: 6 мин 45 сек · + 18.06.2025 +
+
+
+ Приветствие ✓ + Задача ✓ + Бюджет ✓ + Ипотека ✗ +
+
+
+
+ 2.1 +
+
+
+ Орлов Д.С. — 13:08 +
+
+ Длительность: 1 мин 12 сек · + 18.06.2025 +
+
+
+ Приветствие ✗ + Задача ✗ + Контакт ✗ +
+
+
+
+ 5.5 +
+
+
+ Белова Е.А. — 11:33 +
+
+ Длительность: 3 мин 48 сек · + 17.06.2025 +
+
+
+ Приветствие ✓ + Задача ✗ + Бюджет ✓ +
+
+
+
- + + + + + + + +
+
+
+ Потенциальный доп. доход +
+
+ ~1 800 000 ₽ +
+
+ при исправлении всех ошибок +
+
+
+
+

+ * Отчёт основан на реальном анализе звонков для + компании в сфере недвижимости. Название компании и + имена изменены.
+

+
+ + + +
-
@@ -2491,125 +3415,321 @@
-
СА
+
+ СА +
- Смирнов А.Н. -
Ведущий агент
+ Смирнов А.Н. +
+ Ведущий агент +
47
- 7.8 -
+ 7.8 +
+
+
- 92% -
+ 92% +
+
+
18.3% 4:12 - + + + +0.8
-
БЕ
+
+ БЕ +
- Белова Е.А. -
Агент
+ Белова Е.А. +
+ Агент +
38
- 5.4 -
+ 5.4 +
+
+
- 85% -
+ 85% +
+
+
12.1% 3:28 - + + + -0.3
-
ОД
+
+ ОД +
- Орлов Д.С. -
Агент
+ Орлов Д.С. +
+ Агент +
52
- 4.6 -
+ 4.6 +
+
+
- 68% -
+ 68% +
+
+
8.7% 2:45 - + + + +0.4
-
ОИ
+
+ ОИ +
- Орлова И.В. -
Младший оператор
+ Орлова И.В. +
+ Младший оператор +
33
- 5.8 -
+ 5.8 +
+
+
- 78% -
+ 78% +
+
+
10.5% 3:15 - + + + +1.2
-
КИ
+
+ КИ +
- Кузнецов И.А. -
Младший агент
+ Кузнецов И.А. +
+ Младший агент +
29
- 2.1 -
+ 2.1 +
+
+
- 33% -
+ 33% +
+
+
4.2% 1:47 - + + + -0.5
@@ -2621,37 +3741,100 @@
1
-
СА
+
+ СА +
- Смирнов А.Н. -
Ведущий агент
+ Смирнов А.Н. +
+ Ведущий агент +
- +0.8 + +0.8
- - + + - 7.8 + 7.8
- 47 - Звонки + 47 + Звонки
- 92% - Скрипт + 92% + Скрипт
- 18.3% - Конв. + 18.3% + Конв.
- + + + + + Не всегда берёт контакт
@@ -2659,37 +3842,100 @@
2
-
АП
+
+ АП +
- Белова Е.А. -
Агент
+ Белова Е.А. +
+ Агент +
- -0.3 + -0.3
- - + + - 5.4 + 5.4
- 38 - Звонки + 38 + Звонки
- 85% - Скрипт + 85% + Скрипт
- 12.1% - Конв. + 12.1% + Конв.
- + + + + + Редко обсуждает бюджет
@@ -2697,75 +3943,203 @@
3
-
ДК
+
+ ДК +
- Орлов Д.С. -
Агент
+ Орлов Д.С. +
+ Агент +
- +0.4 + +0.4
- - + + - 4.6 + 4.6
- 52 - Звонки + 52 + Звонки
- 68% - Скрипт + 68% + Скрипт
- 8.7% - Конв. + 8.7% + Конв.
- - Не задаёт уточняющие вопросы + + + + + + Не задаёт уточняющие вопросы
4
-
ЕС
+
+ ЕС +
- Орлова И.В. -
Младший оператор
+ Орлова И.В. +
+ Младший оператор +
- +1.2 + +1.2
- - + + - 5.8 + 5.8
- 33 - Звонки + 33 + Звонки
- 78% - Скрипт + 78% + Скрипт
- 10.5% - Конв. + 10.5% + Конв.
- + + + + + Долгие паузы в разговоре
@@ -2773,635 +4147,1011 @@
5
-
КИ
+
+ КИ +
- Кузнецов И.А. -
Младший агент
+ Кузнецов И.А. +
+ Младший агент +
- -0.5 + -0.5
- - + + - 2.1 + 2.1
- 29 - Звонки + 29 + Звонки
- 33% - Скрипт + 33% + Скрипт
- 4.2% - Конв. + 4.2% + Конв.
- - Долгие паузы в разговоре -
+ + + + + + Долгие паузы в разговоре -
-
-
5
-
-
ОД
-
- Орлов Д.С. -
Младший агент
-
-
- -0.5 -
-
- - - - - 2.1 -
-
-
- 33 - Звонки -
-
- 28% - Скрипт -
-
- 4.2% - Конв. -
-
-
- - Не представляет агентство -
+
+
+
+
5
+
+
+ ОД +
+
+ Орлов Д.С. +
+ Младший агент +
+
+
+ -0.5
+
+ + + + + 2.1
+
+
+ 33 + Звонки +
+
+ 28% + Скрипт +
+
+ 4.2% + Конв. +
+
+ + + + + + Не представляет агентство
-
-
+ + + + + + -
-
-
- -

Три простых шага

+
+
+
+ +

Три простых шага

+
+ +
+
+
1
+

Загружаете звонки

+

+ Отправьте 5–10 записей звонков в любом формате: + WAV, MP3, M4A +

+
+
+
2
+

Локальная ИИ анализирует

+

+ Наш ИИ проверяет по чек-листу: скрипт, тон, + ключевые фразы, ошибки +

+
+
+
3
+

Получаете отчёт

+

+ Детальный HTML-отчёт с метриками, графиками и + рекомендациями +

+
+
+
+
+ + +
+
+
+ +

Простые и прозрачные цены

+
+ +
+
+
Бесплатный аудит
+
+ Попробуйте без обязательств +
+
0 ₽
+
    +
  • До 20 звонков
  • +
  • Базовый отчёт
  • +
  • Общий балл по звонкам
  • +
+ Загрузить звонки +
+ +
+
+ Индивидуально +
+
Бизнес
+
+ Для компаний с высокими требованиями +
+
от 30 000 ₽
+
    +
  • Всё из тарифа «База»
  • +
  • + Интеграция с вашей CRM (Bitrix24, amoCRM, и + другие, даже самописные.) +
  • +
  • Доработка под задачи вашего бизнеса
  • +
  • Кастомные метрики и KPI
  • +
+ Обсудить проект +
+
+
+
+ + +
+
+

+ Каждый день без анализа звонков =
потерянные деньги + клиентов +

+

+ 90% операторов не называют компанию. 85% не обсуждают + бюджет. Загрузите 5–10 звонков — узнайте, сколько + потеряли и как исправить. +

+ +
+
+
+ + + + + + - -
-
-
1
-

Загружаете звонки

-

Отправьте 5–10 записей звонков в любом формате: WAV, MP3, M4A

-
-
-
2
-

Локальная ИИ анализирует

-

Наш ИИ проверяет по чек-листу: скрипт, тон, ключевые фразы, ошибки

-
-
-
3
-

Получаете отчёт

-

Детальный HTML-отчёт с метриками, графиками и рекомендациями

-
+ + +
+
+ +

Политика конфиденциальности

+ +

1. Общие положения

+

+ Настоящая Политика конфиденциальности действует в отношении + персональных данных пользователя, которые ИП Тарасов Н.О. + (далее — «Агент») может получить от пользователя во время + использования сайта calls24. +

+ +

2. Персональные данные

+

+ Агент собирает и хранит следующие персональные данные + пользователя: имя, адрес электронной почты, номер телефона, + записи телефонных разговоров. Все данные обрабатываются в + соответствии с Федеральным законом № 152-ФЗ «О персональных + данных». +

+ +

3. Цели обработки

+

+ Персональные данные используются исключительно для + предоставления услуг по анализу звонков, связи с клиентом, + улучшения качества сервиса. Агент не передаёт персональные + данные третьим лицам, кроме случаев, предусмотренных + законодательством РФ. +

+ +

4. Файлы cookie

+

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

+ +

5. Защита данных

+

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

+ +

6. Контактные данные

+

+ ИП Тарасов Н.О.
+ ИНН 164409454858
+ ОГРНИП 325046600060241
+ Telegram: + @n1kt4r
+ Телефон: + +7 (917) 777-60-86 +

+
-
- - -
-
-
- -

Простые и прозрачные цены

-
- -
-
-
Бесплатный аудит
-
Попробуйте без обязательств
-
0 ₽
-
    -
  • До 20 звонков
  • -
  • Базовый отчёт
  • -
  • Общий балл по звонкам
  • -
- Загрузить звонки -
- -
-
Индивидуально
-
Бизнес
-
Для компаний с высокими требованиями
-
от 30 000 ₽
-
    -
  • Всё из тарифа «База»
  • -
  • Интеграция с вашей CRM (Bitrix24, amoCRM, etc.)
  • -
  • Доработка под задачи вашего бизнеса
  • -
  • Кастомные метрики и KPI
  • -
  • Выделенный менеджер
  • -
  • Обучение команды
  • -
  • API-доступ
  • -
- Обсудить проект -
-
-
-
+ + + - -
-
-

Каждый день без анализа звонков =
потерянные деньги клиентов

-

- 90% операторов не называют компанию. 85% не обсуждают бюджет. - Загрузите 5–10 звонков — узнайте, сколько потеряли и как исправить. -

- -
-
-
- - - - - - - - -
-
- -

Политика конфиденциальности

- -

1. Общие положения

-

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

- -

2. Персональные данные

-

Агент собирает и хранит следующие персональные данные пользователя: имя, адрес электронной почты, номер телефона, записи телефонных разговоров. Все данные обрабатываются в соответствии с Федеральным законом № 152-ФЗ «О персональных данных».

- -

3. Цели обработки

-

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

- -

4. Файлы cookie

-

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

- -

5. Защита данных

-

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

- -

6. Контактные данные

-

ИП Тарасов Н.О.
- ИНН 164409454858
- ОГРНИП 325046600060241
- Telegram: @n1kt4r
- Телефон: +7 (917) 777-60-86

-
-
- - - - - - - - - + // ═══════════════════════════════════════════ + // COOKIE BANNER + // ═══════════════════════════════════════════ + const cookieBanner = document.getElementById("cookie-banner"); + const cookieAccept = document.getElementById("cookie-accept"); + const cookieDecline = document.getElementById("cookie-decline"); - - + if (!localStorage.getItem("cookie-consent")) { + setTimeout(() => cookieBanner.classList.add("visible"), 1000); + } + cookieAccept.addEventListener("click", () => { + localStorage.setItem("cookie-consent", "accepted"); + cookieBanner.classList.remove("visible"); + }); - + cookieDecline.addEventListener("click", () => { + localStorage.setItem("cookie-consent", "declined"); + cookieBanner.classList.remove("visible"); + }); + + // ═══════════════════════════════════════════ + // PRIVACY MODAL + // ═══════════════════════════════════════════ + const privacyOverlay = document.getElementById("privacy-overlay"); + const privacyClose = document.getElementById("privacy-close"); + + function openPrivacy() { + privacyOverlay.classList.add("active"); + document.body.style.overflow = "hidden"; + } + + function closePrivacy() { + privacyOverlay.classList.remove("active"); + document.body.style.overflow = ""; + } + + document + .getElementById("privacy-link") + .addEventListener("click", (e) => { + e.preventDefault(); + openPrivacy(); + }); + document + .getElementById("privacy-link-footer") + .addEventListener("click", (e) => { + e.preventDefault(); + openPrivacy(); + }); + document + .getElementById("privacy-cookie-link") + .addEventListener("click", (e) => { + e.preventDefault(); + openPrivacy(); + }); + privacyClose.addEventListener("click", closePrivacy); + privacyOverlay.addEventListener("click", (e) => { + if (e.target === privacyOverlay) closePrivacy(); + }); + + // ═══════════════════════════════════════════ + // GSAP ANIMATIONS + // ═══════════════════════════════════════════ + gsap.registerPlugin(ScrollTrigger); + + // Header entrance + gsap.from(".header-inner", { + y: -30, + opacity: 0, + duration: 0.8, + ease: "power3.out", + }); + + // Hero content + gsap.from(".badge", { + opacity: 0, + y: 20, + duration: 0.6, + delay: 0.2, + ease: "power2.out", + }); + + gsap.from(".hero h1", { + opacity: 0, + y: 40, + duration: 0.8, + delay: 0.3, + ease: "power3.out", + }); + + gsap.from(".hero-subtitle", { + opacity: 0, + y: 30, + duration: 0.6, + delay: 0.5, + ease: "power2.out", + }); + + gsap.from(".hero-buttons", { + opacity: 0, + y: 20, + duration: 0.5, + delay: 0.7, + ease: "power2.out", + }); + + gsap.from(".hero-trust", { + opacity: 0, + y: 20, + duration: 0.5, + delay: 0.85, + ease: "power2.out", + }); + + // Numbers strip + gsap.from(".numbers-strip", { + scrollTrigger: { + trigger: ".numbers-strip", + start: "top 80%", + }, + opacity: 0, + y: 30, + duration: 0.6, + ease: "power2.out", + }); + + gsap.utils.toArray(".number-item").forEach((item, i) => { + gsap.from(item, { + scrollTrigger: { + trigger: item, + start: "top 85%", + }, + opacity: 0, + y: 20, + duration: 0.5, + delay: i * 0.1, + ease: "power2.out", + }); + }); + + // Features + gsap.from(".section-header", { + scrollTrigger: { + trigger: ".section-header", + start: "top 80%", + }, + opacity: 0, + y: 30, + duration: 0.6, + ease: "power2.out", + }); + + gsap.utils.toArray(".feature-card").forEach((card, i) => { + gsap.from(card, { + scrollTrigger: { + trigger: card, + start: "top 85%", + }, + opacity: 0, + y: 30, + duration: 0.5, + delay: i * 0.08, + ease: "power2.out", + }); + }); + + // Report section + gsap.from(".report-preview", { + scrollTrigger: { + trigger: ".report-section", + start: "top 75%", + }, + opacity: 0, + y: 40, + duration: 0.8, + ease: "power3.out", + }); + + // Chart bars animation + gsap.utils.toArray(".chart-bar").forEach((bar) => { + const width = bar.style.width; + bar.style.width = "0%"; + gsap.to(bar, { + scrollTrigger: { + trigger: bar, + start: "top 90%", + }, + width: width, + duration: 1, + ease: "power3.out", + delay: 0.3, + }); + }); + + // Dashboard + gsap.from(".dashboard-preview", { + scrollTrigger: { + trigger: ".dashboard-section", + start: "top 75%", + }, + opacity: 0, + y: 40, + duration: 0.8, + ease: "power3.out", + }); + + gsap.utils + .toArray(".employee-row:not(.header), .employee-card") + .forEach((row, i) => { + gsap.from(row, { + scrollTrigger: { + trigger: row, + start: "top 85%", + }, + opacity: 0, + x: i % 2 === 0 ? -20 : 20, + duration: 0.2, + delay: i * 0.03, + ease: "power2.out", + }); + }); + + // Steps + gsap.utils.toArray(".step").forEach((step, i) => { + gsap.from(step, { + scrollTrigger: { + trigger: step, + start: "top 85%", + }, + opacity: 0, + y: 30, + duration: 0.5, + delay: i * 0.15, + ease: "power2.out", + }); + }); + + // Pricing (no animation) + + // CTA + gsap.from(".cta-section", { + scrollTrigger: { + trigger: ".cta-section", + start: "top 75%", + }, + opacity: 0, + y: 30, + duration: 0.6, + ease: "power2.out", + }); + + // ═══════════════════════════════════════════ + // PHYSICS-BASED INTERACTIONS + // ═══════════════════════════════════════════ + + // Button press effect + document.querySelectorAll(".btn").forEach((btn) => { + btn.addEventListener("mousedown", () => { + gsap.to(btn, { + scale: 0.97, + duration: 0.08, + ease: "power2.in", + onComplete: () => { + gsap.to(btn, { + scale: 1, + duration: 0.25, + ease: "elastic.out(1, 0.4)", + }); + }, + }); + }); + }); + + // Smooth scroll for anchor links + document.querySelectorAll('a[href^="#"]').forEach((link) => { + link.addEventListener("click", (e) => { + e.preventDefault(); + const target = document.querySelector( + link.getAttribute("href"), + ); + if (target) { + gsap.to(window, { + scrollTo: { y: target, offsetY: 80 }, + duration: 0.8, + ease: "power3.inOut", + }); + } + }); + }); + + + + + + + +