/* Статья «Мониторинг цен конкурентов: три шага». Каркас — `.story__*` в
   v2.css, здесь только её собственная инфографика. */

/* ── Три шага ──────────────────────────────────────────────────────────── */

.steps {
    display: flex;
    flex-direction: column;
    gap: 36px;
    border-radius: 16px;
    background: var(--dark);
    padding: 44px 48px 48px;
    color: #FFFFFF;
}

.steps__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }

.steps__kicker { color: #FFFFFF73; font-size: 12px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; }

.steps__title { margin-top: 10px; font-size: 30px; letter-spacing: -0.8px; }

.steps__note { color: #FFFFFF73; font-size: 14px; }

.steps__list { display: flex; margin: 0; padding: 0; list-style: none; }

/* Линия времени — рамкой сверху, точка — псевдоэлементом: у последнего шага
   линии дальше нет, и рамка у него прозрачная. */
.steps__item {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border-top: 1px solid #FFFFFF33;
    padding: 28px 28px 0 0;
}

.steps__item:last-child { border-top-color: transparent; }

.steps__item::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 0;
    width: 11px;
    height: 11px;
    border: 2px solid #FFFFFF;
    border-radius: 50%;
    background: var(--dark);
}

.steps__item--on::before { background: #FFFFFF; }

.steps__top { display: flex; align-self: stretch; align-items: center; justify-content: space-between; gap: 12px; }

.steps__num { color: #FFFFFF40; font-size: 40px; letter-spacing: -1.5px; line-height: 1; }

.steps__when {
    border: 1px solid #FFFFFF40;
    border-radius: 20px;
    padding: 5px 10px;
    color: #FFFFFFCC;
    font-size: 12px;
    font-weight: 500;
}

.steps__item--on .steps__when { border-color: #FFFFFF; background: #FFFFFF; color: var(--ink); }

.steps__name { font-size: 17px; font-weight: 500; }

.steps__text { color: #FFFFFF99; font-size: 14px; line-height: 1.55; }

/* ── Как собирается письмо ─────────────────────────────────────────────── */

.funnel { padding: 8px 0 0; }

.funnel__kicker { color: var(--ink-2); font-size: 12px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; }

.funnel__title { margin-top: 8px; font-size: 26px; letter-spacing: -0.6px; }

.funnel__list { display: flex; gap: 40px; margin: 32px 0 0; padding: 0; list-style: none; }

.funnel__step { flex: 1; display: flex; flex-direction: column; gap: 6px; color: var(--ink-65); font-size: 14px; line-height: 1.55; }

.funnel__step b { margin-top: 10px; color: var(--ink); font-size: 20px; font-weight: 500; letter-spacing: -0.4px; }

/* Высота столбика — доля того, что доходит до письма: каждый шаг отсеивает
   часть предыдущего. Числа условные, это схема, а не статистика. */
/* Зона столбика одной высоты у всех шагов: столбики стоят на общей линии, а
   подписи под ними начинаются вровень. Стрелка — посередине зазора до
   следующего шага, на половине высоты зоны. */
.funnel__area { position: relative; display: flex; align-items: flex-end; height: 200px; }

.funnel__arrow { position: absolute; top: 50%; right: -29px; width: 18px; height: 18px; margin-top: -9px; color: var(--ink-2); }

.funnel__bar { flex: 1; display: flex; align-items: center; justify-content: center; gap: 10px; border-radius: 8px 8px 0 0; color: #FFFFFF; font-size: 14px; font-weight: 500; }

.funnel__bar svg { width: 20px; height: 20px; }

.funnel__step:nth-child(1) .funnel__bar { height: 200px; background: var(--ink-3); }

.funnel__step:nth-child(2) .funnel__bar { height: 136px; background: var(--ink-2); }

.funnel__step:nth-child(3) .funnel__bar { height: 84px; background: #4A4A4A; }

.funnel__step:nth-child(4) .funnel__bar { height: 56px; background: var(--ink); }

/* ── Два пути ──────────────────────────────────────────────────────────── */

.paths { display: flex; gap: 20px; }

.paths__card {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 28px;
    border-radius: 16px;
    background: var(--surface);
    padding: 36px 40px 40px;
    color: var(--ink);
}

.paths__card--dark { background: var(--dark); color: #FFFFFF; }

.paths__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }

.paths__kicker { color: var(--ink-65); font-size: 12px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; }

.paths__card--dark .paths__kicker { color: #FFFFFF99; }

.paths__title { margin-top: 8px; font-size: 24px; font-weight: 400; letter-spacing: -0.5px; }

.paths__price { flex: none; font-size: 44px; letter-spacing: -1.6px; line-height: 1; }

.paths__rows { margin: 0; }

.paths__rows div { display: flex; gap: 20px; border-top: 1px solid var(--line); padding: 14px 0; }

.paths__card--dark .paths__rows div { border-top-color: #FFFFFF1F; }

.paths__rows dt { flex: none; width: 110px; color: var(--ink-65); font-size: 13px; font-weight: 500; line-height: 1.6; }

.paths__card--dark .paths__rows dt { color: #FFFFFF99; }

.paths__rows dd { margin: 0; font-size: 15px; line-height: 1.6; }

@media (max-width: 1023px) {
    .steps { padding: 36px 32px; }

    .steps__head { flex-direction: column; align-items: flex-start; }

    .paths { flex-direction: column; }
}

@media (max-width: 767px) {
    .steps { gap: 22px; border-radius: 14px; padding: 28px 22px 26px; }

    .steps__title { font-size: 22px; line-height: 1.25; letter-spacing: -0.5px; }

    .steps__note { font-size: 13px; }

    /* Линия времени поворачивает вниз: три колонки в 350 не помещаются. */
    .steps__list { flex-direction: column; gap: 20px; }

    .steps__item { border-top: 0; padding: 0 0 0 30px; }

    .steps__item::before { top: 4px; }

    .steps__num { font-size: 15px; letter-spacing: 0; color: #FFFFFF73; }

    .funnel { padding: 0; }

    .funnel__title { font-size: 19px; line-height: 1.3; letter-spacing: -0.4px; }

    /* Столбики ложатся полосами: их длина читается так же, как высота. */
    .funnel__list { flex-direction: column; align-items: stretch; gap: 18px; margin-top: 20px; }

    .funnel__area { height: auto; }

    .funnel__arrow { display: none; }

    .funnel .funnel__step:nth-child(n) .funnel__bar { flex: none; height: 28px; border-radius: 6px; font-size: 13px; }

    .funnel__step:nth-child(1) .funnel__bar { width: 100%; }

    .funnel__step:nth-child(2) .funnel__bar { width: 68%; }

    .funnel__step:nth-child(3) .funnel__bar { width: 42%; }

    .funnel__step:nth-child(4) .funnel__bar { width: 34%; min-width: 120px; }

    .funnel__step b { margin-top: 4px; font-size: 15px; }

    .funnel__step { font-size: 13px; }

    .paths { gap: 12px; }

    .paths__card { gap: 18px; border-radius: 14px; padding: 24px 20px; }

    .paths__title { font-size: 19px; line-height: 1.25; }

    .paths__price { font-size: 30px; letter-spacing: -1px; }

    .paths__rows div { flex-direction: column; gap: 3px; padding: 11px 0; }

    .paths__rows dt { width: auto; font-size: 12px; }

    .paths__rows dd { font-size: 14px; }
}
