/* ============================================================
   Лендинг: спокойный редакционный стиль (референсы Дины Flying Phoenix + Dragonfruit,
   2026-10-22). Подключается после styles.css.
   Палитра — только лайм #C7FA0B, серый и чёрный. Шрифт — Jost обычной толщины.
   От Phoenix: светло-серый фон, карточки с тонкой рамкой, одна залитая карточка со
   срезанным углом и кружком-стрелкой, чёрные секции, бегущая строка между линиями.
   От Dragonfruit: размытые пятна (лайм/чёрный) на первом экране и в чёрных
   секциях, крупный логотип над линией, акцентные цифры.
   ============================================================ */

:root {
  --p-bg: #ececea;
  --p-ink: #141414;
  --p-grey: #d9d9d5;
  --p-line: rgba(20, 20, 20, .18);
  /* Зерно убрано по просьбе Дины (2026-10-22); слой оставлен пустым, чтобы не трогать
     списки background-size. */
  --p-grain: linear-gradient(transparent, transparent);
}

body { background: var(--p-bg); color: var(--p-ink); }
body::before { display: none; }

h1, h2, h3, h4 { font-weight: 500; letter-spacing: -.02em; }
.section__title { font-size: clamp(32px, 4.4vw, 52px); font-weight: 500; }
.section__lead { color: #4a4a47; }
.eyebrow { color: var(--p-ink); font-weight: 500; letter-spacing: .06em; text-transform: uppercase; font-size: 13px; }
.hl { background: none; padding: 0; }

/* ---------- кнопки: чёрные пилюли, вторичная — контур ---------- */
.btn {
  --btn-bg: var(--p-ink);
  --btn-fg: #fff;
  background: var(--btn-bg);
  font-weight: 500;
  letter-spacing: 0;
  box-shadow: none !important;
}
.btn:hover { transform: none; opacity: .88; }
.btn--primary { --btn-bg: var(--p-ink); --btn-fg: #fff; }
.btn--ghost {
  --btn-bg: transparent;
  --btn-fg: var(--p-ink);
  box-shadow: inset 0 0 0 1.5px var(--p-ink) !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.btn--ghost:hover { --btn-bg: var(--p-ink); --btn-fg: #fff; opacity: 1; }

/* ---------- шапка ---------- */
.header, .header.is-scrolled {
  background: rgba(236, 236, 234, .92);
  border-bottom: 1px solid var(--p-line);
  box-shadow: none;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.logo__mark { background: var(--lime); color: var(--p-ink); box-shadow: none; }
.logo__text, .logo__text span { color: var(--p-ink); font-weight: 600; }
.nav a { font-size: 14px; font-weight: 400; }

/* ---------- первый экран: зернистое размытое пятно, как у Dragonfruit ---------- */
.hero { padding: 28px 0 56px; }
.hero__glow { display: none; }
.hero__inner {
  position: relative;
  overflow: hidden;
  text-align: left;
  border-radius: 28px;
  padding: clamp(40px, 7vw, 96px) clamp(24px, 5vw, 64px) clamp(32px, 5vw, 56px);
  background:
    var(--p-grain),
    radial-gradient(40% 60% at 78% 30%, rgba(20, 20, 20, .14) 0%, rgba(20, 20, 20, 0) 70%),
    radial-gradient(50% 70% at 22% 80%, #c7fa0b 0%, rgba(199, 250, 11, 0) 72%),
    radial-gradient(45% 55% at 92% 92%, #c7fa0b 0%, rgba(199, 250, 11, 0) 70%),
    radial-gradient(60% 60% at 30% 10%, #f4f4f1 0%, rgba(244, 244, 241, 0) 70%),
    #d4d4cf;
  background-size: 160px 160px, auto, auto, auto, auto, auto;
}
.hero__title {
  margin: 0 0 22px;
  max-width: 12ch;
  font-size: clamp(44px, 7.6vw, 104px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.045em;
  color: var(--p-ink);
}
.hero__sub { margin-left: 0; max-width: 460px; color: var(--p-ink); font-size: 17px; }
.hero__actions { justify-content: flex-start; }
.statement {
  margin: 36px 0 0 auto;
  max-width: 440px;
  padding: 22px 24px;
  border-radius: 20px;
  background: var(--p-ink);
  border: 0;
  color: #fff;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.statement__hand { font-size: 22px; font-weight: 500; color: var(--lime); transform: none; }
.statement__main { color: rgba(255, 255, 255, .85); font-size: 16px; margin: 0; }

/* ---------- бегущая строка между двумя линиями ---------- */
.ticker {
  display: block;
  overflow: hidden;
  height: 56px;
  background: var(--p-ink);
}
/* Узор: знак-лайм, лаймовая пилюля, знак, серая пилюля — плитка 240px, едет по кругу. */
.ticker__track {
  height: 100%;
  background:
    var(--logo-mark) 0 50% / 28px 28px repeat-x,
    linear-gradient(var(--lime), var(--lime)) 0 50% / 1px 1px no-repeat;
  background-image:
    var(--logo-mark),
    radial-gradient(circle, transparent 0, transparent 0),
    linear-gradient(90deg, transparent 0 50px, var(--lime) 50px 98px, transparent 98px 170px, #8a8a86 170px 218px, transparent 218px 240px);
  background-size: 120px 28px, auto, 240px 8px;
  background-position: 0 50%, 0 0, 0 50%;
  background-repeat: repeat-x, no-repeat, repeat-x;
  animation: p-ribbon 12s linear infinite;
}
@keyframes p-ribbon { to { background-position: 240px 50%, 0 0, 240px 50%; } }
@media (prefers-reduced-motion: reduce) { .ticker__track { animation: none; } }

/* ---------- карточки с тонкой рамкой ---------- */
.card, .result__item {
  position: relative;
  background: #f4f4f1;
  border: 1.5px solid var(--p-grey);
  border-radius: 16px;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.card:hover { transform: none; box-shadow: none; }
.card h3, .result__item h3 { font-size: 20px; font-weight: 500; }
.result__item p, .card p { color: #4a4a47; }

/* Нумерация 01, 02 в углу карточки, как в «Team news». */
.result__grid { counter-reset: r; }
.result__item { counter-increment: r; padding-top: 58px; }
.result__item::before {
  content: '0' counter(r);
  position: absolute;
  top: 18px; left: 30px;
  font-size: 14px;
}
/* Одна карточка залита лаймом, со срезанным углом и кружком-стрелкой. */
.result__item:nth-child(2) {
  background: var(--lime);
  border-color: var(--lime);
  clip-path: polygon(0 0, calc(100% - 64px) 0, 100% 64px, 100% 100%, 0 100%);
}
.result__item:nth-child(2) p { color: var(--p-ink); }
.result__item:nth-child(2)::after {
  content: '↗';
  position: absolute;
  top: 10px; right: 10px;
  width: 40px; height: 40px;
  display: grid; place-items: center;
  border: 1.5px solid var(--p-ink);
  border-radius: 50%;
  font-size: 18px;
}

/* ---------- части планера ---------- */
.part__num {
  color: var(--p-ink);
  -webkit-text-fill-color: currentColor;
  background: none;
  font-size: 14px;
  font-weight: 500;
}
.part__text h3 { font-size: clamp(26px, 3vw, 36px); font-weight: 500; }
.mock {
  background: var(--p-ink);
  border: 0;
  border-radius: 22px;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.mock:hover { transform: none; }

/* ---------- чёрные секции с размытым лаймовым пятном ---------- */
.badday, .final {
  position: relative;
  overflow: hidden;
  background:
    var(--p-grain),
    radial-gradient(40% 60% at 92% 10%, rgba(255, 255, 255, .1), rgba(255, 255, 255, 0) 70%),
    radial-gradient(30% 50% at 4% 100%, rgba(140, 140, 135, .45), rgba(140, 140, 135, 0) 70%),
    var(--p-ink);
  background-size: 160px 160px, auto, auto, auto;
  color: #fff;
}
.badday .section__title, .final__title { color: #fff; }
.badday .eyebrow { color: var(--lime); }
.badday .section__lead, .badday__after { color: rgba(255, 255, 255, .78); }
.badday .card { background: #fff; border-color: #fff; color: var(--p-ink); }
.final__title { font-weight: 500; letter-spacing: -.04em; }
.final .btn--primary { --btn-bg: var(--lime); --btn-fg: var(--p-ink); }
.final .btn--ghost { --btn-fg: #fff; box-shadow: inset 0 0 0 1.5px #fff !important; }
.final .btn--ghost:hover { --btn-bg: #fff; --btn-fg: var(--p-ink); }

/* ---------- цена: светлая карточка, крупная цифра лаймом на чёрном ---------- */
.price {
  background: #f4f4f1;
  border: 1.5px solid var(--p-grey);
  border-radius: 22px;
  color: var(--p-ink);
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.price::before { display: none; }
.price__head { border-bottom: 1px solid var(--p-line); }
.price__head h3, .price__head p, .price__list li, .price__note { color: var(--p-ink); }
.price__list li { border-bottom: 1px solid var(--p-line); }
.price__list li::before { color: var(--p-ink); }
.price__sum {
  display: inline-block;
  padding: 4px 14px;
  border-radius: 12px;
  background: var(--p-ink);
  color: var(--lime);
  font-weight: 500;
}

/* ---------- вопросы ---------- */
.faq__item {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--p-line);
  border-radius: 0;
  box-shadow: none;
}

/* ---------- подвал: чёрный, логотип крупно над линией ---------- */
.footer { background: var(--p-ink); color: #fff; }
.footer .logo__text { color: #fff; font-size: 28px; }
.footer .logo__text span { color: var(--lime); }
.footer__brand { border-bottom: 1px solid rgba(255, 255, 255, .25); padding-bottom: 18px; }

/* На телефоне тёмное пятно уезжает вниз, под чёрную плашку: над текстом оно мешает читать. */
@media (max-width: 720px) {
  .hero__inner {
    background:
      var(--p-grain),
      radial-gradient(70% 30% at 90% 96%, rgba(20, 20, 20, .14) 0%, rgba(20, 20, 20, 0) 70%),
      radial-gradient(80% 40% at 10% 70%, #c7fa0b 0%, rgba(199, 250, 11, 0) 72%),
      radial-gradient(90% 40% at 40% 8%, #f4f4f1 0%, rgba(244, 244, 241, 0) 72%),
      #d4d4cf;
    background-size: 160px 160px, auto, auto, auto, auto;
  }
}

/* ---------- отзывы: кружочки как в Telegram + текстовый (Дина, 2026-11-06) ---------- */
.reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 36px;
  align-items: stretch;
}
.review {
  margin: 0;
  padding: 26px 22px 24px;
  border: 1.5px solid var(--p-grey);
  border-radius: 22px;
  background: #f4f4f1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  text-align: center;
}
.review__circle {
  position: relative;
  width: min(100%, 240px);
  aspect-ratio: 1;
  padding: 0;
  border: 0;
  border-radius: 50%;
  overflow: hidden;
  background: var(--p-ink);
  cursor: pointer;
  box-shadow: 0 0 0 4px var(--lime);
}
.review__circle video { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Значок звука в углу: перечёркнутый динамик, пока без звука. */
.review__sound {
  position: absolute;
  right: 14%;
  bottom: 8%;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--p-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c7fa0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9z'/%3E%3Cpath d='M17 9l4 6M21 9l-4 6'/%3E%3C/svg%3E") center / 18px no-repeat;
}
.review__circle.is-sound .review__sound {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c7fa0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9z'/%3E%3Cpath d='M16.5 8.5a5 5 0 0 1 0 7M19 6a8.5 8.5 0 0 1 0 12'/%3E%3C/svg%3E");
}
.review figcaption { display: flex; flex-direction: column; gap: 4px; }
.review figcaption b { font-size: 19px; font-weight: 500; }
.review figcaption span { font-size: 14px; color: #4a4a47; }
.review--text {
  justify-content: space-between;
  text-align: left;
  align-items: stretch;
  background: var(--p-ink);
  border-color: var(--p-ink);
  color: #fff;
}
.review--text blockquote {
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
}
.review--text blockquote::before {
  content: '“';
  display: block;
  height: 40px;
  font-size: 72px;
  line-height: 1;
  color: var(--lime);
}
.review--text figcaption span { color: rgba(255, 255, 255, .7); }

@media (max-width: 860px) {
  .reviews__grid { grid-template-columns: 1fr; }
  .review__circle { width: min(70%, 240px); }
}

/* Расшифровка видео-отзыва — открывается по клику под подписью. */
.review__text { width: 100%; border-top: 1px solid var(--p-line); padding-top: 12px; text-align: left; font-size: 15px; }
.review__text summary { cursor: pointer; list-style: none; text-align: center; font-weight: 500; }
.review__text summary::-webkit-details-marker { display: none; }
.review__text summary::after { content: ' ↓'; }
.review__text[open] summary::after { content: ' ↑'; }
.review__text p { margin: 10px 0 0; color: #3a3a37; line-height: 1.5; }
.reviews__grid { align-items: start; }

/* «Как устроен планер»: вместо нарисованных макетов — снимки настоящего интерфейса
   (Дина, 2026-11-08). Рамка-«окно» светлая, как сам планер, картинка во всю ширину. */
.mock--shot {
  margin: 0;
  background: #f4f4f1 !important;
  color: var(--p-ink) !important;
  border: 1.5px solid var(--p-grey) !important;
  overflow: hidden;
}
.mock--shot .mock__bar { color: var(--p-ink); border-bottom: 1px solid var(--p-grey); }
.mock--shot .mock__name { color: var(--p-ink) !important; }
.mock--shot .mock__dot { background: #c9c9c4; }
.mock--shot img { display: block; width: 100%; height: auto; background: #ececea; }

/* ---------- «как устроен планер» — карусель (Дина, 2026-11-08) ----------
   Шесть частей — слайды в одну строку: на десктопе видно ~2,3 карточки, на телефоне одна
   с краешком следующей. Сверху снимок в лаймовой «подложке», снизу номер, заголовок, текст.
   Снимок чуть стилизован (подложка, поворот на долю градуса, мягкая тень, обрезка по
   высоте), чтобы выглядел как иллюстрация, а не как скриншот. */
.parts__list {
  display: flex;
  gap: 18px;
  margin-top: 32px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 0;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.parts__list::-webkit-scrollbar { display: none; }
.parts__list .part {
  flex: 0 0 min(440px, 84%);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1.5px solid var(--p-grey);
  border-radius: 24px;
  background: #f4f4f1;
  overflow: hidden;
  opacity: 1 !important;
  transform: none !important;
}
.parts__list .part__mock { order: 1 !important; }
.parts__list .part__text { order: 2 !important; padding: 20px 24px 24px; }
.parts__list .part__text h3 { margin: 4px 0 8px; }
.parts__list .part__text p { font-size: 15px; }

/* Подложка под снимком: лайм с размытым светлым пятном; окно без «точек» и шапки. */
.parts__list .part__mock {
  position: relative;
  height: 280px;
  padding: 26px 26px 0;
  overflow: hidden;
  background:
    radial-gradient(60% 70% at 85% 10%, rgba(255, 255, 255, .75), rgba(255, 255, 255, 0) 70%),
    var(--lime);
}
/* Чётные слайды — тёмная подложка (просьба Дины, 2026-11-08: вместо серой — чёрный
   градиент): графитовое пятно сверху сходит в чёрный, как на чёрных секциях страницы. */
.parts__list .part:nth-child(even) .part__mock {
  background:
    radial-gradient(70% 80% at 15% 0%, #3a3a38, rgba(58, 58, 56, 0) 70%),
    var(--p-ink);
}
.parts__list .part:nth-child(even) .mock--shot { box-shadow: 0 18px 40px rgba(0, 0, 0, .45); }
.parts__list .mock--shot {
  border: 0 !important;
  border-radius: 16px 16px 0 0;
  box-shadow: 0 18px 40px rgba(20, 20, 20, .16);
  transform: rotate(-1.2deg);
  transform-origin: 50% 100%;
}
.parts__list .part:nth-child(even) .mock--shot { transform: rotate(1.2deg); }
.parts__list .mock--shot .mock__bar { display: none; }
.parts__list .mock--shot img { border-radius: 16px 16px 0 0; }

.parts__nav { display: flex; align-items: center; gap: 14px; margin-top: 22px; }
.parts__arrow {
  width: 46px; height: 46px;
  border: 1.5px solid var(--p-ink);
  border-radius: 50%;
  background: transparent;
  font-size: 18px;
  cursor: pointer;
}
.parts__arrow:hover { background: var(--p-ink); color: #fff; }
.parts__dots { display: flex; gap: 8px; }
.parts__dot {
  width: 10px; height: 10px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #c9c9c4;
  cursor: pointer;
  transition: width .2s ease, background .2s ease;
}
.parts__dot.on { width: 28px; background: var(--p-ink); }
@media (max-width: 720px) {
  .parts__list .part__mock { height: 220px; padding: 18px 18px 0; }
}

/* Снимки сняты в узком окне (400px), поэтому в карточке почти в натуральную величину —
   текст дел читается. Окно выше, чтобы влезло больше содержимого. */
.parts__list .part__mock { height: 330px; }
.parts__list .mock--shot { max-width: 400px; margin: 0 auto; }
@media (max-width: 720px) { .parts__list .part__mock { height: 280px; } }

/* ---------- «как устроен планер»: шапка, пилюли, карточки в стиле сайта (Дина, 2026-11-08) ---------- */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.parts__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.parts__head .section__title { margin-bottom: 0; }
.parts__head .parts__nav { margin: 0; flex: 0 0 auto; }
.parts__head .parts__arrow { width: 54px; height: 54px; font-size: 20px; }
.parts__head .parts__arrow[data-dir="1"] { background: var(--p-ink); color: #fff; }
.parts__head .parts__arrow[data-dir="1"]:hover { background: var(--lime); color: var(--p-ink); border-color: var(--lime); }

/* Названия частей — пилюли, как кнопки сайта; активная лаймовая. */
.parts__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.parts__chip {
  padding: 9px 16px;
  border: 1.5px solid var(--p-grey);
  border-radius: 999px;
  background: #f4f4f1;
  color: var(--p-ink);
  font: inherit;
  font-size: 15px;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.parts__chip:hover { border-color: var(--p-ink); }
.parts__chip.on { background: var(--lime); border-color: var(--lime); }

/* Карточка: номер — чёрная пилюля с лаймом, в углу кружок-стрелка, как в «новостях» референса. */
.parts__list .part__text { position: relative; }
.parts__list .part__num {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 999px;
  background: var(--p-ink);
  color: var(--lime);
  font-size: 13px;
  letter-spacing: .06em;
}
.parts__list .part__text::after {
  content: '↗';
  position: absolute;
  top: 16px; right: 18px;
  width: 40px; height: 40px;
  display: grid; place-items: center;
  border: 1.5px solid var(--p-grey);
  border-radius: 50%;
  font-size: 17px;
  transition: background .2s ease, border-color .2s ease;
}
.parts__list .part.is-current .part__text::after { background: var(--lime); border-color: var(--lime); }
.parts__list .part { transition: border-color .2s ease; }
.parts__list .part.is-current { border-color: var(--p-ink); }

/* Полоса прогресса вместо точек. */
.parts__progress { height: 4px; margin-top: 22px; border-radius: 999px; background: var(--p-grey); overflow: hidden; }
.parts__progress span { display: block; height: 100%; width: 18%; border-radius: inherit; background: var(--p-ink); transition: width .2s ease; }

@media (max-width: 720px) {
  .parts__head .parts__arrow { width: 46px; height: 46px; }
  .parts__chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: -20px; padding-right: 20px; }
  .parts__chip { flex: 0 0 auto; }
}

/* Подпись над видео о планере (Дина, 2026-11-08). */
.promo__title { margin: 0 0 24px; }

/* ---------- акция 11.11 в блоке цены (Дина, 2026-11-08) ---------- */
.sale {
  margin: -6px -4px 22px;
  padding: 18px 18px 16px;
  border-radius: 18px;
  background: var(--p-ink);
  color: #fff;
}
.sale__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.sale__badge {
  padding: 4px 14px;
  border-radius: 999px;
  background: var(--lime);
  color: var(--p-ink);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: .02em;
}
.sale__off { color: var(--lime); font-weight: 500; font-size: 15px; }
.sale__text { margin: 12px 0 14px; color: rgba(255, 255, 255, .85); font-size: 15px; line-height: 1.45; }
.sale__timer { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.sale__timer span {
  display: flex; flex-direction: column; align-items: center;
  padding: 8px 4px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .08);
  font-size: 12px;
  color: rgba(255, 255, 255, .7);
}
.sale__timer b { font-size: 26px; font-weight: 500; color: #fff; font-variant-numeric: tabular-nums; line-height: 1.1; }
.price__old { color: #9a9a96; font-weight: 400; font-size: .7em; margin-right: 6px; }
