Анализ сайта redandnavy.com
Основное Готовность: 100%
Домен
redandnavy.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Домен второго уровня идеален для продвижения.
Отличный запоминающийся домен.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Цепочка редиректов:
http://redandnavy.com
301 MovedPermanently
https://raynmaker.ai/
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 04.10.2026 22:45:22.
Включён HSTS (Strict-Transport-Security) — защита от подмены на http.
HTTP автоматически перенаправляется на HTTPS.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
UTF-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице UTF-8.
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~0,53сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,53сек оптимальна.
Объем документа
108Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 108Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 3
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 3 достаточно.
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;1,9..144,400;1,9..144,500&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;1,8..60,400&family=Work+Sans:wght@400;500;600;700&display=swap | |
| stylesheet | https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/tabler-icons.min.css | |
| js | https://talk.platform.raynmaker.ai/embed.js |
Серверные заголовки
Кол-во: 10
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 10шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Accept-Ranges | bytes |
| Age | 29443 |
| Cache-Control | public, must-revalidate, max-age=0 |
| cache-status | "Netlify Edge"; hit; ttl=31506557 |
| Date | Sun, 23 Aug 2026 07:18:38 GMT |
| ETag | "5ca34c5a0abc696c405afe0069b9a650-ssl" |
| Server | Netlify |
| Strict-Transport-Security | max-age=31536000 |
| Vary | Accept-Encoding |
| x-nf-request-id | 01M0PQRN9C7WRMEWJ693HYRW8S |
CMS
Не определена
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
CMS не определена. Вероятно, сайт самописный либо движок надёжно скрыт. Это не ошибка.
Веб-сервер
Netlify
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
В заголовке Server указано: Netlify.
Мета-теги Готовность: 48%
Title
Raynmaker | Autonomous Selling
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение: 30, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Установите мета-тег description!
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Рекомендуем прописать канонический Url.
Robots
Ошибок нет
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots не указан. Страница свободна для индексации.
Адаптивность
width=device-width, initial-scale=1.0
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Кол-во: 2
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:title | Raynmaker | Answer every call. Qualify every lead. |
| og:type | website |
Все мета-теги
Кол-во: 5
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 5шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | twitter:card | summary_large_image |
| name | twitter:title | Raynmaker | Answer every call. Qualify every lead. |
| name | viewport | width=device-width, initial-scale=1.0 |
| property | og:title | Raynmaker | Answer every call. Qualify every lead. |
| property | og:type | website |
Оптимизация Готовность: 82%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в единственном экземпляре).
Контент
Ошибок нет
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 3 встречаются в тексте достаточно.
Абзацев с текстом 13 достаточно.
Среднее число слов в абзаце 24 достаточно.
Кол-во знаков контента 6928 на странице оптимально.
Кол-во слов 1113 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h2> 4. Это хорошо.
На странице присутствуют заголовки <h3> 4.
Тошнота
3,46
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 3. Измените текст страницы!
Академич. тошнота
17,07%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| caller | 12 | 1,08% |
| raynmaker | 11 | 0,99% |
| 978-555-0234 | 10 | 0,90% |
| answer | 9 | 0,81% |
| business | 8 | 0,72% |
| conversation | 6 | 0,54% |
| customers | 6 | 0,54% |
| performance | 5 | 0,45% |
| inbound | 4 | 0,36% |
| platform | 3 | 0,27% |
| portal | 3 | 0,27% |
| dashboard | 3 | 0,27% |
| interaction | 3 | 0,27% |
| settings | 3 | 0,27% |
| marcus@greenpinelawn | 3 | 0,27% |
| configuration | 3 | 0,27% |
| youthful | 3 | 0,27% |
| recordings | 3 | 0,27% |
| details | 3 | 0,27% |
| called | 3 | 0,27% |
Индексация Готовность: 30%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 31 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 111156 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Цепочка редиректов для файла robots.txt:
http://redandnavy.com/robots.txt
301 MovedPermanently
https://raynmaker.ai/
200 OK
Показать содержимое robots.txt
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TFT9FC3C');</script>
<!-- End Google Tag Manager -->
<meta charset="UTF-8">
<link rel="icon" type="image/svg+xml" href="/images/favicon.svg">
<meta property="og:title" content="Raynmaker | Answer every call. Qualify every lead.">
<meta property="og:type" content="website">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Raynmaker | Answer every call. Qualify every lead.">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="llms-txt" href="/llms.txt">
<title>Raynmaker | Autonomous Selling</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;1,9..144,400;1,9..144,500&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;1,8..60,400&family=Work+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@latest/tabler-icons.min.css">
<style>
/* ═══════════════════════════════════════════
TOKENS
═══════════════════════════════════════════ */
:root {
--lime: #D7FC70;
--denim: #3A5BA5;
--peri: #B3C7FA;
--ink: #12121f;
--ink-muted: #4e4e66;
--ink-dim: #8888a0;
--gray: #636368;
--border: rgba(58,91,165,0.16);
--gradient: linear-gradient(to right, transparent, rgba(58,91,165,0.6), #D7FC70, rgba(179,199,250,0.4), transparent);
--serif: 'Fraunces', Georgia, serif;
--body: 'Source Serif 4', Georgia, serif;
--sans: 'Work Sans', system-ui, sans-serif;
}
/* ═══════════════════════════════════════════
GLASS SYSTEM
Backdrop-filter works by blurring whatever
is behind the element. Colored blobs behind
glass panels = visible frosted-color effect.
═══════════════════════════════════════════ */
.glass {
background: rgba(255,255,255,0.62);
backdrop-filter: blur(22px) saturate(170%);
-webkit-backdrop-filter: blur(22px) saturate(170%);
border: 1px solid rgba(255,255,255,0.80);
box-shadow:
inset 0 1.5px 0 rgba(255,255,255,1),
inset 0 -1px 0 rgba(58,91,165,0.12),
0 2px 8px rgba(26,26,46,0.06),
0 8px 32px rgba(58,91,165,0.12),
0 28px 72px rgba(26,26,46,0.06);
}
.glass-sm {
background: rgba(255,255,255,0.70);
backdrop-filter: blur(16px) saturate(160%);
-webkit-backdrop-filter: blur(16px) saturate(160%);
border: 1px solid rgba(255,255,255,0.82);
box-shadow:
inset 0 1px 0 rgba(255,255,255,1),
inset 0 -1px 0 rgba(58,91,165,0.08),
0 2px 8px rgba(26,26,46,0.05),
0 6px 24px rgba(58,91,165,0.10),
0 18px 48px rgba(26,26,46,0.04);
}
/* ═══════════════════════════════════════════
RESET & BASE
═══════════════════════════════════════════ */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
::selection { background: var(--lime); color: var(--ink); }
html { scroll-behavior: smooth; font-size: 16px; }
body {
background: #fff;
color: var(--ink);
font-family: var(--body);
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
/* ═══════════════════════════════════════════
NAV — light override
═══════════════════════════════════════════ */
.site-nav {
background: rgba(255,255,255,0.75) !important;
backdrop-filter: blur(28px) saturate(180%) !important;
-webkit-backdrop-filter: blur(28px) saturate(180%) !important;
border-bottom: 1px solid rgba(255,255,255,0.85) !important;
box-shadow: 0 1px 0 rgba(58,91,165,0.10), 0 2px 16px rgba(26,26,46,0.06) !important;
}
.site-nav .nav-links a { color: var(--ink-muted) !important; font-size: 0.75rem !important; }
.site-nav .nav-links a:hover { color: var(--ink) !important; }
.site-nav .nav-links a.active { color: var(--denim) !important; }
.site-nav .nav-links a.active::after { background: var(--denim) !important; }
.site-nav .nav-links .nav-cta {
color: var(--ink) !important;
background: var(--lime) !important;
border-color: var(--lime) !important;
box-shadow: 0 2px 10px rgba(215,252,112,0.45) !important;
}
.site-nav .nav-logo-default { display: none !important; }
.site-nav .nav-logo-dark { display: block !important; }
.site-nav .nav-toggle span { background: var(--ink) !important; }
.site-nav .nav-links.show {
background: rgba(255,255,255,0.96) !important;
border-bottom: 1px solid var(--border) !important;
backdrop-filter: blur(28px) !important;
}
/* ═══════════════════════════════════════════
LAYOUT
═══════════════════════════════════════════ */
section { padding: 8rem 2.5rem; position: relative; overflow: hidden; }
.section-inner {
max-width: 1180px;
margin: 0 auto;
width: 100%;
position: relative;
z-index: 1;
}
.section-rule { border-top: 1px solid rgba(58,91,165,0.10); }
.gradient-strip { width: 100%; height: 2px; background: linear-gradient(to right, transparent, rgba(58,91,165,0.5), rgba(58,91,165,0.88), rgba(179,199,250,0.75), rgba(179,199,250,0.2), transparent); }
/* ═══════════════════════════════════════════
TYPOGRAPHY SYSTEM
Rule: headings weight 400-500 (readable but
still characterful with Fraunces); body
Source Serif 4 at 1.05rem+; Work Sans for
all UI labels at 0.75rem+ minimum.
═══════════════════════════════════════════ */
/* Headings */
h1, h2, h3 {
font-family: var(--serif);
font-variation-settings: 'WONK' 1, 'opsz' 144;
color: var(--ink);
letter-spacing: -0.02em;
line-height: 1.12;
}
.hero-h1 {
font-size: clamp(2.6rem, 4.6vw, 4.4rem);
font-weight: 500;
line-height: 1.35;
letter-spacing: -0.025em;
}
.section-h2 {
font-size: clamp(2.2rem, 4vw, 3.4rem);
font-weight: 400;
line-height: 1.35;
letter-spacing: -0.018em;
margin-bottom: 1.8rem;
}
.card-h3 {
font-size: 1.35rem;
font-weight: 400;
line-height: 1.25;
letter-spacing: -0.01em;
margin-bottom: 0.5rem;
}
/* Body copy */
.body-lg {
font-family: var(--body);
font-size: 1.15rem;
line-height: 1.78;
color: var(--ink-muted);
font-weight: 400;
}
.body-md {
font-family: var(--body);
font-size: 1.05rem;
line-height: 1.75;
color: var(--ink-muted);
font-weight: 400;
}
.body-sm {
font-family: var(--body);
font-size: 0.97rem;
line-height: 1.68;
color: var(--ink-muted);
}
/* UI labels — Work Sans, always at least 0.75rem */
.label {
font-family: var(--sans);
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.20em;
text-transform: uppercase;
color: var(--denim);
}
/* Lime highlighter: white bg required in same section.
white-space: nowrap ensures the highlighted phrase
always sits on a single line — no mid-highlight breaks.
box-decoration-break: clone ensures padding applies on
every line so the background never bleeds into the line above. */
.lime-hl {
background: var(--lime);
color: var(--ink);
padding: 0 0.3em 0.10em;
border-radius: 3px;
font-style: italic;
font-weight: 500;
display: inline;
white-space: nowrap;
box-shadow: inset 0 -2px 0 rgba(26,26,46,0.10);
}
/* Centered block */
.centered { text-align: center; max-width: 820px; margin: 0 auto; }
.centered .body-lg,
.centered .body-md { margin: 1.4rem auto 0; max-width: 620px; }
/* ═══════════════════════════════════════════
BUTTONS
═══════════════════════════════════════════ */
.btn-primary {
display: inline-block;
padding: 1.05rem 2.4rem;
background: var(--lime);
border: 1px solid var(--lime);
color: var(--ink);
font-family: var(--sans);
font-size: 0.80rem;
font-weight: 700;
letter-spacing: 0.18em;
text-transform: uppercase;
text-decoration: none;
border-radius: 4px;
transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
box-shadow: 0 2px 10px rgba(215,252,112,0.45), 0 1px 3px rgba(26,26,46,0.08);
}
.btn-primary:hover {
background: #cafc50;
transform: translateY(-2px);
box-shadow: 0 4px 20px rgba(215,252,112,0.60), 0 2px 6px rgba(26,26,46,0.10);
}
.btn-arrow {
display: inline-block;
font-size: 1.3em;
font-weight: 400;
letter-spacing: 0;
margin-left: 0.3em;
transform: translateY(0.05em);
transition: transform 0.25s;
}
.btn-primary:hover .btn-arrow {
transform: translateY(0.05em) translateX(4px);
}
.btn-secondary {
display: inline-block;
padding: 1.05rem 2.4rem;
background: transparent;
border: 1.5px solid var(--denim);
color: var(--denim);
font-family: var(--sans);
font-size: 0.80rem;
font-weight: 700;
letter-spacing: 0.18em;
text-transform: uppercase;
text-decoration: none;
border-radius: 4px;
transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
}
.btn-secondary:hover {
background: rgba(58,91,165,0.07);
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(58,91,165,0.12);
}
/* ═══════════════════════════════════════════
SCROLL REVEAL
═══════════════════════════════════════════ */
.reveal { opacity: 0; transform: translateY(32px); transition: opacity 0.9s ease-out, transform 0.9s ease-out; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.rd1 { transition-delay: 0.10s; }
.rd2 { transition-delay: 0.22s; }
.rd3 { transition-delay: 0.34s; }
.rd4 { transition-delay: 0.46s; }
/* ═══════════════════════════════════════════
HERO
White bg — lime-hl present.
Ambient blobs at 20-24% so backdrop-filter
on the widget visibly picks up color.
═══════════════════════════════════════════ */
.hero {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 10rem 2.5rem 8rem;
background: #ffffff;
}
.hero-split {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: center;
max-width: 1180px;
margin: 0 auto;
width: 100%;
}
.hero-content { max-width: 560px; position: relative; z-index: 1; text-align: left; }
.hero-widget-slot { position: relative; min-height: 660px; width: 100%; max-width: 420px; overflow: hidden; border-radius: 3px; }
.hero-h1 {
opacity: 0;
animation: rise 1.2s ease-out 0.3s forwards;
}
.hero-sub {
margin: 2.2rem 0 0;
max-width: 580px;
opacity: 0;
animation: rise 1s ease-out 0.7s forwards;
}
.hero-cta {
margin-top: 2.4rem;
display: flex;
gap: 1.1rem;
flex-wrap: wrap;
opacity: 0;
animation: rise 1s ease-out 1.1s forwards;
}
.hero-figures {
margin-top: 2.6rem;
padding-top: 1.6rem;
border-top: 1px solid rgba(58,91,165,0.15);
display: flex;
gap: 0;
flex-wrap: wrap;
opacity: 0;
animation: rise 1s ease-out 0.95s forwards;
}
.hero-figure {
padding: 0 2rem;
border-left: 1px solid rgba(58,91,165,0.15);
}
.hero-figure:first-child {
padding-left: 0;
border-left: none;
}
.hero-figure-num {
font-family: var(--serif);
font-size: 1.5rem;
font-weight: 600;
color: var(--denim);
line-height: 1.1;
}
.hero-figure-label {
margin-top: 0.3rem;
font-family: var(--sans);
font-size: 0.75rem;
font-weight: 500;
letter-spacing: 0.03em;
color: var(--ink-muted);
}
@media (max-width: 900px) {
.hero-split { grid-template-columns: 1fr; gap: 2.5rem; }
.hero-content { max-width: none; margin: 0 auto; text-align: center; }
.hero-sub { margin: 2.2rem auto 0; }
.hero-cta { justify-content: center; }
.hero-figures { justify-content: center; text-align: center; row-gap: 1.4rem; }
.hero-figure { border-left: none; padding: 0 1.1rem; }
.hero-widget-slot { min-height: 480px; max-width: 400px; margin: 0 auto; overflow: hidden; border-radius: 3px; }
}
.hero-trust {
margin-top: 1.2rem;
font-family: var(--sans);
font-size: 0.80rem;
font-weight: 500;
letter-spacing: 0.08em;
color: rgba(58,91,165,0.70);
opacity: 0;
animation: rise 1s ease-out 1.3s forwards;
}
@keyframes rise {
from { opacity: 0; transform: translateY(22px); }
to { opacity: 1; transform: translateY(0); }
}
/* ── Hero widget ──
Positioned over the colored blobs → the
backdrop-filter blurs lime+peri → obvious glass.
*/
.hero-widget {
margin: 4rem auto 0;
max-width: 640px;
border-radius: 6px;
padding: 2.4rem 2.4rem 2.2rem;
text-align: left;
opacity: 0;
animation: rise 1s ease-out 1.4s forwards;
position: relative;
}
.hero-widget-header {
display: flex;
align-items: baseline;
gap: 1.1rem;
padding-bottom: 1.6rem;
border-bottom: 1px solid rgba(58,91,165,0.12);
margin-bottom: 1.6rem;
}
.stat-num {
font-family: var(--serif);
font-size: clamp(2.2rem, 4.5vw, 3.2rem);
font-weight: 500;
font-variation-settings: 'WONK' 1, 'opsz' 144;
line-height: 1;
background: linear-gradient(135deg, var(--ink) 0%, var(--denim) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.stat-label {
font-family: var(--sans);
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.24em;
text-transform: uppercase;
color: var(--ink-muted);
line-height: 1.55;
}
.hero-chips {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.85rem;
}
.hero-chip {
padding: 1.2rem 1.4rem;
border-radius: 4px;
}
.hero-chip-legacy {
background: rgba(240,244,255,0.80);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(179,199,250,0.50);
box-shadow: inset 0 1px 0 rgba(255,255,255,0.9), 0 2px 10px rgba(58,91,165,0.07);
}
.hero-chip-rayn {
background: linear-gradient(145deg, rgba(230,255,100,0.85) 0%, rgba(215,252,112,0.90) 100%);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(215,252,112,0.65);
box-shadow: inset 0 1px 0 rgba(255,255,255,0.75), 0 4px 16px rgba(215,252,112,0.40);
}
.hero-chip-label {
font-family: var(--sans);
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.22em;
text-transform: uppercase;
display: block;
margin-bottom: 0.5rem;
}
.hero-chip-legacy .hero-chip-label { color: var(--denim); }
.hero-chip-rayn .hero-chip-label { color: rgba(26,26,46,0.60); }
.hero-chip-body {
font-family: var(--sans);
font-size: 1rem;
line-height: 1.45;
font-weight: 400;
}
.hero-chip-legacy .hero-chip-body { color: var(--ink-muted); }
.hero-chip-rayn .hero-chip-body { color: var(--ink); }
/* ═══════════════════════════════════════════
MEET ANSWER QUALIFY
White bg — lime-hl present.
Strong lime glow bottom-left feeds glass items.
═══════════════════════════════════════════ */
#answer-qualify {
background: #101828;
will-change: clip-path;
clip-path: inset(32px 120px 0 round 20px 20px 0 0);
}
/* Text overrides for dark surface */
#answer-qualify .aq-left-heading { color: #ededea; }
#answer-qualify .lime-hl { background: transparent; color: var(--lime); box-shadow: none; padding: 0; border-radius: 0; }
#answer-qualify .btn-secondary {
border-color: var(--lime);
color: var(--lime);
}
#answer-qualify .btn-secondary:hover {
background: rgba(215,252,112,0.08);
box-shadow: none;
}
.aq-header { text-align: center; max-width: 640px; margin: 0 auto 3.5rem; }
.aq-left-heading {
font-family: var(--serif);
font-size: clamp(2.4rem, 4.5vw, 3.8rem);
font-weight: 400;
line-height: 1.35;
letter-spacing: -0.022em;
font-variation-settings: 'WONK' 1, 'opsz' 144;
color: var(--ink);
margin-bottom: 0;
}
.aq-cta { margin-top: 2.6rem; display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; }
/* Product cards */
.aq-cards {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2rem;
}
.aq-card {
position: relative;
display: flex;
flex-direction: column;
background: rgba(237,237,234,0.05);
border: 1px solid rgba(58,91,165,0.22);
border-radius: 10px;
padding: 2.6rem 2.2rem;
}
.aq-card.featured {
border-color: var(--denim);
background: rgba(58,91,165,0.10);
}
.aq-card-badge {
position: absolute;
top: -14px;
left: 2.2rem;
background: var(--denim);
color: #ededea;
font-family: var(--sans);
font-size: 0.66rem;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
padding: 0.4rem 0.9rem;
border-radius: 4px;
}
.aq-card-label {
font-family: var(--sans);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.24em;
text-transform: uppercase;
color: rgba(237,237,234,0.45);
margin-bottom: 1.1rem;
}
.aq-card-price {
display: flex;
align-items: baseline;
gap: 0.5rem;
margin-bottom: 0.9rem;
}
.aq-price-amount {
font-family: var(--serif);
font-size: 2.6rem;
font-weight: 400;
color: #ededea;
font-variation-settings: 'WONK' 1, 'opsz' 144;
line-height: 1;
}
.aq-price-period {
font-family: var(--sans);
font-size: 0.85rem;
color: rgba(237,237,234,0.45);
}
.aq-card-tagline {
font-family: var(--sans);
font-size: 1.02rem;
font-weight: 600;
color: var(--lime);
margin-bottom: 1.3rem;
}
.aq-card-desc {
font-family: var(--sans);
font-size: 0.92rem;
line-height: 1.65;
color: rgba(237,237,234,0.65);
margin-bottom: 1.8rem;
}
.aq-card-features {
list-style: none;
padding: 0;
margin: 0 0 2rem;
border-top: 1px solid rgba(58,91,165,0.18);
flex: 1;
}
.aq-card-features li {
font-family: var(--sans);
font-size: 0.85rem;
line-height: 1.5;
color: rgba(237,237,234,0.80);
padding: 0.65rem 0;
border-bottom: 1px solid rgba(58,91,165,0.13);
display: flex;
gap: 0.6rem;
align-items: flex-start;
}
.aq-card-features li:last-child { border-bottom: none; }
.aq-card-features li::before {
content: '→';
color: var(--lime);
flex-shrink: 0;
}
@media (max-width: 800px) {
.aq-cards { grid-template-columns: 1fr; }
}
/* ═══════════════════════════════════════════════
ROI CALCULATOR — off-white bg, dark result card
═══════════════════════════════════════════════ */
#roi { background: #f3f5fb; }
.roi-header { max-width: 640px; }
.roi-header .body-md { margin: 1.2rem 0 0; text-align: left; }
.roi-card {
margin-top: 3rem;
display: grid;
grid-template-columns: 1fr 1fr;
border-radius: 10px;
overflow: hidden;
box-shadow:
0 2px 8px rgba(26,26,46,0.04),
0 8px 32px rgba(58,91,165,0.08),
0 24px 64px rgba(26,26,46,0.05);
}
.roi-inputs {
background: #ffffff;
padding: 2.8rem 2.6rem;
}
.roi-field + .roi-field { margin-top: 2.2rem; }
.roi-label {
display: block;
font-family: var(--sans);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--denim);
margin-bottom: 0.9rem;
}
.roi-input {
font-family: var(--serif);
font-size: 2rem;
font-weight: 500;
font-variation-settings: 'WONK' 1, 'opsz' 144;
border: none;
border-bottom: 1px solid var(--border);
width: 100%;
padding: 0 0 0.5rem;
background: transparent;
color: var(--ink);
}
.roi-input:focus { outline: none; border-bottom-color: var(--denim); }
.roi-input-wrap {
display: flex;
align-items: baseline;
gap: 0.35rem;
border-bottom: 1px solid var(--border);
}
.roi-input-wrap .roi-input { border-bottom: none; }
.roi-input-prefix {
font-family: var(--serif);
font-size: 1.6rem;
color: var(--ink-muted);
}
.roi-hint {
margin-top: 0.7rem;
font-family: var(--sans);
font-size: 0.82rem;
line-height: 1.5;
color: var(--ink-muted);
}
.roi-results {
background: #101828;
padding: 2.8rem 2.6rem;
}
.roi-result-label {
font-family: var(--sans);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
color: rgba(237,237,234,0.55);
margin-bottom: 0.8rem;
}
.roi-result-figure {
font-family: var(--serif);
font-size: clamp(2.2rem, 4vw, 3rem);
font-weight: 500;
font-variation-settings: 'WONK' 1, 'opsz' 144;
color: var(--lime);
line-height: 1;
}
.roi-result-note {
margin-top: 1.1rem;
font-family: var(--sans);
font-size: 0.92rem;
line-height: 1.6;
color: rgba(237,237,234,0.65);
}
.roi-breakdown {
margin-top: 1.8rem;
padding-top: 1.5rem;
border-top: 1px solid rgba(237,237,234,0.15);
display: flex;
flex-direction: column;
gap: 1rem;
}
.roi-breakdown-row {
display: flex;
justify-content: space-between;
gap: 1rem;
font-family: var(--sans);
font-size: 0.88rem;
color: rgba(237,237,234,0.70);
}
.roi-breakdown-row span:last-child { color: #ededea; font-weight: 600; }
@media (max-width: 800px) {
.roi-card { grid-template-columns: 1fr; }
.roi-inputs, .roi-results { padding: 2.2rem 1.8rem; }
}
/* ═══════════════════════════════════════════════
TRUST — dark bg, addresses objections
(visibility, natural voice, AI guardrails)
═══════════════════════════════════════════ */
#trust {
background: #101828;
will-change: clip-path;
clip-path: inset(32px 120px 0 round 20px 20px 0 0);
}
#trust .section-h2 { color: #ededea; }
#trust .body-md { color: rgba(237,237,234,0.65); }
#trust .lime-hl { background: transparent; color: var(--lime); box-shadow: none; padding: 0; border-radius: 0; }
.trust-step {
position: relative;
z-index: 2;
margin-top: 2.5rem;
padding-top: 2.5rem;
}
.trust-step:first-of-type { margin-top: 0; padding-top: 0; }
.trust-step-head { max-width: 640px; margin: 0 auto 2rem; text-align: center; }
.trust-step-heading {
display: flex;
align-items: center;
gap: 0.85rem;
margin-bottom: 0.9rem;
}
.trust-step-num {
font-family: var(--sans);
font-size: 0.85rem;
font-weight: 700;
color: var(--lime);
letter-spacing: 0.08em;
}
.trust-step-title {
font-family: var(--serif);
font-size: clamp(1.5rem, 3vw, 2rem);
font-weight: 400;
font-variation-settings: 'WONK' 1, 'opsz' 144;
color: #ededea;
margin: 0;
}
.trust-step-body {
font-family: var(--sans);
font-size: 0.97rem;
line-height: 1.65;
color: rgba(237,237,234,0.65);
}
.trust-step-split { display: flex; flex-direction: column; align-items: center; }
.trust-audio {
max-width: 460px;
width: 100%;
margin: 0 auto;
background: rgba(237,237,234,0.05);
border: 1px solid rgba(237,237,234,0.14);
border-radius: 10px;
padding: 1.8rem 2rem;
text-align: center;
}
.trust-audio audio { width: 100%; }
.trust-audio-label {
font-family: var(--sans);
font-size: 0.8rem;
color: rgba(237,237,234,0.55);
margin-top: 0.9rem;
}
.trust-audio-link {
display: inline-block;
margin-top: 0.9rem;
font-family: var(--sans);
font-size: 0.85rem;
font-weight: 600;
color: var(--lime);
text-decoration: none;
}
.trust-audio-link:hover { text-decoration: underline; }
.trust-build {
max-width: 720px;
width: 100%;
margin: 0 auto;
overflow: hidden;
}
.trust-build-grid,
.trust-split-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 3rem;
align-items: center;
max-width: 1100px;
margin: 0 auto;
text-align: left;
}
.trust-build-grid .trust-build {
grid-template-columns: 1fr;
max-width: none;
margin: 0;
}
.trust-portal-grid {
grid-template-columns: minmax(260px, 1fr) minmax(600px, 1.8fr);
}
.trust-build-grid.trust-portal-grid .trust-build {
max-width: none;
margin: 0;
}
.trust-split-grid .trust-audio,
.trust-split-grid .trust-guardrail { max-width: 720px; margin: 0 auto; }
@media (max-width: 800px) {
.trust-build-grid,
.trust-split-grid { grid-template-columns: minmax(0, 1fr); text-align: center; }
.trust-step-heading { justify-content: center; }
}
.trust-guardrail {
max-width: 560px;
width: 100%;
margin: 0 auto;
background: rgba(237,237,234,0.05);
border-left: 3px solid var(--lime);
border-radius: 0 10px 10px 0;
padding: 1.8rem 2rem;
text-align: left;
}
@media (max-width: 640px) {
.trust-step { padding-top: 2rem; margin-top: 2rem; }
.trust-audio, .trust-guardrail { padding: 1.4rem 1.5rem; }
}
/* ═══════════════════════════════════════════════
CAPABILITIES CARDS — reused by the benefit-cascade section
═══════════════════════════════════════════ */
.cap-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
margin-top: 4rem;
}
.cap-card {
background: #f3f5fb;
border: 1px solid var(--border);
border-radius: 6px;
padding: 2.4rem 2.2rem;
position: relative;
overflow: hidden;
transition: transform 0.35s, box-shadow 0.35s;
}
.cap-card:hover {
transform: translateY(-6px);
box-shadow: 0 2px 8px rgba(26,26,46,0.04), 0 16px 40px rgba(58,91,165,0.10);
}
/* Lime top accent strip */
.cap-card::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0; height: 3px;
background: linear-gradient(to right, var(--lime), rgba(215,252,112,0.35));
opacity: 0;
transition: opacity 0.3s;
}
.cap-card:hover::before { opacity: 1; }
/* Ghost number watermark */
.cap-num {
position: absolute;
top: 1.2rem; right: 1.6rem;
font-family: var(--serif);
font-size: 4.5rem;
font-weight: 500;
font-variation-settings: 'WONK' 1, 'opsz' 144;
color: rgba(58,91,165,0.07);
line-height: 1;
pointer-events: none;
user-select: none;
}
.cap-label {
font-family: var(--sans);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.26em;
text-transform: uppercase;
color: var(--denim);
margin-bottom: 1.4rem;
display: block;
position: relative;
z-index: 1;
}
.cap-list {
list-style: none;
padding: 0;
display: flex;
flex-direction: column;
gap: 0.8rem;
position: relative;
z-index: 1;
}
.cap-list li {
font-family: var(--sans);
font-size: 0.97rem;
font-weight: 400;
line-height: 1.62;
color: var(--ink-muted);
display: flex;
align-items: baseline;
gap: 0.7rem;
}
.cap-list li::before {
content: '·';
color: var(--denim);
font-size: 1.4rem;
line-height: 0.75;
flex-shrink: 0;
font-weight: 700;
}
@media (max-width: 960px) { .cap-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px) { .cap-grid { grid-template-columns: 1fr; } }
#cascade {
background: #ffffff;
}
/* ═══════════════════════════════════════════
TESTIMONIAL
═══════════════════════════════════════════ */
#testimonial { background: #ffffff; padding: 4.5rem 2.5rem; }
.pull-quote-wrap {
max-width: 860px;
margin: 0 auto;
padding-left: 2.5rem;
border-left: 3px solid var(--denim);
}
.pull-quote-text {
font-family: var(--body);
font-size: clamp(1.05rem, 1.8vw, 1.25rem);
font-style: italic;
font-weight: 400;
line-height: 1.8;
color: var(--ink);
margin: 0 0 1.6rem;
}
.pull-quote-attr {
font-family: var(--sans);
font-size: 0.78rem;
font-weight: 600;
letter-spacing: 0.09em;
text-transform: uppercase;
color: var(--gray);
display: flex;
align-items: center;
gap: 0.7rem;
flex-wrap: wrap;
}
.pull-quote-divider { color: rgba(58,91,165,0.35); font-weight: 300; }
/* ═══════════════════════════════════════════
CLOSING — clean white, no drama needed.
The behavior section handles the big moment.
═══════════════════════════════════════════ */
/* ═══════════════════════════════════════════
TRUSTED TICKER
═══════════════════════════════════════════ */
#trusted {
background: #ffffff;
padding: 3.5rem 0;
overflow: hidden;
}
.trusted-label {
text-align: center;
font-family: var(--sans);
font-size: 0.72rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--gray);
margin-bottom: 2rem;
}
.ticker-wrap {
overflow: hidden;
-webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
}
.ticker-track {
display: flex;
align-items: center;
gap: 4rem;
width: max-content;
animation: ticker-scroll 30s linear infinite;
}
.ticker-logo {
height: 28px;
width: auto;
flex-shrink: 0;
object-fit: contain;
opacity: 0.50;
transition: opacity 0.3s;
}
.ticker-logo:hover {
opacity: 1;
}
@keyframes ticker-scroll {
from { transform: translateX(0); }
to { transform: translateX(-50%); }
}
#closing {
padding: 9rem 2.5rem;
background: #ffffff;
}
.closing-h2 {
font-family: var(--serif);
font-size: clamp(2.2rem, 4.2vw, 3.6rem);
font-weight: 400;
line-height: 1.35;
letter-spacing: -0.020em;
font-variation-settings: 'WONK' 1, 'opsz' 144;
color: var(--ink);
margin-bottom: 1.6rem;
}
.closing-body {
font-family: var(--sans);
font-size: 1.05rem;
font-weight: 400;
line-height: 1.72;
color: var(--ink-muted);
max-width: 540px;
margin: 0 auto 2.8rem;
}
/* ═══════════════════════════════════════════
FOOTER OVERRIDE
═══════════════════════════════════════════ */
.site-footer {
background: #0e0e1a !important;
border-top: 1px solid rgba(58,91,165,0.22) !important;
}
/* ═══════════════════════════════════════════
RESPONSIVE
═══════════════════════════════════════════ */
@media (max-width: 768px) {
section { padding: 5rem 1.5rem; }
#closing { padding: 5.5rem 1.5rem; }
.hero { padding: 7.5rem 1.5rem 5rem; }
.hero-chips { grid-template-columns: 1fr; }
.hero-widget { padding: 1.8rem 1.6rem; }
.aq-layout { grid-template-columns: 1fr; gap: 3rem; }
.hero-voice-btn { display: none; }
}
@media (max-width: 580px) {
/* Tighter section padding */
section { padding: 3.5rem 1.25rem; }
#closing { padding: 4rem 1.25rem; }
#testimonial { padding: 3rem 1.25rem; }
.hero { padding: 6rem 1.25rem 3.5rem; }
/* Hero h1 — reduce clamp minimum for small screens */
.hero-h1 { font-size: clamp(2.2rem, 7vw, 3rem); }
/* Hero CTAs — stay side by side */
.hero-cta { gap: 0.75rem; }
.btn-primary, .btn-secondary {
text-align: center;
width: 100%;
}
.hero-cta .btn-primary, .hero-cta .btn-secondary {
width: auto;
flex: 1 1 auto;
}
/* AQ section heading over canvas — reduce clamp min */
.aq-left-heading { font-size: clamp(1.8rem, 5vw, 2.4rem); }
/* Pull quote — reduce left indent */
.pull-quote-wrap {
padding-left: 1.2rem;
border-left-width: 2px;
}
/* Section headings */
.section-h2 { font-size: clamp(1.8rem, 5.5vw, 2.4rem); }
.closing-h2 { font-size: clamp(1.8rem, 5.5vw, 2.6rem); }
/* Cap cards */
.cap-card { padding: 1.6rem 1.4rem; }
}
</style>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://raynmaker.ai/#organization",
"name": "Raynmaker",
"legalName": "Raynmaker Inc.",
"url": "https://raynmaker.ai",
"description": "AI-native autonomous selling platform for SMBs.",
"email": "hello@raynmaker.ai",
"knowsAbout": ["Voice AI", "Autonomous Sales", "SMB Technology"],
"sameAs": [
"https://www.linkedin.com/company/raynmaker/",
"https://www.youtube.com/@raynmakerai"
]
}
</script>
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TFT9FC3C"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<style>
.site-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 3rem;height:60px;display:flex;justify-content:space-between;align-items:center;background:rgba(10,10,15,0.90);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,0.08);}
.nav-logo{display:flex;align-items:center;text-decoration:none;}
.nav-logo img,.nav-logo svg{height:22px;width:auto;}
.site-nav .nav-links{display:flex;gap:2rem;list-style:none;align-items:center;margin:0;padding:0;}
.site-nav .nav-links a{font-family:'Work Sans',system-ui,sans-serif;font-size:0.72rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.5);text-decoration:none;transition:color 0.3s;padding:0.3rem 0;}
.site-nav .nav-links a:hover{color:#fff;}
.site-nav .nav-links a.active{color:#D7FC70;position:relative;}
.site-nav .nav-links a.active::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,rgba(58,91,165,0.6),#D7FC70,rgba(179,199,250,0.4),transparent);}
.site-nav .nav-links .nav-cta{color:#0a0a0f!important;background:rgba(215,252,112,0.90);border:1px solid rgba(215,252,112,0.90);padding:0.45rem 1.1rem;border-radius:3px;font-weight:600;letter-spacing:0.1em;transition:background 0.3s,border-color 0.3s;}
.site-nav .nav-links .nav-cta:hover{background:#D7FC70;border-color:#D7FC70;}
.site-nav .nav-links .nav-cta.active::after{display:none;}
.site-nav .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;flex-direction:column;gap:5px;}
.site-nav .nav-toggle span{display:block;width:22px;height:1.5px;background:#fff;}
@media(max-width:768px){
.site-nav{padding:0 1.5rem;}
.site-nav .nav-links{display:none;}
.site-nav .nav-links.show{display:flex;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:rgba(10,10,15,0.95);backdrop-filter:blur(20px);padding:1.5rem;gap:1rem;border-bottom:1px solid rgba(255,255,255,0.08);}
.site-nav .nav-toggle{display:flex;}
}
</style>
<nav class="site-nav">
<a href="/" class="nav-logo">
<img src="/logos/logo-wordmark.svg" alt="Raynmaker" class="nav-logo-img nav-logo-default">
<img src="/logos/logo-wordmark-dark.svg" alt="Raynmaker" class="nav-logo-img nav-logo-dark" aria-hidden="true" style="display:none">
</a>
<ul class="nav-links" id="navLinks">
<li><a class="active" href="/">Home</a></li>
<li><a href="/how-it-works">How It Works</a></li>
<li><a href="/platform">Platform</a></li>
<li><a href="/solutions">Solutions</a></li>
<li><a href="/about">About</a></li>
<li><a href="/experience-it" class="nav-cta">Experience It</a></li>
</ul>
<button class="nav-toggle" aria-label="Menu" onclick="document.getElementById('navLinks').classList.toggle('show')">
<span></span><span></span>
</button>
</nav>
<script>
(function(){
var p = (window.location.pathname || '/').replace(/\/+$/, '') || '/';
document.querySelectorAll('.site-nav .nav-links a').forEach(function(a){
var h = (a.getAttribute('href') || '').replace(/\/+$/, '') || '/';
var on = h === '/' ? p === '/' : (p === h || p.indexOf(h + '/') === 0);
if (on) a.classList.add('active');
});
})();
</script>
<!-- ═══════════════════════════════════════════════
HERO — white bg, lime-hl present
══════════════════════════════════════════════════ -->
<section class="hero">
<div class="hero-split">
<div class="hero-content">
<h1 class="hero-h1">The best voice AI sales conversation<br><span class="lime-hl">for your business.</span></h1>
<p class="hero-sub body-lg">24/7 services used to have a call center price tag. Not anymore. Raynmaker's voice AI answers every call, qualifies every lead, and helps you close more. Let our voice AI answer your phone, while you take care of business.</p>
<div class="hero-figures">
<div class="hero-figure">
<div class="hero-figure-num">100%</div>
<div class="hero-figure-label">Answer Rate</div>
</div>
<div class="hero-figure">
<div class="hero-figure-num">$100</div>
<div class="hero-figure-label">Starting Price/Mo</div>
</div>
<div class="hero-figure">
<div class="hero-figure-num">48 Hours</div>
<div class="hero-figure-label">Signup to Launch</div>
</div>
</div>
<div class="hero-cta">
<a href="https://calendly.com/d/ds7b-8b9-5m3/raynmaker-platform-overview-site-demo" target="_blank" class="btn-secondary">Talk to Sales</a>
<button type="button" class="btn-primary hero-voice-btn">Try our voice AI agent <span class="btn-arrow">→</span></button>
</div>
</div>
<div class="hero-widget-slot" id="hero-widget-slot"></div>
</div>
</section>
<div class="gradient-strip" aria-hidden="true"></div>
<!-- ═══════════════════════════════════════════════
TRUSTED TICKER
══════════════════════════════════════════════════ -->
<section id="trusted" aria-label="Trusted by top companies and franchises">
<p class="trusted-label">Trusted by top companies and franchises</p>
<div class="ticker-wrap">
<div class="ticker-track">
<!-- Set A -->
<img class="ticker-logo" src="/logos/castlerocklawn-logo.png" alt="Castle Rock Lawn Care">
<img class="ticker-logo" src="/logos/castlerockpest-logo.png" alt="Castle Rock Pest Control">
<img class="ticker-logo" src="/logos/decisionresources-logo.png" alt="Decision Resources">
<img class="ticker-logo" src="/logos/fishwindowcleaning-logo.png" alt="Fish Window Cleaning">
<img class="ticker-logo" src="/logos/freedomfun-logo.png" alt="Freedom Fun">
<img class="ticker-logo" src="/logos/grassrootsturf-logo.png" alt="Grassroots Turf">
<img class="ticker-logo" src="/logos/homehelpers-logo.png" alt="Home Helpers">
<img class="ticker-logo" src="/logos/merrymaids-logo.png" alt="Merry Maids">
<img class="ticker-logo" src="/logos/mosquitojoe-logo.png" alt="Mosquito Joe">
<img class="ticker-logo" src="/logos/signalsecurity-logo.png" alt="Signal Security">
<img class="ticker-logo" src="/logos/sunlarusenergy-logo.png" alt="Sunlarus Energy">
<img class="ticker-logo" src="/logos/xceleran-logo.png" alt="Xceleran">
<!-- Set B (duplicate for seamless loop) -->
<img class="ticker-logo" src="/logos/castlerocklawn-logo.png" alt="Castle Rock Lawn Care">
<img class="ticker-logo" src="/logos/castlerockpest-logo.png" alt="Castle Rock Pest Control">
<img class="ticker-logo" src="/logos/decisionresources-logo.png" alt="Decision Resources">
<img class="ticker-logo" src="/logos/fishwindowcleaning-logo.png" alt="Fish Window Cleaning">
<img class="ticker-logo" src="/logos/freedomfun-logo.png" alt="Freedom Fun">
<img class="ticker-logo" src="/logos/grassrootsturf-logo.png" alt="Grassroots Turf">
<img class="ticker-logo" src="/logos/homehelpers-logo.png" alt="Home Helpers">
<img class="ticker-logo" src="/logos/merrymaids-logo.png" alt="Merry Maids">
<img class="ticker-logo" src="/logos/mosquitojoe-logo.png" alt="Mosquito Joe">
<img class="ticker-logo" src="/logos/signalsecurity-logo.png" alt="Signal Security">
<img class="ticker-logo" src="/logos/sunlarusenergy-logo.png" alt="Sunlarus Energy">
<img class="ticker-logo" src="/logos/xceleran-logo.png" alt="Xceleran">
</div>
</div>
</section>
<!-- ═══════════════════════════════════════════════
TESTIMONIAL — Tony Hockemeyer
══════════════════════════════════════════════════ -->
<section id="testimonial">
<div class="section-inner">
<div class="pull-quote-wrap reveal">
<p class="pull-quote-text">"One of our main challenges was miscommunication when customers left voicemails after hours. Raynmaker gave us a much more responsive and professional way to handle those situations. Raynmaker gives us the ability to communicate with our customers when we can't answer the phone — it's been a great addition to our operation."</p>
<div class="pull-quote-attr">
<span>Tony Hockemeyer</span>
<span class="pull-quote-divider">|</span>
<span>Managing Partner, Castle Rock Lawn and Sprinkler</span>
</div>
</div>
</div>
</section>
<!-- ═══════════════════════════════════════════════
TRUST — dark bg, addresses objections
══════════════════════════════════════════════════ -->
<section id="trust" class="section-rule">
<div class="section-inner">
<div>
<div class="trust-step trust-step-build reveal rd1">
<div class="trust-build-grid trust-portal-grid">
<div class="trust-build-text">
<div class="trust-step-heading">
<span class="trust-step-num">01.</span>
<h3 class="trust-step-title">Customize</h3>
</div>
<p class="trust-step-body">You control the voice, the personality, company knowledge, and human escalation rules— not a vendor default.</p>
</div>
<div class="trust-build">
<div id="iset-widget" style="width:600px;height:600px;border-radius:12px;overflow:hidden;position:relative;display:flex;font-family:system-ui,sans-serif;font-size:13px;color:#e0e0e0;background:#0d0d0d;box-shadow:0 8px 48px rgba(0,0,0,0.22);margin:0 auto;">
<div style="width:170px;flex-shrink:0;background:#111;border-right:1px solid #2a2a2a;display:flex;flex-direction:column;">
<div style="padding:14px;border-bottom:1px solid #2a2a2a;">
<div style="color:#D7FC70;font-weight:700;letter-spacing:0.12em;font-size:11px;">RAYNMAKER</div>
<div style="color:#888;font-size:9px;margin-top:1px;letter-spacing:0.05em;">PORTAL</div>
</div>
<nav style="padding:6px 0;flex:1;">
<div style="display:flex;align-items:center;gap:7px;padding:8px 14px;color:#bbb;font-size:11px;line-height:1.25;"><i class="ti ti-chart-line" style="font-size:13px;flex-shrink:0;"></i><span>Performance Dashboard</span></div>
<div style="display:flex;align-items:center;gap:7px;padding:8px 14px;color:#bbb;font-size:11px;line-height:1.25;"><i class="ti ti-messages" style="font-size:13px;flex-shrink:0;"></i><span>Interaction Log</span></div>
<div style="display:flex;align-items:center;gap:7px;padding:8px 14px;color:#D7FC70;background:rgba(215,252,112,0.08);font-size:11px;line-height:1.25;"><i class="ti ti-settings" style="font-size:13px;flex-shrink:0;"></i><span>Settings</span></div>
<div style="display:flex;align-items:center;gap:7px;padding:8px 14px;color:#bbb;font-size:11px;line-height:1.25;"><i class="ti ti-file-description" style="font-size:13px;flex-shrink:0;"></i><span>Audit Log</span></div>
</nav>
<div style="padding:10px 14px;border-top:1px solid #2a2a2a;">
<div style="background:#D7FC70;border-radius:3px;padding:4px 7px;font-size:8px;font-weight:700;color:#000;letter-spacing:0.06em;text-align:center;">GREEN PINE LAWN CARE</div>
<div style="color:#999;font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">marcus@greenpinelawn.com</div>
</div>
</div>
<div style="flex:1;position:relative;overflow:hidden;padding:20px 22px;">
<div style="font-size:16px;font-weight:600;color:#fff;margin:0 0 2px;">Settings</div>
<div style="color:#aaa;font-size:10px;margin:0 0 14px;">Manage your tenant configuration</div>
<div style="background:#161616;border:1px solid #252525;border-radius:5px;padding:14px;margin-bottom:12px;">
<div style="color:#D7FC70;font-size:8px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:10px;">Business Information</div>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:8px;">
<div id="iset-field-name" style="border:1px solid transparent;border-radius:4px;padding:5px 7px;margin:-5px -7px;transition:border-color 0.2s;"><div style="color:#aaa;font-size:8px;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:3px;">Owner Name</div><div style="color:#fff;font-size:12px;">Marcus Webb</div></div>
<div id="iset-field-email" style="border:1px solid transparent;border-radius:4px;padding:5px 7px;margin:-5px -7px;transition:border-color 0.2s;"><div style="color:#aaa;font-size:8px;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:3px;">Owner Email</div><div style="color:#fff;font-size:12px;">marcus@greenpinelawn.com</div></div>
<div id="iset-field-phone" style="border:1px solid transparent;border-radius:4px;padding:5px 7px;margin:-5px -7px;transition:border-color 0.2s;"><div style="color:#aaa;font-size:8px;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:3px;">Owner Phone</div><div style="color:#fff;font-size:12px;">978-555-9928</div></div>
<div id="iset-field-voicephone" style="border:1px solid transparent;border-radius:4px;padding:5px 7px;margin:-5px -7px;transition:border-color 0.2s;"><div style="color:#aaa;font-size:8px;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:3px;">Voice Agent Phone</div><div style="color:#fff;font-size:12px;">978-555-0234</div></div>
</div>
<div style="color:#888;font-size:9px;margin-top:10px;font-style:italic;">To update business information, contact support@raynmaker.ai</div>
</div>
<div style="background:#161616;border:1px solid #252525;border-radius:5px;padding:14px;position:relative;">
<div style="color:#D7FC70;font-size:8px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:10px;">Voice Configuration</div>
<div style="color:#aaa;font-size:8px;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:5px;">AI Voice</div>
<div style="display:flex;gap:8px;align-items:center;">
<div id="iset-voice-trigger" style="flex:1;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;padding:8px 10px;color:#fff;font-size:11px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;">
<span id="iset-voice-label">Ballad — Youthful M, British, Conversational</span>
<i class="ti ti-chevron-down" style="font-size:11px;color:#aaa;"></i>
</div>
<button id="iset-preview-btn" style="background:transparent;border:1px solid #D7FC70;color:#D7FC70;padding:7px 12px;border-radius:4px;font-size:10px;white-space:nowrap;display:flex;align-items:center;gap:4px;transition:background 0.2s;"><i class="ti ti-player-play" style="font-size:10px;"></i>Preview</button>
</div>
<div id="iset-voice-dropdown" style="display:none;position:absolute;left:14px;right:14px;top:92px;background:#252525;border:1px solid #444;border-radius:5px;z-index:20;overflow:hidden;">
<div style="padding:5px 10px;color:#aaa;font-size:8px;letter-spacing:0.1em;text-transform:uppercase;border-bottom:1px solid #333;">Recommended</div>
<div id="iset-opt-marin" style="padding:8px 12px;color:#fff;font-size:11px;transition:background 0.15s;cursor:pointer;">Marin — F, Warm, Confident (recommended)</div>
<div style="padding:8px 12px;color:#fff;font-size:11px;">Cedar — Youthful M, Smooth, Steady</div>
<div style="padding:5px 10px;color:#aaa;font-size:8px;letter-spacing:0.1em;text-transform:uppercase;border-top:1px solid #333;border-bottom:1px solid #333;">Legacy voices</div>
<div id="iset-opt-ballad" style="padding:8px 12px;color:#D7FC70;font-size:11px;background:rgba(58,91,165,0.40);">✓ Ballad — Youthful M, British, Conversational</div>
<div style="padding:8px 12px;color:#fff;font-size:11px;">Coral — Mature F, Rich Tone, Steady</div>
</div>
<div style="display:flex;justify-content:flex-end;margin-top:12px;">
<button id="iset-save-btn" style="background:transparent;border:1px solid #D7FC70;color:#D7FC70;padding:7px 16px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:0.06em;display:flex;align-items:center;gap:4px;transition:background 0.2s;"><i class="ti ti-device-floppy" style="font-size:11px;"></i>SAVE CHANGES</button>
</div>
<div id="iset-saved-msg" style="display:none;background:#D7FC70;color:#000;border-radius:3px;padding:6px 10px;font-size:10px;font-weight:700;text-align:center;margin-top:10px;">✓ Voice updated to Marin — F, Warm, Confident</div>
</div>
</div>
<div id="iset-fc" style="position:absolute;width:13px;height:13px;border-radius:50%;background:#D7FC70;border:2px solid rgba(255,255,255,0.9);pointer-events:none;z-index:200;transform:translate(-50%,-50%);transition:left 0.55s cubic-bezier(0.4,0,0.2,1),top 0.55s cubic-bezier(0.4,0,0.2,1);left:-20px;top:-20px;"></div>
<div id="iset-rp" style="position:absolute;width:26px;height:26px;border-radius:50%;border:2px solid rgba(215,252,112,0.7);pointer-events:none;z-index:199;transform:translate(-50%,-50%);left:-20px;top:-20px;opacity:0;"></div>
</div>
<script>
(function(){
var W=document.getElementById('iset-widget');
var fc=document.getElementById('iset-fc'),rp=document.getElementById('iset-rp');
function getPos(id){var el=document.getElementById(id);if(!el)return{x:0,y:0};var wr=W.getBoundingClientRect(),er=el.getBoundingClientRect();return{x:er.left-wr.left+er.width/2,y:er.top-wr.top+er.height/2};}
function mv(id){var p=getPos(id);fc.style.left=p.x+'px';fc.style.top=p.y+'px';}
function click(){var x=parseFloat(fc.style.left),y=parseFloat(fc.style.top);rp.style.transition='none';rp.style.left=x+'px';rp.style.top=y+'px';rp.style.opacity='1';rp.style.transform='translate(-50%,-50%) scale(0.4)';setTimeout(function(){rp.style.transition='opacity 0.5s,transform 0.5s';rp.style.opacity='0';rp.style.transform='translate(-50%,-50%) scale(2)';},20);}
function hfield(id,on){document.getElementById(id).style.borderColor=on?'#D7FC70':'transparent';}
function selectMarin(){
var om=document.getElementById('iset-opt-marin');
om.textContent='✓ Marin — F, Warm, Confident (recommended)';
om.style.background='rgba(58,91,165,0.40)';om.style.color='#D7FC70';
var ob=document.getElementById('iset-opt-ballad');
ob.style.background='transparent';ob.style.color='#fff';
ob.textContent='Ballad — Youthful M, British, Conversational';
document.getElementById('iset-voice-dropdown').style.display='none';
document.getElementById('iset-voice-label').textContent='Marin — F, Warm, Confident (recommended)';
}
function previewPulse(){
var btn=document.getElementById('iset-preview-btn');
btn.style.background='rgba(215,252,112,0.14)';
setTimeout(function(){btn.style.background='transparent';},900);
}
function reset(){
document.getElementById('iset-voice-dropdown').style.display='none';
document.getElementById('iset-voice-label').textContent='Ballad — Youthful M, British, Conversational';
document.getElementById('iset-saved-msg').style.display='none';
document.getElementById('iset-save-btn').style.background='transparent';
var om=document.getElementById('iset-opt-marin');
om.style.background='';om.style.color='#fff';
om.textContent='Marin — F, Warm, Confident (recommended)';
var ob=document.getElementById('iset-opt-ballad');
ob.style.background='rgba(58,91,165,0.40)';ob.style.color='#D7FC70';
ob.textContent='✓ Ballad — Youthful M, British, Conversational';
['iset-field-name','iset-field-email','iset-field-phone','iset-field-voicephone'].forEach(function(k){hfield(k,false);});
}
var T=[
[300, function(){hfield('iset-field-name',true);}],
[1100,function(){hfield('iset-field-name',false);hfield('iset-field-email',true);}],
[1900,function(){hfield('iset-field-email',false);hfield('iset-field-phone',true);}],
[2700,function(){hfield('iset-field-phone',false);hfield('iset-field-voicephone',true);}],
[3500,function(){hfield('iset-field-voicephone',false);mv('iset-voice-trigger');}],
[4300,function(){click();document.getElementById('iset-voice-dropdown').style.display='block';}],
[5100,function(){mv('iset-opt-marin');var om=document.getElementById('iset-opt-marin');om.style.background='rgba(58,91,165,0.5)';om.style.color='#D7FC70';}],
[5900,function(){click();selectMarin();}],
[6700,function(){mv('iset-preview-btn');}],
[7500,function(){click();previewPulse();}],
[8300,function(){mv('iset-save-btn');}],
[9100,function(){click();document.getElementById('iset-saved-msg').style.display='block';document.getElementById('iset-save-btn').style.background='rgba(215,252,112,0.08)';}],
[12800,function(){reset();}]
];
function run(){T.forEach(function(s){setTimeout(s[1],s[0]);});setTimeout(run,15000);}
run();
})();
</script>
</div>
</div>
</div>
<div class="trust-step trust-step-split reveal rd2">
<div class="trust-split-grid trust-portal-grid">
<div class="trust-build-text">
<div class="trust-step-heading">
<span class="trust-step-num">02.</span>
<h3 class="trust-step-title">Track</h3>
</div>
<p class="trust-step-body">Every conversation is recorded, transcribed, and searchable in your portal. Review summaries, listen to recordings, track performance trends — nothing happens behind a curtain.</p>
</div>
<div class="trust-build">
<div id="ilog-widget" style="width:600px;height:600px;border-radius:12px;overflow:hidden;position:relative;display:flex;font-family:system-ui,sans-serif;font-size:13px;color:#e0e0e0;background:#0d0d0d;box-shadow:0 8px 48px rgba(0,0,0,0.22);margin:0 auto;">
<div style="width:170px;flex-shrink:0;background:#111;border-right:1px solid #2a2a2a;display:flex;flex-direction:column;">
<div style="padding:14px;border-bottom:1px solid #2a2a2a;">
<div style="color:#D7FC70;font-weight:700;letter-spacing:0.12em;font-size:11px;">RAYNMAKER</div>
<div style="color:#888;font-size:9px;margin-top:1px;letter-spacing:0.05em;">PORTAL</div>
</div>
<nav style="padding:6px 0;flex:1;">
<div id="ilog-nav-dashboard" style="display:flex;align-items:center;gap:7px;padding:8px 14px;color:#D7FC70;background:rgba(215,252,112,0.08);font-size:11px;line-height:1.25;transition:color 0.2s,background 0.2s;"><i class="ti ti-chart-line" style="font-size:13px;flex-shrink:0;"></i><span>Performance Dashboard</span></div>
<div id="ilog-nav-log" style="display:flex;align-items:center;gap:7px;padding:8px 14px;color:#bbb;font-size:11px;line-height:1.25;transition:color 0.2s,background 0.2s;"><i class="ti ti-messages" style="font-size:13px;flex-shrink:0;"></i><span>Interaction Log</span></div>
<div style="display:flex;align-items:center;gap:7px;padding:8px 14px;color:#bbb;font-size:11px;line-height:1.25;"><i class="ti ti-settings" style="font-size:13px;flex-shrink:0;"></i><span>Settings</span></div>
<div style="display:flex;align-items:center;gap:7px;padding:8px 14px;color:#bbb;font-size:11px;line-height:1.25;"><i class="ti ti-file-description" style="font-size:13px;flex-shrink:0;"></i><span>Audit Log</span></div>
</nav>
<div style="padding:10px 14px;border-top:1px solid #2a2a2a;">
<div style="background:#D7FC70;border-radius:3px;padding:4px 7px;font-size:8px;font-weight:700;color:#000;letter-spacing:0.06em;text-align:center;">GREEN PINE LAWN CARE</div>
<div style="color:#999;font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">marcus@greenpinelawn.com</div>
</div>
</div>
<div style="flex:1;position:relative;overflow:hidden;">
<div id="ilog-panel-dashboard" style="position:absolute;inset:0;padding:20px 22px;overflow:hidden;opacity:1;pointer-events:auto;transition:opacity 0.25s;display:flex;flex-direction:column;gap:9px;">
<div>
<div style="font-size:16px;font-weight:600;color:#fff;line-height:1.2;">Performance Dashboard</div>
<div style="color:#aaa;font-size:9px;margin-top:1px;">Green Pine Lawn Care · Last 7 Days</div>
</div>
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:7px;">
<div id="ilog-kpi-1" style="background:#161616;border:1px solid #252525;border-radius:5px;padding:8px 9px;transition:border-color 0.2s;"><div style="color:#aaa;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:4px;">Total Calls</div><div style="font-size:16px;font-weight:700;color:#fff;line-height:1;">44</div><div style="color:#999;font-size:8px;margin-top:2px;">44 in · 0 out</div></div>
<div id="ilog-kpi-2" style="background:#161616;border:1px solid #252525;border-radius:5px;padding:8px 9px;transition:border-color 0.2s;"><div style="color:#aaa;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:4px;">Inbound</div><div style="font-size:16px;font-weight:700;color:#fff;line-height:1;">44</div><div style="color:#999;font-size:8px;margin-top:2px;">All voice</div></div>
<div id="ilog-kpi-3" style="background:#161616;border:1px solid #252525;border-radius:5px;padding:8px 9px;transition:border-color 0.2s;"><div style="color:#aaa;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:4px;">Total Minutes</div><div style="font-size:16px;font-weight:700;color:#fff;line-height:1;">106</div><div style="color:#999;font-size:8px;margin-top:2px;">Avg 2m 24s</div></div>
<div id="ilog-kpi-4" style="background:#161616;border:1px solid #252525;border-radius:5px;padding:8px 9px;transition:border-color 0.2s;"><div style="color:#aaa;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:4px;">Outbound Rate</div><div style="font-size:16px;font-weight:700;color:#fff;line-height:1;">0%</div><div style="color:#999;font-size:8px;margin-top:2px;">0 of 0</div></div>
</div>
<div id="ilog-chart-area" style="background:#161616;border:1px solid #252525;border-radius:5px;padding:9px 11px;flex:1;">
<div style="color:#bbb;font-size:7px;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:4px;">Volume Trend</div>
<svg width="100%" height="100%" viewBox="0 0 420 90" preserveAspectRatio="none" style="display:block;">
<line x1="0" y1="15" x2="420" y2="15" stroke="#222" stroke-width="1" stroke-dasharray="3 3"/><line x1="0" y1="40" x2="420" y2="40" stroke="#222" stroke-width="1" stroke-dasharray="3 3"/><line x1="0" y1="65" x2="420" y2="65" stroke="#222" stroke-width="1" stroke-dasharray="3 3"/>
<text x="2" y="18" fill="#777" font-size="7">28</text><text x="2" y="43" fill="#777" font-size="7">14</text><text x="2" y="68" fill="#777" font-size="7">7</text>
<path d="M 20 58 C 55 54,80 48,110 38 C 138 26,155 6,180 5 C 205 4,222 62,265 66 C 310 70,360 68,420 67" fill="none" stroke="#D7FC70" stroke-width="2" stroke-linecap="round"/>
<path d="M 20 58 C 55 54,80 48,110 38 C 138 26,155 6,180 5 C 205 4,222 62,265 66 C 310 70,360 68,420 67 L 420 76 L 20 76 Z" fill="rgba(215,252,112,0.07)"/>
<text x="20" y="84" fill="#777" font-size="7" text-anchor="middle">6/19</text><text x="110" y="84" fill="#777" font-size="7" text-anchor="middle">6/21</text><text x="180" y="84" fill="#777" font-size="7" text-anchor="middle">6/23</text><text x="265" y="84" fill="#777" font-size="7" text-anchor="middle">6/24</text><text x="420" y="84" fill="#777" font-size="7" text-anchor="middle">6/26</text>
</svg>
</div>
<div style="display:grid;grid-template-columns:3fr 2fr;gap:7px;flex:1.4;">
<div style="background:#161616;border:1px solid #252525;border-radius:5px;padding:9px 11px;">
<div style="color:#bbb;font-size:7px;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:4px;">Peak Call Hours</div>
<svg width="100%" height="100%" viewBox="0 0 280 115" preserveAspectRatio="xMidYMid meet" style="display:block;">
<line x1="24" y1="8" x2="278" y2="8" stroke="#222" stroke-width="1"/><line x1="24" y1="32" x2="278" y2="32" stroke="#222" stroke-width="1"/><line x1="24" y1="56" x2="278" y2="56" stroke="#222" stroke-width="1"/><line x1="24" y1="80" x2="278" y2="80" stroke="#222" stroke-width="1"/>
<text x="20" y="11" fill="#777" font-size="7" text-anchor="end">20</text><text x="20" y="35" fill="#777" font-size="7" text-anchor="end">15</text><text x="20" y="59" fill="#777" font-size="7" text-anchor="end">10</text><text x="20" y="83" fill="#777" font-size="7" text-anchor="end">5</text>
<rect x="27" y="62" width="18" height="18" fill="#D7FC70" rx="1"/><rect x="58" y="55" width="18" height="25" fill="#D7FC70" rx="1"/><rect x="89" y="69" width="18" height="11" fill="#D7FC70" rx="1"/><rect x="120" y="58" width="18" height="22" fill="#D7FC70" rx="1"/><rect x="151" y="22" width="18" height="58" fill="#D7FC70" rx="1"/><rect x="182" y="12" width="18" height="68" fill="#D7FC70" rx="1"/><rect x="213" y="55" width="18" height="25" fill="#D7FC70" rx="1"/><rect x="244" y="73" width="18" height="7" fill="#D7FC70" rx="1"/>
<text x="36" y="97" fill="#777" font-size="6.5" text-anchor="middle">4 PM</text><text x="67" y="97" fill="#777" font-size="6.5" text-anchor="middle">5 PM</text><text x="98" y="97" fill="#777" font-size="6.5" text-anchor="middle">6 PM</text><text x="129" y="97" fill="#777" font-size="6.5" text-anchor="middle">7 PM</text><text x="160" y="97" fill="#777" font-size="6.5" text-anchor="middle">8 PM</text><text x="191" y="97" fill="#777" font-size="6.5" text-anchor="middle">9 PM</text><text x="222" y="97" fill="#777" font-size="6.5" text-anchor="middle">10 PM</text><text x="253" y="97" fill="#777" font-size="6.5" text-anchor="middle">11 PM</text>
</svg>
</div>
<div style="background:#161616;border:1px solid #252525;border-radius:5px;padding:9px 11px;display:flex;flex-direction:column;">
<div style="color:#bbb;font-size:7px;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:4px;">Channel Breakdown</div>
<div style="flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;">
<svg width="80" height="80" viewBox="0 0 80 80"><circle cx="40" cy="40" r="28" fill="none" stroke="#2a2a2a" stroke-width="14"/><circle cx="40" cy="40" r="28" fill="none" stroke="#c8c8c8" stroke-width="14" stroke-dasharray="175.9 0" transform="rotate(-90 40 40)"/></svg>
<div style="display:flex;align-items:center;gap:5px;"><div style="width:7px;height:7px;border-radius:50%;background:#c8c8c8;flex-shrink:0;"></div><span style="color:#ddd;font-size:10px;">voice (67)</span></div>
</div>
</div>
</div>
</div>
<div id="ilog-panel-log" style="position:absolute;inset:0;padding:20px 22px;overflow:hidden;opacity:0;pointer-events:none;transition:opacity 0.25s;">
<div style="font-size:16px;font-weight:600;color:#fff;margin:0 0 2px;">Interaction Log</div>
<div style="color:#aaa;font-size:10px;margin:0 0 10px;">View and manage all customer interactions</div>
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px;">
<div id="ilog-stat-total" style="background:#161616;border:1px solid #252525;border-radius:5px;padding:7px 8px;transition:border-color 0.2s;"><div style="color:#aaa;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:3px;">Total</div><div style="font-size:15px;font-weight:700;color:#fff;">44</div></div>
<div id="ilog-stat-voice" style="background:#161616;border:1px solid #252525;border-radius:5px;padding:7px 8px;transition:border-color 0.2s;"><div style="color:#aaa;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:3px;">Voice</div><div style="font-size:15px;font-weight:700;color:#fff;">44</div></div>
<div id="ilog-stat-sms" style="background:#161616;border:1px solid #252525;border-radius:5px;padding:7px 8px;transition:border-color 0.2s;"><div style="color:#aaa;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:3px;">SMS</div><div style="font-size:15px;font-weight:700;color:#fff;">0</div></div>
<div id="ilog-stat-inbound" style="background:#161616;border:1px solid #252525;border-radius:5px;padding:7px 8px;transition:border-color 0.2s;"><div style="color:#aaa;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:3px;">Inbound</div><div style="font-size:15px;font-weight:700;color:#fff;">44</div></div>
</div>
<div style="background:#161616;border:1px solid #252525;border-radius:5px;overflow:hidden;">
<div style="display:grid;grid-template-columns:58px 76px 1fr 48px 86px;padding:6px 12px;border-bottom:1px solid #2a2a2a;background:#1a1a1a;">
<div style="color:#aaa;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;">Direction</div><div style="color:#aaa;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;">Caller</div><div style="color:#aaa;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;">Phone</div><div style="color:#aaa;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;">Duration</div><div style="color:#D7FC70;font-size:7px;letter-spacing:0.1em;text-transform:uppercase;">Timestamp ↓</div>
</div>
<div id="ilog-row-1" style="display:grid;grid-template-columns:58px 76px 1fr 48px 86px;padding:8px 12px;border-bottom:1px solid #222;transition:background 0.2s;">
<div><span style="background:#D7FC70;color:#000;font-size:7px;font-weight:700;padding:2px 4px;border-radius:2px;letter-spacing:0.03em;">IN</span></div>
<div style="color:#fff;font-size:10px;">Jamie K.</div><div style="color:#ddd;font-size:10px;">978-555-0234</div><div style="color:#fff;font-size:10px;">3m 12s</div><div style="color:#ddd;font-size:10px;">Today, 9:41 AM</div>
</div>
<div id="ilog-detail-1" style="display:none;border-bottom:1px solid #222;background:#131313;">
<div style="padding:7px 12px;display:flex;flex-direction:column;gap:5px;">
<div style="background:#1e1e1e;border-radius:4px;padding:7px 9px;">
<div style="color:#D7FC70;font-size:7px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:5px;">Call Details</div>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:6px;">
<div><div style="color:#aaa;font-size:7px;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:2px;">Caller</div><div style="color:#fff;font-size:10px;">978-555-0234</div></div>
<div><div style="color:#aaa;font-size:7px;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:2px;">Called</div><div style="color:#fff;font-size:10px;">978-555-0234</div></div>
</div>
</div>
<div style="background:#1e1e1e;border-radius:4px;padding:7px 9px;">
<div style="color:#D7FC70;font-size:7px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:6px;">Call Recording</div>
<div style="background:#2a2a2a;border-radius:20px;padding:6px 12px;display:flex;align-items:center;gap:8px;">
<div id="ilog-play-btn-1" style="width:22px;height:22px;border-radius:50%;border:1.5px solid #777;display:flex;align-items:center;justify-content:center;flex-shrink:0;"><i id="ilog-play-icon-1" class="ti ti-player-play" style="font-size:10px;color:#fff;"></i></div>
<span id="ilog-rec-time-1" style="color:#fff;font-size:9px;white-space:nowrap;flex-shrink:0;">0:00 / 2:42</span>
<div style="flex:1;position:relative;height:3px;background:#555;border-radius:2px;">
<div id="ilog-rec-fill-1" style="width:0%;height:3px;background:#D7FC70;border-radius:2px;transition:width 1s linear;"></div>
<div id="ilog-rec-handle-1" style="width:9px;height:9px;border-radius:50%;background:#fff;position:absolute;top:-3px;left:0;transition:left 1s linear;"></div>
</div>
</div>
</div>
<div style="background:#1e1e1e;border-radius:4px;padding:7px 9px;">
<div style="color:#D7FC70;font-size:7px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:5px;">Transcript</div>
<div style="display:flex;flex-direction:column;gap:3px;">
<div style="background:#161616;border-left:2px solid #D7FC70;padding:4px 6px;border-radius:0 3px 3px 0;"><div style="color:#D7FC70;font-size:7px;font-weight:700;margin-bottom:1px;">AI</div><div style="color:#fff;font-size:9px;line-height:1.35;">Thank you for calling Green Pine Lawn Care. Who am I speaking with?</div></div>
<div style="background:#161616;border-left:2px solid #777;padding:4px 6px;border-radius:0 3px 3px 0;"><div style="color:#ccc;font-size:7px;font-weight:700;margin-bottom:1px;">CALLER</div><div style="color:#fff;font-size:9px;line-height:1.35;">Hi, I'm Jamie — I need help with my irrigation system.</div></div>
</div>
</div>
</div>
</div>
<div id="ilog-row-2" style="display:grid;grid-template-columns:58px 76px 1fr 48px 86px;padding:8px 12px;border-bottom:1px solid #222;transition:background 0.2s;">
<div><span style="background:#D7FC70;color:#000;font-size:7px;font-weight:700;padding:2px 4px;border-radius:2px;letter-spacing:0.03em;">IN</span></div>
<div style="color:#fff;font-size:10px;">Carlos R.</div><div style="color:#ddd;font-size:10px;">978-555-0234</div><div style="color:#fff;font-size:10px;">2m 08s</div><div style="color:#ddd;font-size:10px;">Today, 8:55 AM</div>
</div>
<div id="ilog-detail-2" style="display:none;border-bottom:1px solid #222;background:#131313;">
<div style="padding:7px 12px;display:flex;flex-direction:column;gap:5px;">
<div style="background:#1e1e1e;border-radius:4px;padding:7px 9px;">
<div style="color:#D7FC70;font-size:7px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:5px;">Call Details</div>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:6px;">
<div><div style="color:#aaa;font-size:7px;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:2px;">Caller</div><div style="color:#fff;font-size:10px;">978-555-0234</div></div>
<div><div style="color:#aaa;font-size:7px;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:2px;">Called</div><div style="color:#fff;font-size:10px;">978-555-0234</div></div>
</div>
</div>
<div style="background:#1e1e1e;border-radius:4px;padding:7px 9px;">
<div style="color:#D7FC70;font-size:7px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:6px;">Call Recording</div>
<div style="background:#2a2a2a;border-radius:20px;padding:6px 12px;display:flex;align-items:center;gap:8px;">
<div id="ilog-play-btn-2" style="width:22px;height:22px;border-radius:50%;border:1.5px solid #777;display:flex;align-items:center;justify-content:center;flex-shrink:0;"><i id="ilog-play-icon-2" class="ti ti-player-play" style="font-size:10px;color:#fff;"></i></div>
<span id="ilog-rec-time-2" style="color:#fff;font-size:9px;white-space:nowrap;flex-shrink:0;">0:00 / 2:08</span>
<div style="flex:1;position:relative;height:3px;background:#555;border-radius:2px;">
<div id="ilog-rec-fill-2" style="width:0%;height:3px;background:#D7FC70;border-radius:2px;transition:width 1s linear;"></div>
<div id="ilog-rec-handle-2" style="width:9px;height:9px;border-radius:50%;background:#fff;position:absolute;top:-3px;left:0;transition:left 1s linear;"></div>
</div>
</div>
</div>
<div style="background:#1e1e1e;border-radius:4px;padding:7px 9px;">
<div style="color:#D7FC70;font-size:7px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:5px;">Transcript</div>
<div style="display:flex;flex-direction:column;gap:3px;">
<div style="background:#161616;border-left:2px solid #D7FC70;padding:4px 6px;border-radius:0 3px 3px 0;"><div style="color:#D7FC70;font-size:7px;font-weight:700;margin-bottom:1px;">AI</div><div style="color:#fff;font-size:9px;line-height:1.35;">Thanks for calling Green Pine Lawn Care. How can I help?</div></div>
<div style="background:#161616;border-left:2px solid #777;padding:4px 6px;border-radius:0 3px 3px 0;"><div style="color:#ccc;font-size:7px;font-weight:700;margin-bottom:1px;">CALLER</div><div style="color:#fff;font-size:9px;line-height:1.35;">Hi, this is Carlos — I'd like to schedule a fall cleanup.</div></div>
</div>
</div>
</div>
</div>
<div id="ilog-row-3" style="display:grid;grid-template-columns:58px 76px 1fr 48px 86px;padding:8px 12px;border-bottom:1px solid #222;transition:background 0.2s;">
<div><span style="background:#D7FC70;color:#000;font-size:7px;font-weight:700;padding:2px 4px;border-radius:2px;letter-spacing:0.03em;">IN</span></div>
<div style="color:#fff;font-size:10px;">Donna M.</div><div style="color:#ddd;font-size:10px;">978-555-0234</div><div style="color:#fff;font-size:10px;">4m 33s</div><div style="color:#ddd;font-size:10px;">Yesterday, 6:12 PM</div>
</div>
<div id="ilog-detail-3" style="display:none;border-bottom:1px solid #222;background:#131313;">
<div style="padding:7px 12px;display:flex;flex-direction:column;gap:5px;">
<div style="background:#1e1e1e;border-radius:4px;padding:7px 9px;">
<div style="color:#D7FC70;font-size:7px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:5px;">Call Details</div>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:6px;">
<div><div style="color:#aaa;font-size:7px;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:2px;">Caller</div><div style="color:#fff;font-size:10px;">978-555-0234</div></div>
<div><div style="color:#aaa;font-size:7px;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:2px;">Called</div><div style="color:#fff;font-size:10px;">978-555-0234</div></div>
</div>
</div>
<div style="background:#1e1e1e;border-radius:4px;padding:7px 9px;">
<div style="color:#D7FC70;font-size:7px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:6px;">Call Recording</div>
<div style="background:#2a2a2a;border-radius:20px;padding:6px 12px;display:flex;align-items:center;gap:8px;">
<div id="ilog-play-btn-3" style="width:22px;height:22px;border-radius:50%;border:1.5px solid #777;display:flex;align-items:center;justify-content:center;flex-shrink:0;"><i id="ilog-play-icon-3" class="ti ti-player-play" style="font-size:10px;color:#fff;"></i></div>
<span id="ilog-rec-time-3" style="color:#fff;font-size:9px;white-space:nowrap;flex-shrink:0;">0:00 / 4:33</span>
<div style="flex:1;position:relative;height:3px;background:#555;border-radius:2px;">
<div id="ilog-rec-fill-3" style="width:0%;height:3px;background:#D7FC70;border-radius:2px;transition:width 1s linear;"></div>
<div id="ilog-rec-handle-3" style="width:9px;height:9px;border-radius:50%;background:#fff;position:absolute;top:-3px;left:0;transition:left 1s linear;"></div>
</div>
</div>
</div>
<div style="background:#1e1e1e;border-radius:4px;padding:7px 9px;">
<div style="color:#D7FC70;font-size:7px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:5px;">Transcript</div>
<div style="display:flex;flex-direction:column;gap:3px;">
<div style="background:#161616;border-left:2px solid #D7FC70;padding:4px 6px;border-radius:0 3px 3px 0;"><div style="color:#D7FC70;font-size:7px;font-weight:700;margin-bottom:1px;">AI</div><div style="color:#fff;font-size:9px;line-height:1.35;">Thank you for calling Green Pine Lawn Care. Who am I speaking with?</div></div>
<div style="background:#161616;border-left:2px solid #777;padding:4px 6px;border-radius:0 3px 3px 0;"><div style="color:#ccc;font-size:7px;font-weight:700;margin-bottom:1px;">CALLER</div><div style="color:#fff;font-size:9px;line-height:1.35;">Hi, I'm Donna — I have a question about my invoice.</div></div>
</div>
</div>
</div>
</div>
<div id="ilog-row-4" style="display:grid;grid-template-columns:58px 76px 1fr 48px 86px;padding:8px 12px;">
<div><span style="background:#D7FC70;color:#000;font-size:7px;font-weight:700;padding:2px 4px;border-radius:2px;letter-spacing:0.03em;">IN</span></div>
<div style="color:#fff;font-size:10px;">Priya S.</div><div style="color:#ddd;font-size:10px;">978-555-0199</div><div style="color:#fff;font-size:10px;">1m 47s</div><div style="color:#ddd;font-size:10px;">Yesterday, 2:30 PM</div>
</div>
</div>
</div>
</div>
<div id="ilog-fc" style="position:absolute;width:13px;height:13px;border-radius:50%;background:#D7FC70;border:2px solid rgba(255,255,255,0.9);pointer-events:none;z-index:200;transform:translate(-50%,-50%);transition:left 0.55s cubic-bezier(0.4,0,0.2,1),top 0.55s cubic-bezier(0.4,0,0.2,1);left:-20px;top:-20px;"></div>
<div id="ilog-rp" style="position:absolute;width:26px;height:26px;border-radius:50%;border:2px solid rgba(215,252,112,0.7);pointer-events:none;z-index:199;transform:translate(-50%,-50%);left:-20px;top:-20px;opacity:0;"></div>
</div>
<script>
(function(){
var W=document.getElementById('ilog-widget');
var fc=document.getElementById('ilog-fc'),rp=document.getElementById('ilog-rp');
function getPos(id){var el=document.getElementById(id);if(!el)return{x:0,y:0};var wr=W.getBoundingClientRect(),er=el.getBoundingClientRect();return{x:er.left-wr.left+er.width/2,y:er.top-wr.top+er.height/2};}
function mv(id){var p=getPos(id);fc.style.left=p.x+'px';fc.style.top=p.y+'px';}
function click(){var x=parseFloat(fc.style.left),y=parseFloat(fc.style.top);rp.style.transition='none';rp.style.left=x+'px';rp.style.top=y+'px';rp.style.opacity='1';rp.style.transform='translate(-50%,-50%) scale(0.4)';setTimeout(function(){rp.style.transition='opacity 0.5s,transform 0.5s';rp.style.opacity='0';rp.style.transform='translate(-50%,-50%) scale(2)';},20);}
function hkpi(id,on){document.getElementById(id).style.borderColor=on?'#D7FC70':'#252525';}
function toggleDetail(n,show){document.getElementById('ilog-detail-'+n).style.display=show?'block':'none';document.getElementById('ilog-row-'+n).style.background=show?'#1e1e1e':'';}
function fmtTime(s){var m=Math.floor(s/60),ss=s%60;return m+':'+(ss<10?'0':'')+ss;}
function navActive(which){
var d=document.getElementById('ilog-nav-dashboard'),l=document.getElementById('ilog-nav-log');
d.style.color=which==='dashboard'?'#D7FC70':'#bbb';d.style.background=which==='dashboard'?'rgba(215,252,112,0.08)':'transparent';
l.style.color=which==='log'?'#D7FC70':'#bbb';l.style.background=which==='log'?'rgba(215,252,112,0.08)':'transparent';
}
function showPanel(which){
var dash=document.getElementById('ilog-panel-dashboard'),log=document.getElementById('ilog-panel-log');
dash.style.opacity=which==='dashboard'?'1':'0';dash.style.pointerEvents=which==='dashboard'?'auto':'none';
log.style.opacity=which==='log'?'1':'0';log.style.pointerEvents=which==='log'?'auto':'none';
navActive(which);
}
var intervals={};
var rows={
1:{total:162,label:'2:42'},
2:{total:128,label:'2:08'},
3:{total:273,label:'4:33'}
};
function startPlayback(n){
var cfg=rows[n],secs=0;
document.getElementById('ilog-play-icon-'+n).className='ti ti-player-pause';
document.getElementById('ilog-play-btn-'+n).style.borderColor='#D7FC70';
intervals[n]=setInterval(function(){
secs++;if(secs>cfg.total)secs=cfg.total;
document.getElementById('ilog-rec-time-'+n).textContent=fmtTime(secs)+' / '+cfg.label;
var pct=(secs/cfg.total)*100;
document.getElementById('ilog-rec-fill-'+n).style.width=pct+'%';
var handle=document.getElementById('ilog-rec-handle-'+n),track=handle.parentElement;
handle.style.left=((pct/100)*(track.offsetWidth-9))+'px';
},1000);
}
function stopPlayback(n){
if(intervals[n]){clearInterval(intervals[n]);intervals[n]=null;}
var icon=document.getElementById('ilog-play-icon-'+n),btn=document.getElementById('ilog-play-btn-'+n);
var fill=document.getElementById('ilog-rec-fill-'+n),handle=document.getElementById('ilog-rec-handle-'+n);
icon.className='ti ti-player-play';btn.style.borderColor='#777';fill.style.width='0%';handle.style.left='0';
document.getElementById('ilog-rec-time-'+n).textContent='0:00 / '+rows[n].label;
}
var T=[
[300, function(){hkpi('ilog-kpi-1',true);}],
[1100,function(){hkpi('ilog-kpi-1',false);hkpi('ilog-kpi-2',true);}],
[1900,function(){hkpi('ilog-kpi-2',false);hkpi('ilog-kpi-3',true);}],
[2700,function(){hkpi('ilog-kpi-3',false);hkpi('ilog-kpi-4',true);}],
[3500,function(){hkpi('ilog-kpi-4',false);mv('ilog-chart-area');}],
[4600,function(){mv('ilog-nav-log');}],
[5500,function(){click();showPanel('log');}],
[6500,function(){mv('ilog-row-1');}],
[7300,function(){click();toggleDetail(1,true);}],
[8100,function(){mv('ilog-play-btn-1');}],
[8900,function(){click();startPlayback(1);}],
[10400,function(){mv('ilog-row-1');}],
[11200,function(){click();stopPlayback(1);toggleDetail(1,false);}],
[11700,function(){mv('ilog-row-2');}],
[12500,function(){click();toggleDetail(2,true);}],
[13300,function(){mv('ilog-play-btn-2');}],
[14100,function(){click();startPlayback(2);}],
[15600,function(){mv('ilog-row-2');}],
[16400,function(){click();stopPlayback(2);toggleDetail(2,false);}],
[16900,function(){mv('ilog-row-3');}],
[17700,function(){click();toggleDetail(3,true);}],
[18500,function(){mv('ilog-play-btn-3');}],
[19300,function(){click();startPlayback(3);}],
[20800,function(){mv('ilog-row-3');}],
[21600,function(){click();stopPlayback(3);toggleDetail(3,false);}],
[22100,function(){mv('ilog-nav-dashboard');}],
[23000,function(){click();showPanel('dashboard');}]
];
function run(){T.forEach(function(s){setTimeout(s[1],s[0]);});setTimeout(run,24000);}
run();
})();
</script>
</div>
</div>
</div>
<div class="trust-step trust-step-split reveal rd3">
<div class="trust-split-grid trust-portal-grid">
<div class="trust-build-text">
<div class="trust-step-heading">
<span class="trust-step-num">03.</span>
<h3 class="trust-step-title">Listen</h3>
</div>
<p class="trust-step-body">Natural voice AI that delivers an adaptable conversation for your customers, every time. Not scripted. Not robotic.</p>
</div>
<div class="trust-audio">
<audio controls preload="none" src="/audio/pest-control.wav"></audio>
<div class="trust-audio-label">Pest control lead qualification</div>
<a href="/experience-it" class="trust-audio-link">Hear more recordings →</a>
</div>
</div>
</div>
<div class="trust-step trust-step-split reveal rd4">
<div class="trust-split-grid trust-portal-grid">
<div class="trust-build-text">
<div class="trust-step-heading">
<span class="trust-step-num">04.</span>
<h3 class="trust-step-title">Trust</h3>
</div>
<p class="trust-step-body">Every conversation is held to the same standard: respectful, safe, and honest.</p>
</div>
<div class="trust-guardrail">
<ul class="aq-card-features">
<li>Never misleads or misrepresents your business</li>
<li>Never pressures a caller into something they don't want</li>
<li>Escalates to a real person whenever a caller needs one</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- ═══════════════════════════════════════════════
BENEFIT CASCADE — white bg, lime-hl in heading
══════════════════════════════════════════════════ -->
<section id="cascade" class="section-rule">
<div class="section-inner">
<div class="centered reveal">
<h2 class="section-h2">Not an answering service.<br>Extraordinary sales conversations, <span class="lime-hl">everytime.</span></h2>
<p class="body-md" style="margin:1.4rem auto 0;max-width:600px;">Built for businesses where every missed call is a missed job, and every slow callback is a lead already gone to a competitor.</p>
</div>
<div class="cap-grid reveal rd1">
<div class="cap-card">
<span class="cap-num">01</span>
<span class="cap-label">For You</span>
<ul class="cap-list">
<li>Get your time back to run the business, not answer it</li>
<li>Walk into every day with follow-ups already prioritized for you</li>
<li>Build a growing record of what your customers actually want</li>
</ul>
</div>
<div class="cap-card">
<span class="cap-num">02</span>
<span class="cap-label">For Your Sales</span>
<ul class="cap-list">
<li>Sell with a proven methodology built into every call</li>
<li>Get sharper with every single conversation</li>
<li>Never fumble an objection again</li>
</ul>
</div>
<div class="cap-card">
<span class="cap-num">03</span>
<span class="cap-label">For Your Customers</span>
<ul class="cap-list">
<li>Get a faster response than you could give them yourself</li>
<li>Engage at their own pace, without pressure</li>
<li>Experience a natural AI voice — not a script</li>
</ul>
</div>
</div>
</div>
</section>
<!-- ═══════════════════════════════════════════════
MEET ANSWER QUALIFY — dark expanding section
══════════════════════════════════════════════════ -->
<section id="answer-qualify" class="section-rule">
<div class="section-inner">
<div class="aq-header reveal">
<h2 class="aq-left-heading">Capture<br><span class="lime-hl">every caller.</span></h2>
</div>
<div class="aq-cards">
<div class="aq-card reveal rd1">
<div class="aq-card-label">Answer</div>
<div class="aq-card-price">
<span class="aq-price-amount">$100</span>
<span class="aq-price-period">/ month</span>
</div>
<div class="aq-card-tagline">Never miss a call again</div>
<div class="aq-card-desc">Every unanswered call is a lead that won't call back. Raynmaker Answer covers every inbound call 24/7 — nights, weekends, and peak hours — so no opportunity goes to voicemail.</div>
<ul class="aq-card-features">
<li>100% inbound call answer rate, 24/7/365</li>
<li>Custom voice configuration — your personality, tone, and brand</li>
<li>Caller name, number, and contact info captured on every call</li>
<li>Human escalation configurable for your business needs</li>
<li>Portal: recordings, transcripts, summaries, and performance data</li>
</ul>
</div>
<div class="aq-card featured reveal rd2">
<div class="aq-card-badge">Most Popular</div>
<div class="aq-card-label">Qualify</div>
<div class="aq-card-price">
<span class="aq-price-amount">$299</span>
<span class="aq-price-period">/ month, billed annually</span>
</div>
<div class="aq-card-tagline">Never miss a customer again</div>
<div class="aq-card-desc">Your best people are spending time on leads that were never going to close. Raynmaker Qualify evaluates every caller's needs, answers their questions, and routes only the right opportunities to your team.</div>
<ul class="aq-card-features">
<li>Everything in Raynmaker Answer, plus:</li>
<li>7–10 custom qualifying questions, built around what a good lead looks like for you</li>
<li>Deep brand knowledge for detailed education, FAQ answering, and service recommendations</li>
<li>Handles objections in real time</li>
<li>Outbound SMS and calling: instant outreach to web form submissions</li>
</ul>
</div>
</div>
<div class="aq-cta">
<a href="/platform" class="btn-secondary">See All Products</a>
</div>
</div>
</section>
<!-- ═══════════════════════════════════════════════
ROI CALCULATOR — off-white bg, dark result card
══════════════════════════════════════════════════ -->
<section id="roi" class="section-rule">
<div class="section-inner">
<div class="roi-header reveal">
<h2 class="section-h2">The math is easy.<br><span class="lime-hl">Multiply your business.</span></h2>
</div>
<div class="roi-card reveal rd1">
<div class="roi-inputs">
<div class="roi-field">
<label class="roi-label" for="roi-calls">Calls you miss in a week</label>
<input type="number" id="roi-calls" class="roi-input" value="18" min="0" inputmode="numeric">
<p class="roi-hint">Rings after hours, during a job, mid-rush. Most owners undercount this.</p>
</div>
<div class="roi-field">
<label class="roi-label" for="roi-value">The average value of a job or order</label>
<div class="roi-input-wrap">
<span class="roi-input-prefix">$</span>
<input type="number" id="roi-value" class="roi-input" value="240" min="0" inputmode="numeric">
</div>
<p class="roi-hint">Use your average ticket, not your best one.</p>
</div>
</div>
<div class="roi-results">
<div class="roi-result-label">Potential revenue walking out the door - per year</div>
<div class="roi-result-figure" id="roi-annual-loss">$112,320</div>
<p class="roi-result-note" id="roi-monthly-note">About $9,360 every month, assuming half of those callers buy from whoever picks up.</p>
<div class="roi-breakdown">
<div class="roi-breakdown-row">
<span>Raynmaker Answer, per year</span>
<span id="roi-cost">$1,200</span>
</div>
</div>
</div>
</div>
</div>
</section>
<script>
(function () {
var callsEl = document.getElementById('roi-calls');
var valueEl = document.getElementById('roi-value');
if (!callsEl || !valueEl) return;
var annualLossEl = document.getElementById('roi-annual-loss');
var monthlyNoteEl = document.getElementById('roi-monthly-note');
var BUY_RATE = 0.5; /* half of missed callers would have bought */
function fmtMoney(n) {
return '$' + Math.round(n).toLocaleString('en-US');
}
function calc() {
var calls = parseFloat(callsEl.value) || 0;
var value = parseFloat(valueEl.value) || 0;
var monthlyCalls = calls * 52 / 12;
var monthlyBuyers = monthlyCalls * BUY_RATE;
var monthlyLoss = monthlyBuyers * value;
var annualLoss = monthlyLoss * 12;
annualLossEl.textContent = fmtMoney(annualLoss);
monthlyNoteEl.textContent = 'About ' + fmtMoney(monthlyLoss) + ' every month, assuming half of those callers buy from whoever picks up.';
}
callsEl.addEventListener('input', calc);
valueEl.addEventListener('input', calc);
calc();
})();
</script>
<!-- ═══════════════════════════════════════════════
CLOSING — white bg, lime-hl present
══════════════════════════════════════════════════ -->
<section id="closing">
<div class="section-inner">
<div class="centered reveal">
<h2 class="closing-h2">Tired of losing customers<br><span class="lime-hl">to a missed call?</span></h2>
<p class="closing-body">No scripts. No hold music. No lost context. Every caller handled like your best rep is always on.</p>
<div style="display:flex;gap:1.1rem;justify-content:center;flex-wrap:wrap;">
<a href="https://calendly.com/d/ds7b-8b9-5m3/raynmaker-platform-overview-site-demo" target="_blank" class="btn-secondary">Get Started</a>
<a href="/experience-it" class="btn-primary">Talk to our Voice AI</a>
</div>
</div>
</div>
</section>
<div class="gradient-strip" aria-hidden="true"></div>
<div class="gradient-strip" aria-hidden="true"></div>
<footer class="site-footer">
<div class="footer-inner">
<div class="footer-main">
<div class="footer-logo-col">
<div class="footer-logo-mark">
<a href="/">
<picture>
<source srcset="/logos/logo-mark.svg" type="image/svg+xml">
<img src="/logos/logo-mark.png" alt="Raynmaker" class="footer-logo-img">
</picture>
</a>
</div>
<p style="font-family:var(--sans);font-size:0.72rem;font-style:italic;color:rgba(237,237,234,0.45);line-height:1.65;max-width:620px;margin-top:1rem;">Raynmaker is the cognitive infrastructure for autonomous selling. An AI-native, voice-enabled platform that performs the full work of intelligent selling: perceiving buyer intent, navigating uncertainty, and closing the sale. At the intersection of autonomy and cognition, the platform learns from every human conversation, compounding intelligence across all the businesses it supports, defining a new software category in the process. From first call to lasting relationship, Raynmaker sets the standard for how small businesses will sell in an AI-driven economy.</p>
</div>
<div class="footer-right">
<nav class="footer-more" aria-label="More">
<span class="footer-deep-label">Deep Dive</span>
<a href="/neuro-engine">Neuro-Engine</a>
<a href="/conviction">Manifesto</a>
<a href="/ai-constitution">AI Constitution</a>
<a href="/tes-partner">TES Partner</a>
<!-- <a href="/stop-wasting-paid-leads">Stop Wasting Paid Leads</a> -->
<a href='/revenue-leak'>The Revenue Leak</a>
<a href="/blog">Blog</a>
<a href="/press">Press & Media</a>
<a href="/faq">FAQ</a>
</nav>
<nav class="footer-legal" aria-label="Legal">
<span class="footer-deep-label">Legal</span>
<a href="/privacy-policy">Privacy Policy</a>
<a href="/terms-and-conditions">Terms & Conditions</a>
<a href="/raynmaker-terms-of-use">Terms of Use</a>
</nav>
<div class="footer-socials">
<a href="https://www.linkedin.com/company/raynmaker/" target="_blank" rel="noopener" aria-label="LinkedIn"><svg viewBox="0 0 24 24"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg></a>
<a href="https://www.youtube.com/@raynmakerai" target="_blank" rel="noopener" aria-label="YouTube"><svg viewBox="0 0 24 24"><path d="M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.546 12 3.546 12 3.546s-7.505 0-9.377.504A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.504 9.376.504 9.376.504s7.505 0 9.377-.504a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg></a>
<a href="https://www.facebook.com/raynmakerai" target="_blank" rel="noopener" aria-label="Facebook"><svg viewBox="0 0 24 24"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg></a>
<a href="https://www.instagram.com/raynmakerai/" target="_blank" rel="noopener" aria-label="Instagram"><svg viewBox="0 0 24 24"><path d="M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678a6.162 6.162 0 100 12.324 6.162 6.162 0 100-12.324zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405a1.441 1.441 0 11-2.88 0 1.441 1.441 0 012.88 0z"/></svg></a>
<a href="https://www.tiktok.com/@raynmakerai" target="_blank" rel="noopener" aria-label="TikTok"><svg viewBox="0 0 24 24"><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/></svg></a>
<a href="https://x.com/raynmakerai" target="_blank" rel="noopener" aria-label="X"><svg viewBox="0 0 24 24"><path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"/></svg></a>
</div>
</div>
</div>
<div class="footer-bottom">
<span class="footer-copy">© 2026 Raynmaker, Inc. All rights reserved.</span>
<span class="footer-contact"><a href="mailto:hello@raynmaker.ai">hello@raynmaker.ai</a></span>
</div>
</div>
</footer>
<style>
/* ── FOOTER CANONICAL CSS — defined here so it's consistent across all pages ── */
.site-footer{background:#0e0e1a;border-top:1px solid rgba(58,91,165,0.22);}
.footer-inner{max-width:1200px;margin:0 auto;padding:4rem 3rem 2.5rem;display:flex;flex-direction:column;gap:3rem;}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:3rem;}
.footer-logo-col{display:flex;flex-direction:column;}
.footer-logo-mark{width:52px;height:52px;flex-shrink:0;border-radius:50%;overflow:hidden;background:#D7FC70;}
.footer-logo-mark a,.footer-logo-mark picture{display:block;width:100%;height:100%;}
.footer-logo-mark svg,.footer-logo-mark img{width:100%;height:100%;display:block;object-fit:contain;}
.footer-right{display:flex;align-items:flex-start;gap:2.5rem;flex-wrap:wrap;}
.footer-more,.footer-legal{display:flex;flex-direction:column;gap:0.6rem;align-items:flex-start;margin-right:1rem;}
.footer-deep-label{font-family:var(--sans);font-size:0.58rem;font-weight:600;letter-spacing:0.38em;text-transform:uppercase;color:#ffffff;margin-bottom:0.3rem;}
.footer-more a,.footer-legal a{font-family:var(--sans);font-size:0.72rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:rgba(237,237,234,0.65);text-decoration:none;transition:color 0.3s;}
.footer-more a:hover,.footer-legal a:hover{color:#ffffff;}
.footer-socials{display:flex;gap:0.5rem;align-items:center;}
.footer-socials a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(255,255,255,0.08);transition:border-color 0.3s,background 0.3s;}
.footer-socials a:hover{border-color:rgba(58,91,165,0.35);background:rgba(58,91,165,0.08);}
.footer-socials a svg{width:14px;height:14px;fill:rgba(237,237,234,0.45);transition:fill 0.3s;}
.footer-socials a:hover svg{fill:#D7FC70;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.08);}
.footer-copy{font-family:var(--sans);font-size:0.72rem;font-weight:300;color:rgba(237,237,234,0.30);letter-spacing:0.04em;}
.footer-contact a{font-family:var(--sans);font-size:0.72rem;font-weight:300;color:rgba(237,237,234,0.30);text-decoration:none;letter-spacing:0.04em;transition:color 0.3s;}
.footer-contact a:hover{color:rgba(237,237,234,0.65);}
@media(max-width:768px){
.footer-inner{padding:3rem 1.5rem 2rem;}
.footer-main{flex-direction:column;align-items:flex-start;gap:2rem;}
.footer-right{flex-direction:column;gap:1.5rem;}
.footer-more,.footer-legal{margin-right:0;}
.footer-bottom{flex-direction:column;gap:0.8rem;align-items:flex-start;}
}
</style>
<script>
/* ── Scroll reveal (existing) ── */
const reveals = document.querySelectorAll('.reveal');
const obs = new IntersectionObserver(entries => {
entries.forEach(e => { if (e.isIntersecting) e.target.classList.add('visible'); });
}, { threshold: 0.06, rootMargin: '0px 0px -40px 0px' });
reveals.forEach(el => obs.observe(el));
/* ── Dark expanding sections: clip-path expand on scroll ── */
const expandingEls = ['answer-qualify', 'trust']
.map(id => document.getElementById(id))
.filter(Boolean);
function updateClosing() {
expandingEls.forEach(el => {
const rect = el.getBoundingClientRect();
const vh = window.innerHeight;
const isMob = window.innerWidth < 768;
const start = vh * 0.95;
const end = vh * 0.15;
const p = Math.max(0, Math.min(1, (start - rect.top) / (start - end)));
const maxSide = isMob ? 24 : 120;
const maxTop = isMob ? 12 : 32;
const maxR = 20;
const side = maxSide * (1 - p);
const top = maxTop * (1 - p);
const r = maxR * (1 - p);
el.style.clipPath = `inset(${top}px ${side}px 0 round ${r}px ${r}px 0 0)`;
});
}
/* Bind both to scroll + resize, run once on load */
function onScroll() { updateClosing(); }
window.addEventListener('scroll', onScroll, { passive: true });
window.addEventListener('resize', onScroll, { passive: true });
onScroll();
</script>
<script src="https://talk.platform.raynmaker.ai/embed.js"></script>
<script>
/* Reparents the talk-widget's launcher button + chat iframe (normally
injected as fixed elements on <body>) into the hero's right column so
it reads as part of the hero split instead of a viewport-corner FAB.
The chat iframe is forced open by default (it already has its own
dark card chrome, orb, and "tap to talk" prompt) so the hero shows it
directly, matching a reference layout the user liked. The mic
permission prompt still only fires when a visitor taps the orb inside
the iframe themselves — forcing it visible doesn't touch getUserMedia.
The launcher button becomes redundant once the panel is always open,
so it's hidden rather than left overlapping the card.
The widget re-appends/restyles itself periodically (to stay on top),
so this keeps re-claiming it rather than moving/styling it just once.
Fragile by nature: relies on the widget's own high z-index signature
(button/iframe, z-index >= 2147483000). If the vendor script changes
how it injects itself, this stops matching and it falls back to floating. */
(function () {
var slot = document.getElementById('hero-widget-slot');
if (!slot) return;
function isWidgetEl(el) {
if (!el || !el.tagName || (el.tagName !== 'BUTTON' && el.tagName !== 'IFRAME')) return false;
/* Once claimed, keep matching regardless of z-index — pin() deliberately
lowers it below the site nav's, so the original ">= 2147483000"
signature alone would stop matching after the first pin() and this
element would never be re-claimed if the vendor script touches it again. */
if (slot.contains(el)) return true;
return parseInt(el.style.zIndex, 10) >= 2147483000;
}
/* Only writes when the value actually differs. This is essential, not
just tidy: pin() runs from a MutationObserver watching this element's
style attribute, so an unconditional write re-triggers the very
mutation it's handling — an infinite synchronous loop that freezes
the tab. Every assignment below must stay guarded like this. */
function setStyle(el, prop, val) {
if (el.style[prop] !== val) el.style[prop] = val;
}
function pin(el) {
setStyle(el, 'position', 'absolute');
/* The vendor sets a z-index meant to float above an entire page
(2147483000+). Left as-is, that beats the site nav's z-index:1000
once the card scrolls up under it. Cap it to something sane now
that it's contained inside the hero column, not floating loose. */
setStyle(el, 'zIndex', '1');
if (el.tagName === 'IFRAME') {
/* Fill the slot exactly instead of the vendor's viewport-relative
sizing (right/bottom offsets + calc(100vw/100vh) dimensions),
which otherwise overflows past the slot on short/narrow screens
and renders on top of the hero text (its z-index is huge). */
setStyle(el, 'inset', '0px');
setStyle(el, 'right', 'auto');
setStyle(el, 'bottom', 'auto');
setStyle(el, 'width', '100%');
setStyle(el, 'height', '100%');
setStyle(el, 'maxWidth', 'none');
setStyle(el, 'maxHeight', 'none');
setStyle(el, 'display', 'block');
/* The parent's overflow:hidden + border-radius doesn't reliably
clip an iframe's own square corners in every browser (iframes
often promote to their own compositing layer). Set the radius
directly on the iframe too so no sharp corner peeks through. */
setStyle(el, 'borderRadius', '3px');
setStyle(el, 'overflow', 'hidden');
/* The vendor sets its own 1px dark border directly on the iframe
(reads as a black outline against the hero's white bg). Strip it
so only the container's own chrome shows. */
setStyle(el, 'border', 'none');
} else if (el.tagName === 'BUTTON') {
setStyle(el, 'display', 'none');
}
}
function claim(el) {
if (!isWidgetEl(el)) return;
if (!slot.contains(el)) slot.appendChild(el);
pin(el);
}
function scanBody() {
Array.prototype.forEach.call(document.body.children, claim);
}
scanBody();
new MutationObserver(scanBody).observe(document.body, { childList: true });
new MutationObserver(function (mutations) {
mutations.forEach(function (m) { claim(m.target); });
}).observe(slot, { attributes: true, attributeFilter: ['style'], subtree: true, childList: true });
})();
</script>
<script>
/* Scales the fixed 600x600 trust-section widgets (Customize it / See it demos)
down to fit narrow viewports, same approach as the old portal fitPortal(). */
(function () {
var widgets = [
document.getElementById('iset-widget'),
document.getElementById('ilog-widget')
].filter(Boolean);
if (!widgets.length) return;
function fit(el) {
var wrap = el.closest('.trust-build');
if (!wrap) return;
var avail = wrap.clientWidth;
var scale = Math.min(1, avail / 600);
el.style.transform = 'scale(' + scale + ')';
el.style.transformOrigin = 'top left';
wrap.style.height = (600 * scale) + 'px';
}
function fitAll() { widgets.forEach(fit); }
window.addEventListener('resize', fitAll, { passive: true });
fitAll();
})();
</script>
</body>
</html>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 20
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 20 оптимально.
Внутренние ссылки не запрещены к индексации в robots.txt.
На странице присутствуют изображения 2.
Показать внутренние ссылки
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| / |
Home
|
|
Анализировать url |
| /how-it-works |
How It Works
|
|
Анализировать url |
| /platform |
Platform
|
|
Анализировать url |
| /solutions |
Solutions
|
|
Анализировать url |
| /about |
About
|
|
Анализировать url |
| /experience-it |
Experience It
|
|
Анализировать url |
| /experience-it |
Hear more recordings →
|
|
Анализировать url |
| /platform |
See All Products
|
|
Анализировать url |
| /experience-it |
Talk to our Voice AI
|
|
Анализировать url |
| /neuro-engine |
Neuro-Engine
|
|
Анализировать url |
| /conviction |
Manifesto
|
|
Анализировать url |
| /ai-constitution |
AI Constitution
|
|
Анализировать url |
| /tes-partner |
TES Partner
|
|
Анализировать url |
| /revenue-leak |
The Revenue Leak
|
|
Анализировать url |
| /blog |
Blog
|
|
Анализировать url |
| /press |
Press & Media
|
|
Анализировать url |
| /faq |
FAQ
|
|
Анализировать url |
| /privacy-policy |
Privacy Policy
|
|
Анализировать url |
| /terms-and-conditions |
Terms & Conditions
|
|
Анализировать url |
| /raynmaker-terms-of-use |
Terms of Use
|
|
Анализировать url |
Внешние ссылки
Кол-во: 8
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 8 слишком много. Спрячьте лишние ссылки в тег noindex или атрибут rel='nofollow'!
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| calendly.com |
Talk to Sales
|
Анализировать url |
| calendly.com |
Get Started
|
Анализировать url |
| linkedin.com |
<svg viewbox="0 0 24 24"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg>
|
Анализировать url |
| youtube.com |
<svg viewbox="0 0 24 24"><path d="M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.546 12 3.546 12 3.546s-7.505 0-9.377.504A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.504 9.376.504 9.376.504s7.505 0 9.377-.504a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"></path></svg>
|
Анализировать url |
| facebook.com |
<svg viewbox="0 0 24 24"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg>
|
|
| instagram.com |
<svg viewbox="0 0 24 24"><path d="M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678a6.162 6.162 0 100 12.324 6.162 6.162 0 100-12.324zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405a1.441 1.441 0 11-2.88 0 1.441 1.441 0 012.88 0z"></path></svg>
|
|
| tiktok.com |
<svg viewbox="0 0 24 24"><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"></path></svg>
|
|
| x.com |
<svg viewbox="0 0 24 24"><path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"></path></svg>
|
Анализировать url |
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Сайт redandnavy.com не совсем готов к продвижению (процент готовности лишь 65%). Для попадания в ТОПы поисковых систем нужно:
Исправьте ошибки в мета-тегах.
Исправьте ошибки индексации.
Поделитесь с друзьями: