Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 35114 байт. Загружен за: 0сек.
Проверяемая страница не запрещена в robots.txt.
Цепочка редиректов для файла robots.txt:
http://snovago.ru/robots.txt
301 MovedPermanently
https://snovago.ru/robots.txt
200 OK
Показать содержимое robots.txt
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Снова — напоминаем клиентам записаться снова. Для барберов и мастеров маникюра</title>
<meta name="description" content="Каждый третий клиент не возвращается — просто забыл записаться. «Снова» вовремя напомнит ему — в Telegram или по SMS. Для барберов и мастеров маникюра. Первый месяц бесплатно, от 690 ₽/мес.">
<meta name="theme-color" content="#0E8C7A">
<meta property="og:type" content="website">
<meta property="og:title" content="Снова — возвращаем ваших клиентов на повторную запись">
<meta property="og:description" content="Вовремя напомним клиенту записаться снова — в Telegram или по SMS. Для барберов и мастеров маникюра. Первый месяц бесплатно.">
<meta property="og:locale" content="ru_RU">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='8' fill='%230E8C7A'/%3E%3Ctext x='16' y='23' font-size='20' text-anchor='middle' fill='white' font-family='Arial'%3E%E2%86%BB%3C/text%3E%3C/svg%3E">
<style>
:root{
--paper:#F1F5F3; --surface:#FFFFFF; --surface-2:#E4EDE9;
--ink:#131C1A; --ink-soft:#4C5A56; --line:#D2DDD8;
--accent:#0E8C7A; --accent-deep:#0A6D5F; --warm:#D6812F; --warm-ink:#A05713; --warm-soft:#F3E6D4;
--shadow:rgba(15,45,40,.16); --shadow-lg:rgba(15,45,40,.22);
--r:14px; --maxw:1080px;
}
@media (prefers-color-scheme:dark){
:root{
--paper:#0E1413; --surface:#18211F; --surface-2:#212D2A;
--ink:#EAF1EF; --ink-soft:#A2B1AD; --line:#2E3B37;
--accent:#2FBBA4; --accent-deep:#22A38E; --warm:#E8A860; --warm-ink:#E8A860; --warm-soft:#2C2418;
--shadow:rgba(0,0,0,.5); --shadow-lg:rgba(0,0,0,.6);
}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
margin:0; background:var(--paper); color:var(--ink);
font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 22px}
section{padding:clamp(46px,7.5vw,90px) 0}
h1,h2,h3{margin:0; text-wrap:balance; line-height:1.08; letter-spacing:-.025em}
p{margin:0}
a{color:inherit}
.eyebrow{font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-deep); font-weight:700}
.msg-ex{display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); max-width:760px; margin:0 auto}
.msg-ex-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:18px}
.msg-ex .eyebrow{margin-bottom:10px}
.msg-ex .eyebrow.warm{color:var(--warm-ink)}
.msg-ex-bubble{background:var(--surface-2); border-radius:var(--r) var(--r) var(--r) 4px; padding:12px 15px; line-height:1.5}
.muted{color:var(--ink-soft)}
.free-tag{display:inline-flex;align-items:center;gap:7px;background:var(--warm-soft);color:var(--warm-ink);font-weight:700;font-size:.82rem;padding:6px 13px;border-radius:999px;letter-spacing:.01em}
.btn{
display:inline-flex; align-items:center; justify-content:center; gap:.5em; cursor:pointer;
background:var(--accent); color:#fff; text-decoration:none; border:none;
font:inherit; font-weight:700; font-size:1.05rem; padding:.92em 1.6em; border-radius:12px;
box-shadow:0 14px 28px -12px var(--accent); transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.btn:hover{transform:translateY(-2px); background:var(--accent-deep); box-shadow:0 20px 34px -14px var(--accent)}
.btn:focus-visible{outline:3px solid var(--warm); outline-offset:3px}
.btn.warm{background:var(--warm); box-shadow:0 14px 28px -12px var(--warm)}
.btn.warm:hover{background:#c0731f}
.btn.ghost{background:transparent; color:var(--ink); box-shadow:none; border:1px solid var(--line); padding:.68em 1.2em; font-size:.95rem; font-weight:600}
.btn.ghost:hover{background:var(--surface-2); transform:none; border-color:var(--accent)}
.microcopy{font-size:.86rem; color:var(--ink-soft); margin-top:.9em; display:flex; align-items:center; gap:.5em; flex-wrap:wrap}
.dot{width:5px;height:5px;border-radius:50%;background:var(--warm);display:inline-block}
header.nav{position:sticky; top:0; z-index:30; background:color-mix(in srgb,var(--paper) 90%,transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.nav-in{display:flex; align-items:center; justify-content:space-between; height:62px}
.brand{display:flex; align-items:center; gap:.5em; font-weight:800; font-size:1.32rem; letter-spacing:-.03em}
.brand .mk{width:26px;height:26px;border-radius:8px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800}
/* HERO */
.hero-grid{display:grid; grid-template-columns:1fr; gap:clamp(34px,5vw,58px); align-items:center}
@media(min-width:900px){.hero-grid{grid-template-columns:1.05fr .95fr}}
h1.hero{font-size:clamp(2.5rem,6.2vw,4.1rem); font-weight:850; margin:.34em 0 .42em}
h1.hero span{color:var(--accent)}
.hero-sub{font-size:clamp(1.05rem,2.3vw,1.26rem); color:var(--ink-soft); max-width:38ch; margin-bottom:1.7em}
.hero-cta .btn{width:100%; max-width:340px}
@media(min-width:560px){.hero-cta .btn{width:auto}}
.channels{display:flex; gap:8px; flex-wrap:wrap; margin-top:20px}
.ch{font-size:.8rem; font-weight:600; color:var(--ink-soft); background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:6px 13px; display:flex; align-items:center; gap:6px}
.ch b{color:var(--accent)}
.phone-stage{display:flex; justify-content:center}
.phone{width:min(322px,88vw); background:var(--surface); border-radius:36px; border:1px solid var(--line); padding:10px 12px 20px; box-shadow:0 44px 80px -30px var(--shadow-lg), 0 10px 26px -14px var(--shadow); position:relative}
.statusbar{display:flex; align-items:center; justify-content:space-between; padding:6px 14px 10px; font-size:.72rem; color:var(--ink-soft); font-weight:600}
.statusbar .sig{display:flex; gap:3px; align-items:flex-end}
.statusbar .sig i{width:3px;background:var(--ink-soft);border-radius:1px;display:block}
.statusbar .sig i:nth-child(1){height:5px}.statusbar .sig i:nth-child(2){height:7px}.statusbar .sig i:nth-child(3){height:9px}.statusbar .sig i:nth-child(4){height:11px}
.chat-head{display:flex; align-items:center; gap:10px; padding:8px 6px 14px; border-bottom:1px solid var(--line); margin-bottom:12px}
.avatar{width:38px;height:38px;border-radius:50%; background:var(--accent); display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.95rem;flex:0 0 auto}
.chat-head .who{font-weight:700;font-size:.98rem}
.chat-head .stat{font-size:.72rem;color:var(--ink-soft)}
.chat{display:flex; flex-direction:column; gap:9px; padding:2px 6px 4px; min-height:236px}
.bubble{max-width:82%; padding:9px 13px; font-size:.92rem; line-height:1.42; border-radius:15px; opacity:0; transform:translateY(8px)}
.bubble.in{background:var(--surface-2); border-bottom-left-radius:5px; align-self:flex-start; color:var(--ink)}
.bubble.out{background:var(--accent); color:#fff; border-bottom-right-radius:5px; align-self:flex-end}
.bubble.reveal{animation:pop .34s ease forwards}
.tag-auto{align-self:flex-start; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); font-weight:700; display:flex; align-items:center; gap:5px; margin-bottom:2px}
.tag-auto .dot{background:var(--accent)}
.phone-cap{text-align:center; font-size:.8rem; color:var(--ink-soft); margin-top:12px}
@keyframes pop{to{opacity:1; transform:translateY(0)}}
.rise{opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease}
.rise.seen{opacity:1; transform:none}
/* generic section head */
.head-block{max-width:40ch; margin-bottom:clamp(30px,4.5vw,48px)}
.head-block.center{margin-left:auto;margin-right:auto;text-align:center}
h2.title{font-size:clamp(1.95rem,4.4vw,2.9rem); font-weight:850}
/* PAIN */
.pain{background:var(--surface-2)}
.pain-grid{display:grid; grid-template-columns:1fr; gap:32px; align-items:center}
@media(min-width:820px){.pain-grid{grid-template-columns:.8fr 1.2fr}}
.bignum{font-weight:850; font-size:clamp(3.6rem,12vw,6.4rem); line-height:.9; color:var(--warm); letter-spacing:-.04em}
.chips{display:flex; flex-direction:column; gap:12px}
.chip{background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:15px 17px; display:flex; gap:12px; align-items:flex-start; transition:transform .16s ease, border-color .16s ease}
.chip:hover{transform:translateY(-2px); border-color:var(--accent)}
.chip .x{color:var(--warm); font-weight:800; font-size:1.05rem; line-height:1.35}
/* HOW — timeline */
.timeline{display:flex; flex-direction:column; gap:0; max-width:640px}
.tl-step{display:grid; grid-template-columns:44px 1fr; gap:18px; padding-bottom:30px; position:relative}
.tl-step:not(:last-child)::before{content:""; position:absolute; left:21px; top:44px; bottom:0; width:2px; background:var(--line)}
.tl-num{width:44px;height:44px;border-radius:50%; background:var(--accent); color:#fff; font-weight:800; display:flex;align-items:center;justify-content:center; font-size:1.1rem; z-index:1}
.tl-step h3{font-size:1.2rem; font-weight:700; margin:6px 0 6px}
.tl-step p{color:var(--ink-soft); font-size:1rem}
.tl-step .note{display:inline-block;margin-top:8px;font-size:.85rem;color:var(--warm-ink);font-weight:600}
/* mid CTA band */
.band{background:var(--accent); color:#fff}
.band .wrap{display:flex; flex-direction:column; gap:18px; align-items:center; text-align:center}
@media(min-width:720px){.band .wrap{flex-direction:row; justify-content:space-between; text-align:left}}
.band h3{font-size:clamp(1.4rem,3.2vw,2rem); font-weight:800; color:#fff; max-width:20ch}
.band .btn{background:#fff; color:var(--accent-deep); box-shadow:0 14px 28px -14px rgba(0,0,0,.5); flex:0 0 auto}
.band .btn:hover{background:#f0f6f4}
/* MATH — equation */
.money{background:var(--ink)}
.money *{color:var(--paper)}
.money .eyebrow{color:var(--warm)}
.money .note{color:var(--paper);opacity:.6;font-size:.86rem;margin-top:14px}
.calc{display:grid; grid-template-columns:1fr; gap:14px; margin-top:14px; align-items:stretch}
@media(min-width:760px){.calc{grid-template-columns:1fr auto 1fr auto 1fr}}
.calc .cell{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13); border-radius:var(--r); padding:24px}
.calc .cell.win{background:var(--warm); border-color:var(--warm); box-shadow:0 0 46px -10px var(--warm)}
.calc .cell.win *{color:#20170a}
.calc .k{font-size:.8rem; letter-spacing:.05em; text-transform:uppercase; opacity:.82}
.calc .v{font-weight:850; font-size:clamp(2rem,6vw,2.9rem); line-height:1.05; margin-top:8px; letter-spacing:-.03em}
.calc small{opacity:.72; font-size:.85rem}
.calc .op{display:flex;align-items:center;justify-content:center;font-size:1.5rem;opacity:.5;font-weight:700}
@media(max-width:759px){.calc .op{display:none}}
/* anti-spam block */
.safe{background:var(--surface-2)}
.safe-card{background:var(--surface); border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:16px; padding:clamp(26px,4vw,38px); box-shadow:0 12px 34px -22px var(--shadow); max-width:820px}
.safe-card h2{font-size:clamp(1.6rem,3.6vw,2.2rem); font-weight:800; margin-bottom:10px}
.safe-list{display:grid; grid-template-columns:1fr; gap:14px; margin-top:22px}
@media(min-width:680px){.safe-list{grid-template-columns:1fr 1fr}}
.safe-item{display:flex; gap:11px; align-items:flex-start}
.safe-item .ic{color:var(--accent); font-weight:800; flex:0 0 auto; font-size:1.05rem}
.safe-item b{display:block}
.safe-item span{color:var(--ink-soft); font-size:.94rem}
/* guarantees strip */
.guar{display:grid; grid-template-columns:1fr; gap:16px}
@media(min-width:640px){.guar{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.guar{grid-template-columns:repeat(4,1fr)}}
.guar-item{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:22px 20px; transition:transform .16s ease, border-color .16s ease}
.guar-item:hover{transform:translateY(-3px); border-color:var(--accent)}
.guar-item .ic{width:36px;height:36px;border-radius:10px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:12px}
.guar-item b{display:block; font-size:1.02rem; margin-bottom:5px}
.guar-item span{color:var(--ink-soft); font-size:.92rem}
/* pricing */
.price-wrap{display:grid; grid-template-columns:1fr; gap:18px}
@media(min-width:760px){.price-wrap{grid-template-columns:repeat(3,1fr); align-items:stretch}}
.price{background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:30px 26px; box-shadow:0 16px 40px -30px var(--shadow-lg); position:relative; display:flex; flex-direction:column; transition:transform .16s ease, border-color .16s ease}
.price:hover{transform:translateY(-3px); border-color:var(--accent)}
.price.feat{border-color:var(--accent); box-shadow:0 26px 56px -28px var(--accent)}
.price .badge{position:absolute; top:-11px; left:26px; background:var(--accent); color:#fff; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; font-weight:700; padding:5px 11px; border-radius:999px}
.price .tname{font-weight:700; font-size:1.05rem; margin-bottom:12px}
.price .amt{font-weight:850; font-size:2.6rem; letter-spacing:-.03em; line-height:1}
.price .per{color:var(--ink-soft); font-size:.95rem}
.price ul{list-style:none; padding:0; margin:20px 0 24px; display:flex; flex-direction:column; gap:11px; flex:1}
.price li{display:flex; gap:10px; align-items:flex-start; font-size:.95rem}
.price li .ck{color:var(--accent); font-weight:800; flex:0 0 auto}
.price .btn{width:100%; font-size:.98rem}
.price-note{text-align:center;margin-top:20px;font-size:.9rem;color:var(--ink-soft)}
.price-note b{color:var(--ink)}
/* faq */
.faq{max-width:760px; margin:0 auto}
details{border-bottom:1px solid var(--line); padding:4px 0}
summary{cursor:pointer; list-style:none; padding:18px 44px 18px 4px; font-size:1.06rem; font-weight:700; position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+"; position:absolute; right:8px; top:15px; font-size:1.5rem; color:var(--accent); transition:transform .2s ease}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 4px 20px; color:var(--ink-soft)}
.final{text-align:center; background:var(--surface-2)}
.final h2{font-size:clamp(2rem,5.5vw,3.1rem); font-weight:850; margin-bottom:.55em}
.final .microcopy{justify-content:center}
footer.ft{border-top:1px solid var(--line); padding:38px 0 110px; font-size:.88rem; color:var(--ink-soft)}
.ft-top{display:flex; flex-wrap:wrap; gap:16px 28px; justify-content:space-between; align-items:center}
.ft a{color:var(--ink-soft); text-decoration:none; border-bottom:1px solid transparent}
.ft a:hover{color:var(--accent); border-color:var(--accent)}
.ft-links{display:flex;gap:18px;flex-wrap:wrap}
.ph{color:var(--ink-soft); font-size:.82rem; margin-top:14px; display:block}
/* cabinet preview */
.cabinet{background:var(--surface-2)}
.cab-frame{max-width:440px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 34px 64px -34px var(--shadow-lg);overflow:hidden}
.cab-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line)}
.cab-bar i{width:10px;height:10px;border-radius:50%;background:var(--line);display:block}
.cab-bar .u{margin-left:auto;font-size:.74rem;color:var(--ink-soft)}
.cab-body{padding:22px}
.cab-body h4{margin:0 0 3px;font-size:1.1rem;letter-spacing:-.02em}
.cab-body .cs{color:var(--ink-soft);font-size:.84rem;margin:0 0 16px}
.cab-stats{display:flex;gap:10px;margin-bottom:14px}
.cab-stat{flex:1;background:var(--surface-2);border-radius:11px;padding:13px 8px;text-align:center}
.cab-stat.hot{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 34%,transparent)}
.cab-stat b{display:block;font-size:1.35rem;letter-spacing:-.02em}
.cab-stat.hot b{color:var(--accent-deep)}
.cab-stat span{font-size:.68rem;color:var(--ink-soft)}
.cab-client{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:11px;padding:12px 14px;font-size:.9rem}
.cab-client .bell{color:var(--accent);font-size:.82rem;font-weight:600}
.cab-cap{text-align:center;color:var(--ink-soft);font-size:.82rem;margin-top:14px}
/* sticky mobile CTA */
.sticky-cta{position:fixed; left:0; right:0; bottom:0; z-index:40; padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:color-mix(in srgb,var(--paper) 92%,transparent); backdrop-filter:blur(10px); border-top:1px solid var(--line); display:none}
.sticky-cta .btn{width:100%}
@media(max-width:760px){.sticky-cta{display:block}}
@media (prefers-reduced-motion:reduce){
*{animation:none!important; transition:none!important}
.bubble{opacity:1; transform:none} .rise{opacity:1; transform:none}
}
</style>
</head>
<body>
<header class="nav">
<div class="wrap nav-in">
<div class="brand"><span class="mk">↻</span>Снова</div>
<a class="btn ghost" href="/login">Войти</a>
</div>
</header>
<main>
<!-- HERO -->
<section>
<div class="wrap hero-grid">
<div class="rise seen">
<span class="free-tag">🎁 Первый месяц бесплатно</span>
<h1 class="hero" style="margin-top:.5em">Каждый третий клиент не вернулся — просто <span>забыл записаться</span></h1>
<p class="hero-sub">«Снова» вовремя напомнит ему — вашим текстом, от вашего имени. А вы просто примете запись. Для барберов и мастеров маникюра.</p>
<div class="hero-cta">
<a class="btn" href="/login">Подключить бесплатно на месяц →</a>
<div class="microcopy"><span class="dot"></span> без карты <span class="dot"></span> номер только для входа — не звоним и не спамим</div>
</div>
<div class="channels">
<span class="ch"><b>✓</b> Telegram</span>
<span class="ch"><b>✓</b> SMS</span>
<span class="ch"><b>✓</b> кабинет на сайте</span>
</div>
<p style="margin-top:12px;font-size:.82rem;color:var(--ink-soft);max-width:34em">Напоминания в <b>Telegram — бесплатно и без лимита</b>. Нет Telegram — уйдёт <b>по SMS</b>, дойдёт до любого клиента.</p>
</div>
<div class="phone-stage">
<div class="phone" role="img" aria-label="Пример: сервис напоминает клиенту записаться снова, клиент соглашается">
<div class="statusbar"><span id="sb-time">9:41</span><span class="sig"><i></i><i></i><i></i><i></i></span></div>
<div class="chat-head">
<div class="avatar" id="ch-av">И</div>
<div><div class="who" id="ch-name">Игорь</div><div class="stat" id="ch-stat">последний визит — 3 недели назад</div></div>
</div>
<div class="chat" id="chat">
<div class="tag-auto"><span class="dot"></span> отправлено автоматически</div>
</div>
</div>
</div>
</div>
</section>
<!-- PAIN -->
<section class="pain">
<div class="wrap">
<div class="head-block rise">
<span class="eyebrow">Куда утекает выручка</span>
<h2 class="title">Клиент приходит один раз — и пропадает</h2>
</div>
<div class="pain-grid rise">
<div>
<div class="bignum">30–40%</div>
<p class="muted" style="margin-top:12px">клиентов не возвращаются просто потому, что им вовремя никто не напомнил. Не потому что не понравилось — потому что забыли.</p>
</div>
<div class="chips">
<div class="chip"><span class="x">—</span><div><b>«Запишусь попозже»</b> — и не записывается никогда.</div></div>
<div class="chip"><span class="x">—</span><div><b>Ушёл к другому мастеру</b>, который просто первым написал.</div></div>
<div class="chip"><span class="x">—</span><div><b>Вести всех вручную</b> и напоминать каждому — руки не доходят.</div></div>
</div>
</div>
</div>
</section>
<!-- HOW -->
<section>
<div class="wrap">
<div class="head-block rise">
<span class="eyebrow">Как это работает</span>
<h2 class="title">Три шага — и клиенты возвращаются сами</h2>
</div>
<div class="timeline rise">
<div class="tl-step">
<div class="tl-num">1</div>
<div>
<h3>Отмечаете визит в один тап</h3>
<p>После приёма добавляете клиента (имя + телефон) — или он записывается сам по вашей ссылке. Это заменяет тетрадку и заметки.</p>
<span class="note">≈ 10 секунд на клиента, не сложнее заметки</span>
</div>
</div>
<div class="tl-step">
<div class="tl-num">2</div>
<div>
<h3>Сервис сам пишет клиенту</h3>
<p>В нужный момент напоминает записаться снова — вашим текстом, от вашего имени. Есть Telegram — придёт туда, нет — уйдёт по SMS.</p>
</div>
</div>
<div class="tl-step">
<div class="tl-num">3</div>
<div>
<h3>Вы принимаете запись</h3>
<p>Клиент отвечает в один тап. Вам приходит готовая запись — без переписок, обзвона и «напомню завтра».</p>
</div>
</div>
</div>
<div class="rise" style="margin-top:30px">
<p class="muted" style="text-align:center;margin-bottom:14px">Вот что именно получит ваш клиент — по-человечески, вашими словами. Текст напоминания вы задаёте и меняете сами в кабинете.</p>
<div class="msg-ex">
<div class="msg-ex-card">
<div class="eyebrow">Барбер → клиенту</div>
<div class="msg-ex-bubble">Игорь, привет! 👋 Уже три недели — пора освежить стрижку. Записать вас?</div>
</div>
<div class="msg-ex-card">
<div class="eyebrow warm">Мастер маникюра → клиентке</div>
<div class="msg-ex-bubble">Аня, привет! 🌿 Прошло 3 недели — пора обновить маникюр. Хотите записаться?</div>
</div>
</div>
</div>
</div>
</section>
<!-- CABINET PREVIEW -->
<section class="cabinet">
<div class="wrap">
<div class="head-block rise center">
<span class="eyebrow">Ваш кабинет</span>
<h2 class="title">Просто — вот как это выглядит</h2>
<p class="muted" style="margin-top:12px">Никаких сложных программ. Добавили клиента после визита — сервис сам показывает, когда напомнит.</p>
</div>
<div class="cab-frame rise">
<div class="cab-bar"><i></i><i></i><i></i><span class="u">snovago.ru/app</span></div>
<div class="cab-body">
<h4>С возвращением, мастер 👋</h4>
<p class="cs">Сервис возвращает клиентов сам — вам остаётся принимать записи</p>
<div class="cab-stats">
<div class="cab-stat hot"><b>96</b><span>клиентов</span></div>
<div class="cab-stat"><b>7</b><span>напоминаний ждут</span></div>
<div class="cab-stat"><b>21</b><span>вернулись</span></div>
</div>
<div class="cab-client" style="margin-bottom:9px"><span><b>Игорь</b> · стрижка</span><span class="bell">🔔 напомним 28.09</span></div>
<div class="cab-client"><span><b>Аня</b> · маникюр</span><span class="bell">🔔 напомним 21.09</span></div>
</div>
</div>
<p class="cab-cap rise">Так кабинет выглядит в работе. У вас он начнётся с нуля — и наполнится за пару недель.</p>
</div>
</section>
<!-- MID CTA -->
<section class="band">
<div class="wrap rise">
<h3>Попробуйте месяц бесплатно — без карты и без риска</h3>
<a class="btn" href="/login">Подключить сейчас →</a>
</div>
</section>
<!-- MATH -->
<section class="money">
<div class="wrap">
<div class="head-block rise">
<span class="eyebrow">Пример расчёта</span>
<h2 class="title">Окупается с одного вернувшегося клиента</h2>
</div>
<div class="calc rise">
<div class="cell"><div class="k">Вернуть клиентов</div><div class="v">от 7</div><small>повторных записей в месяц</small></div>
<div class="op">×</div>
<div class="cell"><div class="k">Средний чек 1 000 ₽</div><div class="v">от 7 000 ₽</div><small>к вашей выручке</small></div>
<div class="op">→</div>
<div class="cell win"><div class="k">А стоит</div><div class="v">от 690 ₽</div><small>в месяц · первый месяц бесплатно</small></div>
</div>
<p class="note rise">Это пример при чеке 1 000 ₽, а не обещание — результат зависит от вашей базы. Но даже 1–2 вернувшихся клиента уже окупают сервис.</p>
</div>
</section>
<!-- ANTI-SPAM -->
<section class="safe">
<div class="wrap">
<div class="safe-card rise">
<span class="eyebrow">Про ваших клиентов</span>
<h2>Это не спам. Это забота вашими словами</h2>
<p class="muted">Ваша тёплая база — ваше лицо. Поэтому вы всё контролируете, а не робот.</p>
<div class="safe-list">
<div class="safe-item"><span class="ic">✎</span><div><b>Текст пишете вы сами</b><span>Своими словами и смайликами. Никаких «Уважаемый клиент».</span></div></div>
<div class="safe-item"><span class="ic">1×</span><div><b>Напоминаем один раз, деликатно</b><span>Не «долбим». Не ответил — не преследуем.</span></div></div>
<div class="safe-item"><span class="ic">✕</span><div><b>Отписка в один тап</b><span>Клиент может отказаться сам — вы ничего не портите.</span></div></div>
<div class="safe-item"><span class="ic">🔒</span><div><b>База — только ваша</b><span>Хранится в РФ, конкуренты и другие мастера её не видят.</span></div></div>
</div>
</div>
</div>
</section>
<!-- GUARANTEES -->
<section>
<div class="wrap">
<div class="head-block rise" style="max-width:44ch">
<span class="eyebrow">Пробуете без риска</span>
<h2 class="title">Ничем не рискуете</h2>
<p class="muted" style="margin-top:12px">Поможем настроить лично, а первый месяц вы ничего не платите.</p>
</div>
<div class="guar rise">
<div class="guar-item"><div class="ic">🎁</div><b>Первый месяц бесплатно</b><span>Без карты при подключении. Понравится — продолжите.</span></div>
<div class="guar-item"><div class="ic">✕</div><b>Отписка в один клик</b><span>Никаких договоров и звонков «удержания».</span></div>
<div class="guar-item"><div class="ic">📤</div><b>База всегда ваша</b><span>Уйдёте — заберёте всех клиентов выгрузкой. Ничего не «запрём».</span></div>
<div class="guar-item"><div class="ic">🇷🇺</div><b>Данные в России</b><span>Хранятся по 152-ФЗ. Клиентов видите только вы.</span></div>
</div>
</div>
</section>
<!-- PRICING -->
<section class="pain">
<div class="wrap">
<div class="head-block rise center">
<span class="eyebrow">Тарифы</span>
<h2 class="title">Платите за софт — SMS по факту</h2>
<p class="muted" style="margin-top:12px">Telegram — всегда бесплатно и без лимита. SMS доезжает до всех и входит пакетом в тариф.</p>
</div>
<div class="price-wrap rise">
<div class="price">
<div class="tname">Старт</div>
<div><span class="amt">690 ₽</span> <span class="per">/ мес</span></div>
<ul><li><span class="ck">✓</span> Безлимит Telegram</li><li><span class="ck">✓</span> 50 SMS в месяц включено</li><li><span class="ck">✓</span> Кабинет на сайте + бот</li><li><span class="ck">✓</span> Автовозврат клиентов</li></ul>
<a class="btn ghost" href="/login">Начать бесплатно</a>
</div>
<div class="price feat">
<span class="badge">Популярный</span>
<div class="tname">Про</div>
<div><span class="amt">1 490 ₽</span> <span class="per">/ мес</span></div>
<ul><li><span class="ck">✓</span> Всё из «Старт»</li><li><span class="ck">✓</span> 200 SMS в месяц включено</li><li><span class="ck">✓</span> Напоминания перед визитом</li><li><span class="ck">✓</span> Статистика возвратов</li></ul>
<a class="btn" href="/login">Начать бесплатно</a>
</div>
<div class="price">
<div class="tname">Салон</div>
<div><span class="amt">2 990 ₽</span> <span class="per">/ мес</span></div>
<ul><li><span class="ck">✓</span> Всё из «Про»</li><li><span class="ck">✓</span> 500 SMS + WhatsApp</li><li><span class="ck">✓</span> Несколько мастеров</li><li><span class="ck">✓</span> Приоритетная поддержка</li></ul>
<a class="btn ghost" href="/login">Начать бесплатно</a>
</div>
</div>
<p class="price-note rise">У большинства мастеров выходит <b>~690 ₽ + пара SMS</b>. Кончатся включённые SMS — предупредим (сверх — <b>~8 ₽ за SMS</b>), без спроса не списываем. Первый месяц — бесплатно, без карты.</p>
</div>
</section>
<!-- FAQ -->
<section>
<div class="wrap">
<div class="head-block rise center">
<span class="eyebrow">Вопросы</span>
<h2 class="title">Коротко о главном</h2>
</div>
<div class="faq rise">
<details open><summary>Откуда сервис возьмёт телефоны моих клиентов?</summary><p>Вы добавляете их сами — после визита в один тап (имя + телефон), либо клиент записывается по вашей ссылке/QR. Никакой готовой базы не нужно, всё наполняется по ходу работы.</p></details>
<details><summary>Это не будет выглядеть как спам?</summary><p>Нет. Текст пишете вы сами, от своего имени. Напоминание уходит один раз и деликатно — если клиент не ответил, сервис его не преследует. Отписаться клиент может в один тап.</p></details>
<details><summary>Нужен ли сайт или технические знания?</summary><p>Нет. Настраиваете в кабинете на сайте или в Telegram — по шагам, за 10 минут. Дальше только отмечаете визиты, остальное сервис делает сам.</p></details>
<details><summary>А если у клиента нет Telegram?</summary><p>Тогда напоминание уйдёт по SMS — оно доезжает до любого телефона. Сервис сам выбирает канал: есть Telegram — пишет туда (бесплатно), нет — отправляет SMS.</p></details>
<details><summary>От кого придёт сообщение клиенту?</summary><p>От вас. В SMS отправитель — ваше имя или название (не безликий номер), в Telegram сразу понятно, что это по записи к вам. Клиент видит, что пишете вы, а не «какой-то сервис».</p></details>
<details><summary>А если клиент ответит своими словами — «можно на следующей неделе»?</summary><p>Его ответ придёт вам, и вы отвечаете как обычно, сами. Сервис только присылает напоминание — живое общение с клиентом остаётся за вами, робот вас не подменяет.</p></details>
<details><summary>Как и когда спишутся деньги после бесплатного месяца?</summary><p>При подключении карта не нужна. Ближе к концу бесплатного месяца мы напомним и предложим выбрать тариф — без вашего действия ничего не спишется.</p></details>
<details><summary>Это законно — писать клиентам?</summary><p>Да, если это сервисные напоминания о записи и клиент дал согласие получать их. В карточке клиента есть отметка о согласии, а массовые рекламные рассылки сервис не делает.</p></details>
<details><summary>А если мне не подойдёт?</summary><p>Первый месяц бесплатный и без карты. Не понравится — отписываетесь в один клик и забираете свою базу выгрузкой.</p></details>
</div>
</div>
</section>
<!-- FINAL -->
<section class="final">
<div class="wrap rise">
<h2>Перестаньте терять тех,<br>кто уже был у вас</h2>
<a class="btn" href="/login">Подключить бесплатно на месяц →</a>
<div class="microcopy"><span class="dot"></span> без карты <span class="dot"></span> отписка в один клик <span class="dot"></span> настройка 10 минут</div>
</div>
</section>
</main>
<footer class="ft">
<div class="wrap">
<div class="ft-top">
<div class="brand" style="font-size:1.1rem"><span class="mk" style="width:22px;height:22px;font-size:.85rem">↻</span>Снова</div>
<div>Сервис, который возвращает ваших клиентов</div>
<div class="ft-links">
<a href="/oferta.html">Оферта</a>
<a href="/privacy.html">Политика данных</a>
<a href="mailto:help@snovago.ru">Поддержка</a>
</div>
</div>
<span id="req">ИП Миронцев Сергей Алексеевич · ИНН 772427597403 · help@snovago.ru</span>
</div>
</footer>
<div class="sticky-cta"><a class="btn" href="/login">Подключить бесплатно →</a></div>
<script>
(function(){
var reduce = window.matchMedia("(prefers-reduced-motion:reduce)").matches;
// два примера: барбер и мастер маникюра — чтобы каждый узнал себя
var variants = [
{av:"И", name:"Игорь", stat:"последний визит — 3 недели назад",
msgs:[["in","Игорь, привет! Три недели прошло — пора обновить стрижку ✂️ Показать свободное время?"],["out","О, давай 👍"],["in","Чт 19:00 или Сб 12:00 — как удобнее?"],["out","Четверг"],["in","Записал на чт в 19:00. До встречи!"]]},
{av:"А", name:"Аня", stat:"последний визит — 3 недели назад",
msgs:[["in","Аня, привет! 🌸 Три недели прошло — пора обновить маникюр. Показать свободные окошки?"],["out","Ой, точно! Давайте 😍"],["in","Чт 15:00 или Пт 12:30 — что удобнее?"],["out","Четверг ✨"],["in","Записала вас на чт в 15:00. До встречи! 💅"]]}
];
var chat=document.getElementById("chat");
function render(v){
document.getElementById("ch-av").textContent=v.av;
document.getElementById("ch-name").textContent=v.name;
document.getElementById("ch-stat").textContent=v.stat;
// очистить старые бабблы (кроме тега)
chat.querySelectorAll(".bubble").forEach(function(b){b.remove()});
v.msgs.forEach(function(m,i){
var b=document.createElement("div");
b.className="bubble "+m[0];
b.textContent=m[1];
chat.appendChild(b);
if(reduce){ b.style.opacity=1; b.style.transform="none"; }
else { setTimeout(function(){ b.classList.add("reveal"); }, 180 + i*380); }
});
}
var vi=0; render(variants[0]);
if(!reduce){ setInterval(function(){ vi=(vi+1)%variants.length; render(variants[vi]); }, 7000); }
// reveal on scroll
if("IntersectionObserver" in window && !reduce){
var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add("seen");io.unobserve(e.target);}});},{threshold:.12});
document.querySelectorAll(".rise").forEach(function(el){io.observe(el);});
} else { document.querySelectorAll(".rise").forEach(function(el){el.classList.add("seen");}); }
})();
</script>
</body>
</html>