/* =====================================================================================================================
   АДАПТИВ — «Срочные работы» (/srochnye-raboty) и «Уход и дополнительные услуги» (/dopolnitelnye-uslugi/...).
   Блоки Б-115…Б-117, Б-137…Б-193. Планшет — @media (max-width: 1199px), телефон — @media (max-width: 767px).
   ===================================================================================================================== */

/* Общее для страницы срочных работ: поле .sr-wrap (56px на компьютере) — 28/16px, как у .container. */
@media (max-width: 1199px) {
  .sr-wrap { padding: 0 28px; }
  .sr-section { padding-top: 48px; }
  /* Заголовки секций — 36px, подзаголовки 17px (база — clamp по ширине экрана, на 1024 дала бы 28px). */
  .sr-h2 { font-size: 36px; }
  .sr-sub { font-size: 17px; }
  /* SEO-обёртка страницы: в базовом CSS поля заданы с !important. */
  .sr-seo > .seo { padding: 48px 28px 0 !important; }
}
@media (max-width: 767px) {
  .sr-wrap { padding: 0 16px; }
  .sr-section { padding-top: 40px; }
  .sr-seo > .seo { padding: 40px 16px 0 !important; }
  .sr-h2 { font-size: 28px; }
  .sr-sub { font-size: 16px; }
  .sr-note { align-items: flex-start; padding: 16px; }
  .sr-page .sr-btn { min-height: 52px; }
}

/* Б-115 Срочные работы на кладбище перед захоронением — класс sr-hero */
@media (max-width: 1199px) {
  /* Кадр перестаёт быть фоном: обёртки «растворяются», и элементы первого экрана встают в сетку
     «текст | фото 380px», три пункта — строкой на всю ширину. */
  .sr-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    grid-template-areas: "pill media" "title media" "text media" "actions media" "facts facts";
    grid-template-rows: auto auto auto 1fr auto;
    column-gap: 40px;
    width: auto;
    min-height: 0;
    margin-inline: 0;
    padding: 32px 28px 40px;
  }
  .sr-hero::before { display: none; }
  .sr-hero__wrap,
  .sr-hero__copy { display: contents; }
  .sr-hero__media {
    grid-area: media;
    position: relative;
    inset: auto;
    width: auto;
    z-index: auto;
    overflow: hidden;
    border-radius: 24px;
  }
  .sr-hero__media :is(img, picture) { position: absolute; inset: 0; }
  .sr-hero__pill { grid-area: pill; justify-self: start; }
  .sr-hero .sr-h1 { grid-area: title; font-size: 44px; }
  .sr-hero__text { grid-area: text; font-size: 17px; }
  .sr-hero__actions { grid-area: actions; display: flex; align-items: center; gap: 20px; }
  .sr-hero__actions .sr-btn-note { margin: 0; max-width: 220px; font-size: 14px; }
  .sr-hero__facts {
    grid-area: facts;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 36px;
  }
  .sr-hero__facts li { font-size: 15px; }
}
@media (max-width: 767px) {
  .sr-hero {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "pill" "title" "text" "media" "actions" "facts";
    grid-template-rows: none;
    padding: 20px 16px 32px;
  }
  .sr-hero__pill { margin-bottom: 16px; font-size: 11px; letter-spacing: .08em; }
  .sr-hero .sr-h1 { font-size: 30px; }
  .sr-hero__text { margin-top: 14px; font-size: 16px; }
  .sr-hero__media { aspect-ratio: 16 / 9; margin: 24px -16px 0; border-radius: 0; }
  .sr-hero__actions { flex-direction: column; align-items: stretch; gap: 0; margin-top: 24px; }
  .sr-hero__cta { width: 100%; min-height: 52px; padding: 0 16px; font-size: 16px; }
  .sr-hero__actions .sr-btn-note { justify-content: center; max-width: none; margin-top: 10px; text-align: center; }
  .sr-hero__facts { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 24px; }
  .sr-hero__facts li { flex-direction: row; align-items: center; gap: 14px; font-size: 16px; }
  /* Пункт в одну строку: перенос <br> скрыт, после него в разметке стоит пробел. */
  .sr-hero__facts li br { display: none; }
  .sr-hero__facts :is(i, svg) { flex: 0 0 auto; }
}

/* Б-116 Какая проблема возникла? — класс sr-section (sr-situation; вариант-2 — sr-steps, вариант-3 — sr-guide;
   по той же логике — остальные секции страницы: uslugi, berezhno, price, plans, save, case, faq, zayavka) */
@media (max-width: 1199px) {
  .sr-situation .sr-photo-card__title { font-size: 16px; }
  .sr-situation .sr-photo-card__text { font-size: 15px; }
  .sr-situation .sr-photo-card__ico { width: 52px; height: 52px; margin-top: -26px; }
  .sr-situation__photos { height: 130px; flex-basis: 130px; }
  .sr-situation__photo { width: 44%; border-width: 4px; border-radius: 12px; }
  .sr-situation__camera { width: 44px; height: 44px; }
  .sr-situation__camera :is(i, svg) { width: 20px; height: 20px; }

  /* «Что мы можем сделать срочно» — 4 колонки остаются (кадры вертикальные, 2 колонки дали бы блок в 2500px). */
  .sr-uslugi__grid { gap: 14px; }
  .sr-uslugi .sr-photo-card__body { padding: 0 16px 18px; }

  /* «Не демонтируем лишнего» */
  .sr-berezhno { padding: 36px 32px; }
  .sr-berezhno__grid { gap: 28px; }

  /* «Пришлите фотографии» — 4 ракурса сеткой 2×2. */
  .sr-guide__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sr-guide .sr-note { flex-wrap: wrap; }

  /* Цены — лента: 3 карточки + край четвёртой. */
  .sr-price__grid { --t-cards: 3; }

  /* «Как проходит срочный заказ» — шаги сеткой 3×2. */
  .sr-steps__panel { padding: 28px 24px; }
  .sr-timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 28px; }
  .sr-timeline::before { display: none; }
  .sr-timeline__item h3 { font-size: 15px; }
  .sr-timeline__item p { font-size: 14px; }

  .sr-case__panel { padding: 24px; }

  /* Заявка: форма и карточка с фото — друг под другом (фото 346px не помещается в правую колонку). */
  .sr-zayavka__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  /* Лента ситуаций; зелёная карточка «Не знаю, что нужно демонтировать» — отдельной плитой под лентой
     (в разметке копия .sr-situation__card--solo с only-m, ячейка сетки скрыта hide-m). */
  .sr-situation .sr-photo-card { box-shadow: 0 1px 2px rgba(20, 24, 26, .06); }
  .sr-situation__card--solo.only-m { display: flex; margin-top: 16px; }
  .sr-situation__card--solo .sr-situation__photos { height: 150px; flex-basis: 150px; }
  .sr-situation__card--solo .sr-situation__cta-body { padding: 0 20px 20px; }
  .sr-situation__card--solo .sr-fact__title { font-size: 22px; }
  .sr-situation__card--solo .sr-fact__text { font-size: 15px; }
  .sr-situation__card--solo .sr-situation__cta-note { font-size: 14px; }
  .sr-situation .sr-note { margin-top: 16px; }

  .sr-uslugi .sr-photo-card__media { aspect-ratio: 4 / 3; }
  .sr-uslugi .sr-photo-card__text,
  .sr-save .sr-photo-card__text,
  .sr-guide .sr-photo-card__text { font-size: 15px; }

  .sr-berezhno { padding: 24px 20px; }
  .sr-berezhno__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .sr-berezhno .sr-btn { width: 100%; }

  .sr-guide .sr-note { flex-direction: column; align-items: stretch; }
  .sr-guide .sr-note .sr-ico { display: none; }
  .sr-guide .sr-note .sr-btn { width: 100%; }

  .sr-price__express,
  .sr-price__foot { flex-direction: column; align-items: stretch; }
  .sr-price__foot .sr-btn { width: 100%; }

  .sr-plan .sr-btn { width: 100%; }
  .sr-plans .sr-plan { margin-top: 12px; }

  /* Шаги — вертикальный список «иконка слева, текст справа». */
  .sr-steps__panel { padding: 20px 16px; }
  .sr-timeline { grid-template-columns: minmax(0, 1fr); row-gap: 16px; }
  .sr-timeline__item {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    column-gap: 14px;
    row-gap: 2px;
    align-items: start;
    padding: 0;
    text-align: left;
  }
  .sr-timeline__node { grid-row: span 2; width: 56px; height: 56px; }
  .sr-timeline__node :is(i, svg) { width: 26px; height: 26px; }
  .sr-timeline__item h3 { margin: 4px 0 0; }
  .sr-steps__note { flex-direction: column; align-items: stretch; padding: 20px 16px; }
  .sr-steps__note .sr-btn { width: 100%; }

  .sr-case__panel { padding: 16px; }
  .sr-case__head .sr-btn { width: 100%; }
  .sr-case__foot { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .sr-case__foot-item--result { margin: 0; }

  .sr-faq__list { column-count: 1; }
  .sr-faq .sr-note { flex-direction: column; align-items: stretch; }
  .sr-faq .sr-note .sr-btn { width: 100%; }

  .sr-zayavka__card,
  .sr-zayavka__aside { padding: 20px 16px; }
  .sr-zayavka__row { grid-template-columns: minmax(0, 1fr); }
  .sr-zayavka__aside-photo,
  .sr-zayavka__aside-photo picture,
  .sr-zayavka__aside-photo img { width: 240px; height: 240px; flex-basis: 240px; }
}

/* Б-117 После захоронения всё можно восстановить — класс sr-restore */
@media (max-width: 1199px) {
  /* Фото — отдельная колонка 360px на высоту текста, вуаль не нужна. */
  .sr-restore {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    column-gap: 40px;
    width: auto;
    margin-inline: 0;
    padding: 48px 28px;
  }
  .sr-restore::before { display: none; }
  .sr-restore > .sr-wrap { grid-column: 1; grid-row: 1; padding: 0; }
  .sr-restore__media { grid-column: 2; grid-row: 1; position: relative; inset: auto; z-index: auto; overflow: hidden; border-radius: 24px; }
  .sr-restore__media :is(img, picture) { position: absolute; inset: 0; width: 100%; height: 100%; }
  .sr-restore__checks li { font-size: 16px; }
}
@media (max-width: 767px) {
  /* Одна колонка: надзаголовок → заголовок → лид → фото 16:9 до краёв → пункты → кнопка → ссылка → сноска. */
  .sr-restore { grid-template-columns: minmax(0, 1fr); padding: 40px 16px; margin-top: 24px; }
  .sr-restore > .sr-wrap,
  .sr-restore__copy { display: contents; }
  .sr-restore__copy > * { grid-column: 1; }
  .sr-restore__media { grid-column: 1; grid-row: 4; aspect-ratio: 16 / 9; margin: 20px -16px 0; border-radius: 0; }
  .sr-restore__checks { grid-row: 5; margin-top: 22px; }
  .sr-restore__actions { grid-row: 6; flex-direction: column; align-items: stretch; gap: 4px; }
  .sr-restore__actions .sr-btn { width: 100%; }
  .sr-restore__actions .sr-link { justify-content: center; min-height: 44px; }
  .sr-restore__note { grid-row: 7; align-items: flex-start; }
  .sr-restore__checks li { font-size: 15px; }
}

/* Общее для страниц /dopolnitelnye-uslugi/*: CSS страниц эпитафии и некролога жёстко держит 4 тарифа в ряд
   (селектор сильнее общего адаптива тарифов svc-memorial-pricing в landing.css) — возвращаем 2 колонки на планшете;
   на телефоне тарифы — лента m-swipe (display: flex перекрывает сетку). */
@media (max-width: 1199px) {
  .ep-pricing .svc-memorial-pricing__tiers.ep-pricing__tiers,
  .nk-page .svc-memorial-pricing__tiers.nk-pricing__tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  /* Строка сроков под тарифами эпитафии (ep-terms, 3 колонки в CSS страницы) — столбиком, иначе вылезает за экран. */
  .ep-pricing .ep-terms { grid-template-columns: minmax(0, 1fr); }
}

/* Б-137 Готовые эпитафии — класс ep-catalog */
@media (max-width: 1199px) {
  /* Коллекция — полосой над сеткой; сетка 2 колонки без внутренней прокрутки, первые 8 карточек + «Показать все». */
  .ep-catalog .ep-catalog__layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .ep-catalog .ep-collection {
    order: -1;
    position: static;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px 24px;
    padding: 16px 20px;
  }
  .ep-catalog .ep-collection__head { margin: 0; }
  .ep-catalog .ep-collection__empty { font-size: 15px; }
  .ep-catalog .ep-collection > :not(.ep-collection__head):not(.ep-collection__empty) { grid-column: 1 / -1; }
  .ep-catalog .ep-catalog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: none;
    overflow: visible;
    padding: 0;
  }
  .ep-catalog:not(.is-all):not(.is-filtered) .ep-catalog__grid > .ep-card:nth-child(n+9) { display: none; }
  .ep-catalog .ep-card__actions { flex-direction: column; align-items: flex-start; }
  .ep-catalog .ep-card__btn { min-height: 44px; }
}
@media (max-width: 767px) {
  .ep-catalog .ep-collection { grid-template-columns: minmax(0, 1fr); padding: 16px; }
  .ep-catalog .ep-catalog__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .ep-catalog:not(.is-all):not(.is-filtered) .ep-catalog__grid > .ep-card:nth-child(n+6) { display: none; }
  .ep-catalog .ep-card__text { font-size: 20px; }
  .ep-catalog .ep-card__meta { font-size: 14px; }
  .ep-catalog .ep-card__btn { font-size: 14.5px; }
}

/* Б-138 Не обязательно выбирать из готовых фраз — класс ep-custom (плашка svc-memorial-compose__cta — общая, Б-019) */
@media (max-width: 1199px) {
  /* Иконка | заголовок + текст; кнопка с пометкой — строкой под текстом. */
  .ep-custom .svc-memorial-compose__cta { grid-template-columns: 56px minmax(0, 1fr); }
  .ep-custom .svc-memorial-compose__cta-ico { align-self: start; }
  .ep-custom .svc-memorial-compose__cta-title { font-size: 26px; }
  .ep-custom .svc-memorial-compose__cta-desc { font-size: 17px; max-width: none; }
  .ep-custom .svc-memorial-compose__cta-action { grid-column: 2; flex-direction: row; align-items: center; gap: 16px; }
}
@media (max-width: 767px) {
  .ep-custom .svc-memorial-compose__cta { grid-template-columns: 48px minmax(0, 1fr); }
  .ep-custom .svc-memorial-compose__cta-ico { align-self: center; }
  .ep-custom .svc-memorial-compose__cta-action { grid-column: 1 / -1; flex-direction: column; align-items: stretch; gap: 10px; }
  .ep-custom .svc-memorial-compose__cta-title { font-size: 22px; }
  .ep-custom .svc-memorial-compose__cta-desc { font-size: 15px; }
  .ep-custom .svc-memorial-compose__cta-btn { font-size: 15px; white-space: nowrap; }
  .ep-custom .svc-memorial-compose__cta-note { font-size: 13px; }
}

/* «Кому посвящена эпитафия?» (общий блок Б-015 svc-memorial-design): сетку 4 колонки держит CSS страницы
   (.ep-recipients .svc-memorial-design__grid.ep-recipients__grid), он сильнее общего адаптива — возвращаем 2 / 1 колонку. */
@media (max-width: 1199px) {
  .ep-recipients .svc-memorial-design__grid.ep-recipients__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .ep-recipients .svc-memorial-design__grid.ep-recipients__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Б-139 Что вы хотите сказать? — класс ep-meanings */
@media (max-width: 1199px) {
  .ep-meanings .svc-memorial-design__sub { max-width: 680px; }
  .ep-meanings .ep-meanings__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* Иконка 48px слева, справа название, текст, ссылка у низа. */
  .ep-meanings .ep-meaning {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: 16px;
    row-gap: 6px;
  }
  .ep-meanings .ep-meaning__ico { grid-row: 1 / span 3; width: 48px; height: 48px; }
  .ep-meanings .ep-meaning__title { font-size: 18px; }
  .ep-meanings .ep-meaning__text { font-size: 15px; }
  .ep-meanings .ep-meaning__go { align-self: end; justify-self: start; margin-top: 6px; font-size: 14.5px; }
}
@media (max-width: 767px) {
  .ep-meanings .ep-meanings__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-bottom: 16px; }
  .ep-meanings .ep-meaning { grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; padding: 16px; }
  .ep-meanings .ep-meaning__ico { width: 44px; height: 44px; }
  .ep-meanings .ep-meaning__title { font-size: 17px; }
  .ep-meanings:not(.is-all) .ep-meaning:nth-child(n+7) { display: none; }
  .ep-meanings > .lnd-more { margin: 0 0 20px; }
}

/* Б-140 Какой формат выбрать — класс ep-formats */
@media (max-width: 1199px) {
  .ep-formats .svc-memorial-design__sub { max-width: 700px; }
  .ep-formats .ep-formats__grid { --t-cards: 3; }
  /* Стела ~236×460 (1:2), строки эпитафии не переносятся. */
  .ep-formats .ep-format__stage { padding: 24px 12px 0; }
  .ep-formats .ep-format__stage .ep-stela { width: 236px; max-width: 100%; }
  .ep-formats .ep-stela__epitaph > span { white-space: nowrap; }
  .ep-formats .ep-format__ico { width: 44px; height: 44px; }
  .ep-formats .ep-format__title { font-family: 'Lora', Georgia, serif; font-size: 19px; }
  .ep-formats .ep-format__volume { font-size: 14px; }
  .ep-formats .ep-format__text { font-size: 15px; }
}

/* Б-141 Примерьте эпитафию на памятник — класс ep-try */
@media (max-width: 1199px) {
  .ep-try .ep-try__card { grid-template-columns: minmax(0, 1fr) 400px; gap: 28px; padding: 24px; }
  .ep-try .ep-try__chip { min-height: 44px; }
  .ep-try .ep-try__next { min-height: 44px; }
  .ep-try .ep-try__stage { min-height: 450px; }
  .ep-try .ep-try__stage .ep-stela:not(.ep-stela--wide) { width: 210px; }
  .ep-try .ep-try__actions { flex-direction: column; align-items: stretch; width: 100%; }
  .ep-try .ep-try__actions .svc-memorial-design__cta-btn { justify-content: center; min-height: 52px; }
  /* Ссылка и сноска — по левому краю, как на макете. */
  .ep-try .ep-try__link { align-self: flex-start; min-height: 44px; font-weight: 700; }
  .ep-try .ep-try__note { font-size: 13px; text-align: left; }
}
@media (max-width: 767px) {
  /* Без внешней карточки: шапка → сцена → подсказка → группы 1–5 → кнопка → ссылка → примечание. */
  .ep-try .ep-try__card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
  }
  .ep-try .ep-try__view { display: contents; }
  .ep-try .ep-try__stage { order: 1; min-height: 0; padding-top: 20px; }
  .ep-try .ep-try__hint { order: 2; }
  .ep-try .ep-try__controls { order: 3; }
  .ep-try .ep-try__actions { order: 4; }
  .ep-try .ep-try__saved { order: 5; }
  .ep-try .ep-try__note { order: 6; }
  .ep-try .ep-try__stage .ep-stela:not(.ep-stela--wide) { width: 190px; }
  .ep-try .ep-try__custom { font-size: 16px; }
}

/* Б-142 Где разместить эпитафию — класс ep-places */
@media (max-width: 1199px) {
  .ep-places .svc-memorial-design__sub { max-width: 700px; }
  .ep-places .ep-places__grid { --t-cards: 3; }
  .ep-places .ep-place__title { font-family: 'Lora', Georgia, serif; font-size: 19px; }
  .ep-places .ep-place__title [data-lucide] { width: 20px; height: 20px; }
  .ep-places .ep-place__text { font-size: 15px; }
}

/* Б-143 Что можно использовать в фильме — класс fm-sources */
@media (max-width: 1199px) {
  /* Карточка «История человека» — наверху на всю ширину (фото | текст), ниже две колонки плашек. */
  .fm-sources .fm-sources__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; align-items: start; }
  .fm-sources .fm-sources__center {
    grid-column: 1 / -1;
    grid-row: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
  }
  .fm-sources .fm-sources__pic { aspect-ratio: 3 / 2; }
  .fm-sources .fm-sources__center-title { font-size: 24px; }
  .fm-sources .fm-sources__item { font-size: 16px; }
  .fm-sources .fm-sources__ico { width: 40px; height: 40px; }
}
@media (max-width: 767px) {
  .fm-sources .fm-sources__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .fm-sources .fm-sources__center { grid-template-columns: minmax(0, 1fr); }
  .fm-sources .fm-sources__pic { aspect-ratio: 4 / 3; }
  .fm-sources .fm-sources__center-body { padding: 18px 16px 20px; }
  .fm-sources .fm-sources__item { padding: 12px 14px; }
  .fm-sources:not(.is-all) .fm-sources__list:last-child .fm-sources__item:nth-child(n+2) { display: none; }
  .fm-sources > .lnd-more { margin-top: 12px; }
}

/* Б-144 Даже если сохранились только фотографии — класс fm-novideo */
@media (max-width: 1199px) {
  .fm-novideo .fm-novideo__card { grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; padding: 24px; }
}
@media (max-width: 767px) {
  .fm-novideo .fm-novideo__card { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 20px; border-radius: 20px; }
  .fm-novideo .fm-novideo__pic { order: -1; aspect-ratio: 4 / 3; }
  .fm-novideo .fm-novideo__title { font-size: 28px; }
  .fm-novideo .fm-novideo__list { grid-template-columns: minmax(0, 1fr); }
  .fm-novideo .svc-memorial-compose__cta-btn { display: flex; width: 100%; min-height: 52px; justify-content: center; padding-inline: 16px; white-space: nowrap; }
}

/* Б-145 Как из архива получается история — класс fm-story */
@media (max-width: 1199px) {
  .fm-story .svc-memorial-design__sub { max-width: 700px; }
  .fm-story .fm-story__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* Круг-иконка 56px слева, номер — значком на круге; название и текст справа. */
  .fm-story .fm-story__item {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    column-gap: 16px;
    row-gap: 4px;
    align-content: start;
    padding: 18px;
  }
  .fm-story .fm-story__num {
    top: 14px;
    right: auto;
    left: 56px;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--green-600);
    font-family: inherit;
    font-size: 12px;
    color: #fff;
  }
  .fm-story .fm-story__ico { grid-row: 1 / span 2; width: 56px; height: 56px; border-radius: 50%; }
  .fm-story .fm-story__ico [data-lucide] { width: 24px; height: 24px; }
  .fm-story .fm-story__name { margin: 0; font-family: 'Lora', Georgia, serif; font-size: 18px; }
  .fm-story .fm-story__text { font-size: 15px; }
  .fm-story .svc-memorial-compose__cta-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  /* Компактный список шагов: круги соединены пунктиром. */
  .fm-story .fm-story__list { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .fm-story .fm-story__item { padding: 0 0 18px; border: 0; border-radius: 0; background: none; }
  .fm-story .fm-story__item:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 27px;
    top: 60px;
    bottom: 4px;
    border-left: 2px dashed var(--line);
  }
  .fm-story .fm-story__num { top: -2px; left: 38px; }
  .fm-story .fm-story__foot { flex-direction: column; align-items: stretch; gap: 16px; margin-top: 8px; }
  .fm-story .fm-story__note { font-size: 15px; }
  .fm-story .svc-memorial-compose__cta-btn { display: flex; width: 100%; justify-content: center; white-space: normal; text-align: center; }
}

/* Б-146 Не слайд-шоу из фотографий, а история — класс fm-script (плита svc-oform-fix__card, логика Б-022) */
@media (max-width: 1199px) {
  .fm-script .svc-oform-fix__card { grid-template-columns: 340px minmax(0, 1fr); gap: 28px; align-items: start; padding: 24px; }
  .fm-script .svc-oform-fix__title { font-size: 32px; }
  .fm-script .svc-memorial-compose__cta-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  .fm-script .svc-oform-fix__card { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 20px; border-radius: 20px; }
  .fm-script .svc-oform-fix__pic { aspect-ratio: 4 / 3; }
  .fm-script .svc-oform-fix__title { font-size: 28px; }
  .fm-script .svc-oform-fix__note { font-size: 15px; }
  .fm-script .svc-memorial-compose__cta-btn { display: flex; width: 100%; justify-content: center; white-space: normal; text-align: center; }
}

/* Б-147 Интервью родственников и друзей — класс fm-cols */
@media (max-width: 1199px) {
  .fm-cols .svc-memorial-design__sub { max-width: 700px; }
  .fm-cols .fm-cols__grid { gap: 20px; }
  .fm-cols .fm-col__body { padding: 20px; }
  /* Плашка: иконка 52px | заголовок + текст, кнопка под текстом. */
  .fm-cols .fm-cols__cta { grid-template-columns: 52px minmax(0, 1fr); }
  .fm-cols .fm-cols__cta .svc-memorial-design__cta-ico { width: 52px; height: 52px; }
  .fm-cols .fm-cols__cta .svc-memorial-design__cta-btn { grid-column: 2; justify-self: start; }
}
@media (max-width: 767px) {
  .fm-cols .fm-cols__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .fm-cols .fm-col__title { font-size: 20px; }
  .fm-cols .fm-cols__cta { grid-template-columns: 48px minmax(0, 1fr); }
  .fm-cols .fm-cols__cta .svc-memorial-design__cta-ico { width: 48px; height: 48px; }
  .fm-cols .fm-cols__cta .svc-memorial-design__cta-btn { grid-column: 1 / -1; justify-self: stretch; }
}

/* Б-148 История может состоять не только из архива — класс fm-places */
@media (max-width: 1199px) {
  .fm-places .fm-places__card { grid-template-columns: minmax(0, 1fr) 400px; gap: 28px; padding: 24px; }
  .fm-places .fm-places__pics { gap: 12px; }
  .fm-places .fm-places__title { font-size: 32px; }
  .fm-places .svc-memorial-compose__cta-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  .fm-places .fm-places__card { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 20px; border-radius: 20px; }
  .fm-places .fm-places__pics { order: -1; }
  .fm-places .fm-places__title { font-size: 28px; }
  .fm-places .svc-memorial-compose__cta-btn { display: flex; width: 100%; justify-content: center; white-space: normal; text-align: center; }
}

/* Б-149 Голос фильма — класс fm-voice */
@media (max-width: 1199px) {
  .fm-voice .svc-memorial-design__sub { max-width: 700px; }
  .fm-voice .fm-voice__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 767px) {
  .fm-voice .fm-voice__note p { font-size: 15px; }
}

/* Б-150 Вы увидите фильм до окончательного завершения — класс fm-draft */
@media (max-width: 1199px) {
  .fm-draft .svc-memorial-design__sub { max-width: 700px; }
  /* Цепочка переносится на 2 строки: стрелка стоит перед плашкой и переходит на новую строку вместе с ней. */
  .fm-draft .fm-draft__row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .fm-draft .svc-memorial-compose__cta-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  /* Цепочка — вертикальный список: круг с иконкой 40px, название справа, круги соединены пунктиром. */
  .fm-draft .svc-oform-flow { flex-direction: column; align-items: stretch; gap: 14px; }
  .fm-draft .svc-oform-flow li { gap: 14px; padding: 0; border: 0; border-radius: 0; background: none; font-size: 16px; }
  .fm-draft .svc-oform-flow [data-lucide] {
    box-sizing: content-box;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    padding: 11px;
    border-radius: 50%;
    background: var(--green-50);
  }
  .fm-draft .svc-oform-flow li + li::before { content: ""; left: 19px; top: -14px; height: 14px; border-left: 2px dashed var(--line); }
  .fm-draft .fm-draft__row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .fm-draft .svc-oform-checklist { padding: 18px 16px; }
  .fm-draft .svc-oform-checklist__title { font-family: 'Lora', Georgia, serif; font-size: 19px; }
  .fm-draft .svc-memorial-compose__cta-btn { display: flex; width: 100%; justify-content: center; white-space: normal; text-align: center; }
}

/* Б-151 Что вы получите — класс fm-result */
@media (max-width: 1199px) {
  .fm-result .fm-result__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .fm-result .fm-result__main .svc-oform-checklist__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .fm-result .fm-result__extra-ico { width: 40px; height: 40px; border-radius: 10px; flex: 0 0 auto; }
  .fm-result .fm-result__extras-list b { font-size: 16px; }
  .fm-result .fm-result__extra-text { font-size: 15px; }
}
@media (max-width: 767px) {
  .fm-result .fm-result__grid { grid-template-columns: minmax(0, 1fr); }
  .fm-result .fm-result__main-body,
  .fm-result .fm-result__extras { padding: 18px 16px; }
}

/* Б-152 Фильм можно сохранить на странице памяти — класс fm-page-link (плита svc-oform-fix__card) */
@media (max-width: 1199px) {
  .fm-page-link .svc-oform-fix__card { grid-template-columns: 300px minmax(0, 1fr); gap: 28px; align-items: stretch; padding: 24px; }
  /* Фото вертикально на высоту текста (минимум ~4:5). */
  .fm-page-link .svc-oform-fix__pic { aspect-ratio: auto; min-height: 375px; }
  .fm-page-link .svc-oform-fix__pic :is(picture, img) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .fm-page-link .svc-oform-fix__title { font-size: 32px; }
  .fm-page-link .svc-oform-flow { flex-wrap: nowrap; gap: 10px 30px; }
  .fm-page-link .svc-oform-flow li { white-space: nowrap; }
  .fm-page-link .svc-memorial-compose__cta-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  .fm-page-link .svc-oform-fix__card { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 16px 16px 20px; border-radius: 20px; }
  .fm-page-link .svc-oform-fix__pic { aspect-ratio: 1 / 1; min-height: 0; }
  .fm-page-link .svc-oform-fix__title { font-size: 28px; }
  /* Цепочка QR-кода — вертикально, стрелки вниз. */
  .fm-page-link .svc-oform-flow { flex-direction: column; align-items: flex-start; gap: 22px; }
  .fm-page-link .svc-oform-flow li + li::before { content: "↓"; left: 28px; top: -21px; }
  .fm-page-link .svc-memorial-compose__cta-btn { display: flex; width: 100%; justify-content: center; white-space: normal; text-align: center; }
}

/* Б-153 Как выглядят фильмы памяти — класс fm-examples */
@media (max-width: 1199px) {
  .fm-examples .reviews-head h2 { font-size: 36px; }
  .fm-examples .reviews-head .sub { max-width: 640px; }
  .fm-examples .fm-examples__filters { flex-wrap: nowrap; }
  .fm-examples .fm-examples__filter { min-height: 44px; white-space: nowrap; }
  .fm-examples .fm-examples__grid { gap: 16px; }
}
@media (max-width: 767px) {
  .fm-examples .reviews-head h2 { font-size: 28px; line-height: 1.15; }
  .fm-examples .fm-examples__filters {
    overflow-x: auto;
    scrollbar-width: none;
    margin: 0 -16px 16px;
    padding: 0 16px;
  }
  .fm-examples .fm-examples__filters::-webkit-scrollbar { display: none; }
  .fm-examples .fm-examples__filter { flex: 0 0 auto; }
}

/* Б-154 Некролог, эпитафия и прощальная речь — это разное — класс nk-diff */
@media (max-width: 1199px) {
  .nk-diff .svc-memorial-design__sub { max-width: 680px; }
  .nk-diff .nk-diff__grid { gap: 16px; }
  .nk-diff .nk-diff__body { padding: 16px; }
  .nk-diff .nk-diff__title { font-size: 18px; }
  .nk-diff .nk-diff__btn { align-self: flex-start; min-height: 48px; margin-top: auto; font-size: 15px; }
  .nk-diff .nk-diff__link { margin-top: auto; min-height: 48px; }
}
@media (max-width: 767px) {
  .nk-diff .nk-diff__btn { align-self: stretch; justify-content: center; min-height: 52px; white-space: nowrap; }
}

/* Б-155 Что рассказать автору — класс nk-tell */
@media (max-width: 1199px) {
  .nk-tell .svc-memorial-design__sub { max-width: 680px; }
  /* Центральная карточка — горизонтальной плитой на всю ширину (фото | зелёная часть), под ней две колонки пунктов. */
  .nk-tell .nk-tell__layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
  .nk-tell .nk-tell__center { grid-column: 1 / -1; grid-row: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nk-tell .nk-tell__center--no-pic { grid-template-columns: minmax(0, 1fr); }
  .nk-tell .nk-tell__pic { aspect-ratio: 8 / 5; }
  .nk-tell .nk-tell__center-body { align-self: center; padding: 28px; }
  .nk-tell .nk-tell__name { font-size: 15.5px; }
  .nk-tell .nk-tell__desc { font-size: 14px; }
}
@media (max-width: 767px) {
  .nk-tell .nk-tell__layout { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .nk-tell .nk-tell__center { grid-template-columns: minmax(0, 1fr); margin-bottom: 6px; }
  .nk-tell .nk-tell__pic { aspect-ratio: 4 / 3; }
  .nk-tell .nk-tell__center-body { padding: 20px 18px; }
  .nk-tell:not(.is-all) .nk-tell__col--right { display: none; }
  .nk-tell > .lnd-more { margin-top: 10px; }
}

/* Б-156 Можно написать нам обычными словами — класс nk-promo */
@media (max-width: 1199px) {
  .nk-promo .nk-promo__card { grid-template-columns: 300px minmax(0, 1fr); gap: 28px; align-items: stretch; padding: 24px; }
  /* Фото — вертикально на высоту текста. */
  .nk-promo .nk-promo__pic { aspect-ratio: auto; min-height: 375px; }
  .nk-promo .nk-promo__title { font-size: 32px; }
  .nk-promo .nk-promo__action { flex-direction: column; align-items: flex-start; gap: 12px; }
  .nk-promo .svc-memorial-compose__cta-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  .nk-promo .nk-promo__card { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 20px; border-radius: 20px; }
  .nk-promo .nk-promo__pic { aspect-ratio: 1 / 1; min-height: 0; }
  .nk-promo .nk-promo__title { font-size: 28px; }
  .nk-promo .nk-promo__list li { font-size: 14px; white-space: nowrap; }
  .nk-promo .nk-promo__action { align-items: stretch; }
  .nk-promo .svc-memorial-compose__cta-btn { display: flex; width: 100%; justify-content: center; white-space: normal; text-align: center; }
  .nk-promo .nk-promo__note { justify-content: center; }
}

/* Б-157 Каким может быть некролог — класс nk-formats */
@media (max-width: 1199px) {
  .nk-formats .svc-memorial-design__sub { max-width: 680px; }
  .nk-formats .nk-formats__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .nk-formats .nk-format__text { font-size: 14.5px; }
  .nk-formats .nk-format__sample { margin-top: auto; font-size: 16px; }
}

/* Б-158 Как будет построен текст — класс nk-structure */
@media (max-width: 1199px) {
  .nk-structure .svc-memorial-design__sub { max-width: 680px; }
  .nk-structure .nk-structure__layout { grid-template-columns: 330px minmax(0, 1fr); gap: 24px; }
  .nk-structure .nk-structure__paper { padding: 24px; }
  .nk-structure .nk-structure__para { margin-bottom: 4px; }
}
@media (max-width: 767px) {
  .nk-structure .nk-structure__layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  /* Части — компактный список без рамок, с тонкими разделителями. */
  .nk-structure .nk-structure__steps { gap: 0; }
  .nk-structure .nk-structure__step { padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; box-shadow: none; }
  .nk-structure .nk-structure__step.is-on { background: none; }
  .nk-structure .nk-structure__step:last-child { border-bottom: 0; }
  .nk-structure .nk-structure__name { font-size: 16px; }
  .nk-structure .nk-structure__desc { font-size: 14px; }
  .nk-structure .nk-structure__paper { padding: 18px 14px; }
  .nk-structure .nk-structure__para { padding-right: 4px; }
}

/* Б-159 Для кого пишется некролог — класс nk-who (плитки nk-tiles — общие с Б-160) */
@media (max-width: 1199px) {
  .nk-who .svc-memorial-design__sub,
  .nk-use .svc-memorial-design__sub { max-width: 680px; }
  /* Плитки 2 колонки: иконка слева, название и пояснение справа. */
  .nk-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .nk-tiles .nk-tile {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: 14px;
    row-gap: 4px;
    align-content: center;
    padding: 14px 16px;
  }
  .nk-tiles .nk-tile__ico { grid-row: 1 / span 3; width: 44px; height: 44px; }
  .nk-tiles .nk-tile__name { font-size: 16px; }
  .nk-tiles .nk-tile__text { font-size: 14.5px; }
  .nk-tiles .nk-tile__go { justify-self: start; }
}
@media (max-width: 767px) {
  .nk-tiles { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  :is(.nk-who, .nk-use):not(.is-all) .nk-tiles > :nth-child(n+6) { display: none; }
  :is(.nk-who, .nk-use) > .lnd-more { margin-top: 12px; }
}

/* Б-160 Куда можно использовать готовый текст — класс nk-use: раскладка плиток — в Б-159 (общие nk-tiles). */

/* Б-161 Текст может стать основой полноценной страницы памяти — класс nk-memory */
@media (max-width: 1199px) {
  /* Текст | фото 340px; кнопка и ссылка — строкой под обеими колонками. */
  .nk-memory .nk-memory__card { grid-template-columns: minmax(0, 1fr) 340px; gap: 0 28px; padding: 32px 28px; }
  .nk-memory .nk-memory__card--no-pic { grid-template-columns: minmax(0, 1fr); }
  .nk-memory .nk-memory__body { display: contents; }
  .nk-memory .nk-memory__body > * { grid-column: 1; }
  .nk-memory .nk-memory__pic { grid-column: 2; grid-row: 1 / span 5; align-self: center; }
  .nk-memory .nk-memory__body > .nk-memory__action { grid-column: 1 / -1; margin-top: 8px; }
  /* В сетке (body — display: contents) отступы не схлопываются: надзаголовок и заголовок — 10px. */
  .nk-memory .nk-memory__body > .eyebrow { margin-bottom: 10px; }
  .nk-memory .nk-memory__title { margin-top: 0; font-size: 36px; }
  .nk-memory .svc-memorial-compose__cta-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  .nk-memory .nk-memory__card { grid-template-columns: minmax(0, 1fr); padding: 16px 16px 20px; border-radius: 20px; }
  .nk-memory .nk-memory__pic { grid-column: 1; grid-row: 1; margin-bottom: 18px; }
  .nk-memory .nk-memory__title { font-size: 28px; }
  .nk-memory .nk-memory__action { flex-direction: column; align-items: stretch; gap: 4px; }
  .nk-memory .svc-memorial-compose__cta-btn { display: flex; width: 100%; justify-content: center; white-space: normal; text-align: center; }
  .nk-memory .nk-memory__ghost { align-self: center; display: inline-flex; align-items: center; min-height: 48px; border-bottom: 0; text-decoration: underline dashed; text-underline-offset: 4px; }
}

/* Б-162 Срок подготовки — класс nk-terms */
@media (max-width: 1199px) {
  .nk-terms .nk-terms__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nk-terms .nk-terms__note { grid-column: 1 / -1; }
  .nk-terms .nk-term__ico { width: 48px; height: 48px; border-radius: 50%; }
}
@media (max-width: 767px) {
  .nk-terms .nk-terms__grid { grid-template-columns: minmax(0, 1fr); }
  .nk-terms .nk-term__value { font-size: 28px; }
  .nk-terms .nk-term__title,
  .nk-terms .nk-term__text { font-size: 15px; }
  .nk-terms .nk-terms__note p { font-size: 15px; }
}

/* Б-163 Что вы получите, если могила найдена — класс pm-result */
@media (max-width: 1199px) {
  /* Фото 4:5 360px | 6 пунктов в одну колонку (белые плашки), кнопка под ними. */
  .pm-result .pm-result__layout { grid-template-columns: 360px minmax(0, 1fr); gap: 24px; align-items: start; }
  .pm-result .pm-result__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .pm-result .pm-result__item { align-items: center; padding: 14px 16px; }
  .pm-result .pm-result__ico { width: 44px; height: 44px; border-radius: 50%; }
  .pm-result .pm-result__title { font-family: 'Lora', Georgia, serif; font-size: 19px; font-weight: 600; }
  .pm-result .pm-result__text { font-size: 15px; }
  .pm-result .pm-result__cta { min-height: 52px; }
}
@media (max-width: 767px) {
  .pm-result .pm-result__layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pm-result .pm-result__pic { aspect-ratio: 4 / 3; }
  /* Список без карточек, тонкие разделители. */
  .pm-result .pm-result__grid { gap: 0; }
  .pm-result .pm-result__item { align-items: flex-start; padding: 14px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; }
  .pm-result .pm-result__item:last-child { border-bottom: 0; }
  .pm-result .pm-result__title { font-size: 18px; }
  .pm-result .pm-result__cta { display: flex; width: 100%; justify-content: center; margin-top: 16px; }
}

/* Б-164 Нужно ли быть родственником? — класс pm-kin */
@media (max-width: 1199px) {
  /* Текст | фото 340px вертикально 3:4 на высоту текста; 4 пункта в одну колонку. */
  .pm-kin .pm-kin__card { grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: stretch; padding: 36px; }
  .pm-kin .pm-kin__card--no-pic { grid-template-columns: minmax(0, 1fr); }
  .pm-kin .pm-kin__pic { aspect-ratio: 3 / 4; align-self: center; }
  .pm-kin .pm-kin__body > .eyebrow { margin-bottom: 12px; }
  .pm-kin .pm-kin__title { margin-top: 0; font-size: 36px; }
  .pm-kin .pm-kin__list { grid-template-columns: minmax(0, 1fr); }
  .pm-kin .pm-kin__list li { font-size: 15.5px; }
  .pm-kin .pm-kin__ico { width: 44px; height: 44px; }
}
@media (max-width: 767px) {
  .pm-kin .pm-kin__card { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0 0 20px; overflow: hidden; border-radius: 20px; }
  .pm-kin .pm-kin__pic { order: -1; aspect-ratio: 4 / 3; border-radius: 0; margin-bottom: 18px; }
  .pm-kin .pm-kin__body { padding: 0 16px; }
  .pm-kin .pm-kin__title { font-size: 28px; }
  .pm-kin .pm-kin__note { padding-top: 16px; border-top: 1px solid var(--line); }
}

/* Б-165 Сколько занимает поиск — класс pm-terms */
@media (max-width: 1199px) {
  .pm-terms .pm-terms__card { padding: 20px; }
}
@media (max-width: 767px) {
  .pm-terms .pm-terms__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pm-terms .pm-terms__card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: 14px;
    row-gap: 8px;
    align-items: center;
    padding: 20px;
  }
  .pm-terms .pm-terms__ico { width: 44px; height: 44px; }
  .pm-terms .pm-terms__title { margin: 0; }
  .pm-terms .pm-terms__card > :not(.pm-terms__ico):not(.pm-terms__title) { grid-column: 1 / -1; }
  .pm-terms .pm-terms__duration { font-size: 18px; }
}

/* Б-166 Могила найдена — что дальше? — класс pm-next (карточки — общий svc-oform-related) */
@media (max-width: 1199px) {
  .pm-next .pm-next__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 767px) {
  .pm-next .pm-next__path { padding: 10px 12px; font-size: 14px; white-space: nowrap; }
  .pm-next .pm-next__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .pm-next .svc-oform-related__card { padding: 14px 16px; }
  .pm-next .svc-oform-related__ico { width: 44px; height: 44px; }
  .pm-next .svc-oform-related__name { font-size: 16px; }
  .pm-next .svc-oform-related__text { font-size: 15px; }
  .pm-next:not(.is-all) .pm-next__grid > :nth-child(n+6) { display: none; }
  .pm-next > .lnd-more { margin-top: 12px; }
}

/* «Найти и привести могилу в порядок без вашего приезда» (/poisk-mogil, без своего номера в списке; цепочка pm-remote__chain
   из CSS страницы — 5 колонок): планшет — лента 3 + край, телефон — 1 + край (t-swipe + data-dots в разметке). */
@media (max-width: 1199px) {
  .pm-remote .pm-remote__chain { --t-cards: 3; }
}

/* «Что может быть на странице памяти» (/stranica-pamyati, класс sp-parts — в списке блоков без своего номера; сетка
   «пункты | телефон | пункты» из CSS страницы): по логике Б-143/Б-155 — макет телефона наверху, пункты двумя колонками / списком. */
@media (max-width: 1199px) {
  .sp-parts .sp-parts__layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; align-items: start; }
  .sp-parts .sp-phone { grid-column: 1 / -1; grid-row: 1; margin-bottom: 10px; }
  .sp-parts .sp-parts__col--left .sp-part { flex-direction: row; text-align: left; }
  .sp-parts .sp-part__text { font-size: 14.5px; }
}
@media (max-width: 767px) {
  .sp-parts .sp-parts__layout { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}

/* Б-167 Посмотрите, как выглядит готовая страница — класс sp-demo */
@media (max-width: 1199px) {
  .sp-demo .sp-demo__tab { min-height: 44px; }
  .sp-demo .sp-mock__head { padding: 0 28px; }
  .sp-demo .sp-mock__portrait { width: 150px; }
  .sp-demo .sp-mock__name { font-size: 28px; }
  .sp-demo .sp-mock__section { padding: 22px 28px 0; }
  .sp-demo .sp-mock__photos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sp-demo .sp-demo__actions .svc-memorial-compose__cta-btn,
  .sp-demo .sp-demo__toggle { min-height: 52px; }
}
@media (max-width: 767px) {
  /* Вкладки — лента до края экрана, карточки по 250px. */
  .sp-demo .sp-demo__tabs {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    margin: 0 -16px 16px;
    padding: 0 16px;
  }
  .sp-demo .sp-demo__tabs::-webkit-scrollbar { display: none; }
  .sp-demo .sp-demo__tab { flex: 0 0 250px; scroll-snap-align: start; }
  .sp-demo .sp-mock__cover { aspect-ratio: 2 / 1; min-height: 0; }
  /* Портрет 120px по центру с наездом на обложку; имя, даты, место — отдельными строками по центру. */
  .sp-demo .sp-mock__head { flex-direction: column; align-items: center; gap: 12px; margin-top: -60px; padding: 0 16px; text-align: center; }
  .sp-demo .sp-mock__portrait { width: 120px; border-width: 4px; }
  .sp-demo .sp-mock__name { font-size: 24px; }
  .sp-demo .sp-mock__years,
  .sp-demo .sp-mock__place { display: flex; justify-content: center; margin: 4px 0 0; }
  .sp-demo .sp-mock__section { padding: 20px 16px 0; }
  .sp-demo .sp-mock__photos,
  .sp-demo .sp-mock__memories { grid-template-columns: minmax(0, 1fr); }
  .sp-demo .sp-demo__actions { flex-direction: column; align-items: stretch; }
  .sp-demo .sp-demo__toggle,
  .sp-demo .sp-demo__actions .svc-memorial-compose__cta-btn { width: 100%; justify-content: center; }
}

/* Б-168 Создать самостоятельно или поручить нам — класс sp-ways */
@media (max-width: 1199px) {
  .sp-ways .sp-way { display: flex; flex-direction: column; }
  .sp-ways .sp-way__body { display: flex; flex: 1 1 auto; flex-direction: column; align-items: flex-start; }
  .sp-ways .sp-way__body .sp-btn { margin-top: auto; min-height: 52px; }
}
@media (max-width: 767px) {
  .sp-ways .sp-way__title { font-size: 22px; }
  .sp-ways .sp-way__note { font-size: 13px; }
  .sp-ways .sp-way__body .sp-btn { width: 100%; justify-content: center; }
}

/* Б-169 Биография — не одна стена текста, а лента жизни — класс sp-life */
@media (max-width: 1199px) {
  .sp-life .sp-life__line { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sp-life .sp-life__item:nth-child(2n)::before { display: none; }
  .sp-life .sp-life__text { font-size: 15px; }
}
@media (max-width: 767px) {
  /* Вертикальная лента: круг 44px слева, круги соединены линией, карточка главы справа. */
  .sp-life .sp-life__line { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .sp-life .sp-life__item { flex-direction: row; gap: 14px; }
  .sp-life .sp-life__item::before,
  .sp-life .sp-life__item:nth-child(2n)::before { display: block; top: 44px; bottom: -14px; left: 21px; right: auto; width: 2px; height: auto; background: rgba(60, 139, 79, .35); }
  .sp-life .sp-life__item:last-child::before { display: none; }
  .sp-life .sp-life__dot { flex: 0 0 44px; }
  .sp-life .sp-life__card { padding: 14px 16px; }
  .sp-life:not(.is-all) .sp-life__item:nth-child(n+6) { display: none; }
  .sp-life:not(.is-all) .sp-life__item:nth-child(5)::before { display: none; }
  .sp-life > .lnd-more { margin-top: 14px; }
}

/* Б-170 Фотографии не просто хранятся — они рассказывают историю — класс sp-photos */
@media (max-width: 1199px) {
  .sp-photos .svc-oform-filters { flex-wrap: nowrap; }
  .sp-photos .sp-photos__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .sp-photos .sp-center-cta .svc-memorial-compose__cta-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  .sp-photos .sp-center-cta .svc-memorial-compose__cta-btn { display: flex; width: 100%; justify-content: center; }
}

/* Б-171 Видео и фильм памяти — класс sp-video */
@media (max-width: 1199px) {
  /* Шапка на всю ширину над фото; фото 460px | «Можно разместить» с пунктами; ниже карточка-ссылка и кнопка. */
  .sp-video .sp-split { grid-template-columns: 460px minmax(0, 1fr) auto; gap: 0 28px; align-items: center; }
  .sp-video .sp-split--no-pic { grid-template-columns: minmax(0, 1fr) auto; }
  .sp-video .sp-split__body { display: contents; }
  .sp-video .sp-split__body > :is(.eyebrow, .svc-memorial-design__title, .svc-memorial-design__sub) { grid-column: 1 / -1; }
  .sp-video .sp-split__body > .svc-memorial-design__sub { margin-bottom: 24px; }
  .sp-video .sp-split__pic { grid-column: 1; grid-row: 4 / span 2; }
  .sp-video .sp-split__lead,
  .sp-video .sp-ticks { grid-column: 2 / -1; align-self: end; }
  .sp-video .sp-ticks { align-self: start; margin-bottom: 0; }
  .sp-video .sp-linkcard { grid-column: 1 / 3; margin: 24px 0 0; }
  .sp-video .sp-split__body > .sp-btn { grid-column: 3; margin: 24px 0 0; min-height: 52px; }
}
@media (max-width: 767px) {
  .sp-video .sp-split,
  .sp-video .sp-split--no-pic { grid-template-columns: minmax(0, 1fr); }
  .sp-video .sp-split__pic { grid-row: 4; margin-bottom: 20px; }
  .sp-video .sp-split__lead,
  .sp-video .sp-ticks,
  .sp-video .sp-linkcard,
  .sp-video .sp-split__body > .sp-btn { grid-column: 1; }
  .sp-video .sp-ticks li { font-size: 16px; }
  .sp-video .sp-linkcard { margin-top: 16px; }
  .sp-video .sp-split__body > .sp-btn { margin-top: 16px; width: 100%; justify-content: center; }
}

/* Б-172 История человека состоит не только из биографии — класс sp-memories */
@media (max-width: 1199px) {
  .sp-memories .sp-chips { flex-wrap: nowrap; }
  .sp-memories .sp-chip { white-space: nowrap; }
  .sp-memories .sp-memory__text { font-size: 17px; }
  /* Плашка: иконка | заголовок, под ним текст и кнопка в одной строке. */
  .sp-memories .svc-memorial-design__cta { grid-template-columns: 56px minmax(0, 1fr) auto; }
}
@media (max-width: 767px) {
  .sp-memories .sp-chips { flex-wrap: wrap; }
  .sp-memories .sp-chips__lead { flex-basis: 100%; }
  .sp-memories .svc-memorial-design__cta { grid-template-columns: 48px minmax(0, 1fr); }
}

/* Б-173 Достижения, документы и семейный архив — класс sp-archive */
@media (max-width: 1199px) {
  /* Фото наверху широким кадром 5:2, под ним 8 пунктов сеткой 2×4. */
  .sp-archive .sp-archive__layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .sp-archive .sp-archive__pic { aspect-ratio: 5 / 2; }
  .sp-archive .sp-archive__title { font-size: 17px; }
  .sp-archive .sp-archive__text { font-size: 15px; }
  .sp-archive .sp-archive__foot { flex-wrap: nowrap; }
  .sp-archive .sp-archive__foot .svc-memorial-compose__cta-btn { flex: 0 0 auto; min-height: 52px; }
}
@media (max-width: 767px) {
  .sp-archive .sp-archive__pic { aspect-ratio: 4 / 3; }
  /* Пункты — список без карточек с разделителями, первые 5. */
  .sp-archive .sp-archive__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .sp-archive .sp-archive__item { padding: 14px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; }
  .sp-archive .sp-archive__ico { width: 44px; height: 44px; }
  .sp-archive .sp-archive__title { font-family: 'Lora', Georgia, serif; font-size: 18px; }
  .sp-archive:not(.is-all) .sp-archive__item:nth-child(n+6) { display: none; }
  .sp-archive > .lnd-more { margin-top: 14px; }
  .sp-archive .sp-archive__foot { flex-direction: column; align-items: stretch; }
  .sp-archive .sp-archive__foot .sp-note { flex: 0 0 auto; }
  .sp-archive .sp-archive__foot .svc-memorial-compose__cta-btn { display: flex; width: 100%; justify-content: center; }
}

/* Б-174 Не нужно пересылать фотографии и историю десятками файлов — класс sp-link */
@media (max-width: 1199px) {
  /* Текст | фото 400px вертикально 3:4 (отдельный кадр only-tm), по высоте текста. */
  .sp-link .sp-split { grid-template-columns: minmax(0, 1fr) 400px; gap: 28px; align-items: stretch; }
  .sp-link .sp-split--no-pic { grid-template-columns: minmax(0, 1fr); }
  .sp-link .sp-split__pic { aspect-ratio: auto; min-height: 533px; }
  .sp-link .sp-link__pic-wide { display: none; }
}
@media (max-width: 767px) {
  /* Надзаголовок → заголовок → фото 4:3 → подзаголовок → пункты → сообщение в чате. */
  .sp-link .sp-split { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .sp-link .sp-split__body { display: contents; }
  .sp-link .sp-split__pic { order: 1; aspect-ratio: 4 / 3; min-height: 0; margin: 4px 0 18px; }
  .sp-link .sp-link__pic-wide { display: block; }
  .sp-link .sp-split__body > :not(.eyebrow):not(.svc-memorial-design__title) { order: 2; }
  .sp-link .sp-ticks { margin-top: 12px; }
  .sp-link .sp-chat { max-width: none; }
}

/* Б-175 Страницу можно пополнять — класс sp-grow */
@media (max-width: 1199px) {
  .sp-grow .svc-memorial-design__sub { max-width: 640px; }
  .sp-grow .sp-grow__row { gap: 16px; }
  .sp-grow .sp-ticks li { font-size: 16px; }
  .sp-grow .sp-grow__statement { font-size: 25px; max-width: 640px; }
}
@media (max-width: 767px) {
  .sp-grow .sp-grow__row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .sp-grow .sp-grow__arrow { justify-self: center; transform: rotate(90deg); }
  .sp-grow .sp-grow__card { padding: 20px 20px 6px; }
  .sp-grow .sp-grow__statement { font-size: 21px; }
}

/* Б-176 Кто может добавить материалы — класс sp-roles */
@media (max-width: 1199px) {
  .sp-roles .sp-role { padding: 18px; }
  .sp-roles .sp-role__title { font-family: 'Lora', Georgia, serif; font-size: 18px; }
  .sp-roles .sp-role__text { font-size: 15px; }
  .sp-roles .sp-rights__row { grid-template-columns: minmax(0, 1.45fr) repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  /* Роли — список без рамок: квадратная иконка 44px слева, название и текст справа. */
  .sp-roles .sp-roles__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .sp-roles .sp-role { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; padding: 0; border: 0; background: none; }
  .sp-roles .sp-role__ico { grid-row: 1 / span 2; width: 44px; height: 44px; margin: 0; }
  /* Таблица — одна карточка: под названием действия три строки «роль — отметка». */
  .sp-roles .sp-rights__row { grid-template-columns: minmax(0, 1fr); padding: 12px 16px; }
  .sp-roles .sp-rights__row--head > :not(:first-child) { display: none; }
  .sp-roles .sp-rights__row--head { padding: 10px 16px; }
  .sp-roles .sp-rights__row > span { padding: 0; }
  .sp-roles .sp-rights__label { margin-bottom: 6px; font-size: 16px; }
  .sp-roles .sp-rights__cell { padding: 6px 0; font-size: 14.5px; }
  .sp-roles .sp-rights__who { display: block; flex: 1 1 auto; min-width: 0; color: var(--ink-3); }
  .sp-roles .sp-rights__cell [data-lucide] { order: 2; }
  .sp-roles .sp-rights__txt { order: 3; white-space: nowrap; }
  .sp-roles > .sp-note { font-size: 14px; }
}

/* Б-177 Вам не нужно приезжать на кладбище — класс um-remote (тот же блок и на /uhod-za-mogiloj-po-podpiske) */
@media (max-width: 1199px) {
  .um-remote .um-remote__card { grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; padding: 32px; }
  .um-remote .um-remote__card--no-pic { grid-template-columns: minmax(0, 1fr); }
  .um-remote .um-remote__title { font-size: 32px; }
  .um-remote .um-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .um-remote .um-flow__name { font-size: 15px; }
  .um-remote .um-remote__cta { min-height: 52px; }
}
@media (max-width: 767px) {
  /* Надзаголовок → заголовок → текст → фото 4:3 → шаги списком → кнопка. */
  .um-remote .um-remote__card { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 20px; border-radius: 20px; }
  .um-remote .um-remote__body { display: contents; }
  .um-remote .um-remote__body > * { order: 1; }
  .um-remote .um-remote__pic { order: 2; aspect-ratio: 4 / 3; margin-bottom: 18px; }
  .um-remote .um-remote__body > .um-flow,
  .um-remote .um-remote__body > .um-remote__cta { order: 3; }
  /* body — display: contents, отступы не схлопываются: надзаголовок и заголовок — 10px. */
  .um-remote .um-remote__body > .eyebrow { margin-bottom: 10px; }
  .um-remote .um-remote__title { margin-top: 0; font-size: 28px; }
  .um-remote .um-remote__text { margin-bottom: 18px; }
  .um-remote .um-flow { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .um-remote .um-remote__cta { display: flex; width: 100%; justify-content: center; margin-top: 18px; white-space: normal; text-align: center; }
}

/* Б-178 Покажите участок — оценим объём работы — класс um-promo (плита «Как мы находим могилу» um-find,
   зелёная полоса — общий svc-memorial-promo) */
@media (max-width: 1199px) {
  .um-promo .um-promo__grid { gap: 16px; }
  .um-promo .um-promo__card { padding: 20px; }
  .um-promo .um-promo__list { grid-template-columns: minmax(0, 1fr); }
  /* Текст и пункты столбиком слева, фото 320px справа; плашка «Важно знать заранее» и условие — на всю ширину ниже. */
  .um-promo .um-find { grid-template-columns: minmax(0, 1fr) 320px; gap: 0 28px; }
  .um-promo .um-find--no-pic { grid-template-columns: minmax(0, 1fr); }
  .um-promo .um-find__body { display: contents; }
  .um-promo .um-find__body > * { grid-column: 1; }
  /* body — display: contents, отступы не схлопываются: надзаголовок и заголовок — 10px. */
  .um-promo .um-find__body > .eyebrow { margin-bottom: 10px; }
  .um-promo .um-find__title { margin-top: 0; }
  .um-promo .um-find__pic { grid-column: 2; grid-row: 1 / span 4; align-self: center; }
  .um-promo .um-find__body > :is(.um-find__warn, .um-find__contract) { grid-column: 1 / -1; }
  .um-promo .um-find__list { grid-template-columns: minmax(0, 1fr); }
  .um-promo .um-promo__bar { grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; }
  .um-promo .um-promo__bar > .svc-memorial-promo__action { grid-column: auto; }
}
@media (max-width: 767px) {
  .um-promo .um-promo__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .um-promo .um-promo__card { padding: 16px; }
  /* Надзаголовок → заголовок 24px → текст → фото 4:3 → пункты → «Важно знать заранее» → примечание. */
  .um-promo .um-find { grid-template-columns: minmax(0, 1fr); }
  .um-promo .um-find__pic { grid-column: 1; grid-row: 4; margin: 4px 0 16px; }
  .um-promo .um-find__title { font-size: 24px; }
  .um-promo .um-find__contract { font-size: 13px; }
  .um-promo .um-promo__bar { grid-template-columns: 48px minmax(0, 1fr); }
  .um-promo .um-promo__bar > .svc-memorial-promo__action { grid-column: 1 / -1; }
  .um-promo .svc-memorial-promo__btn { display: flex; width: 100%; min-height: 52px; justify-content: center; white-space: nowrap; }
}

/* Б-179 До и после уборки — класс um-ba */
@media (max-width: 1199px) {
  /* Сравнение на всю ширину, миниатюры — лентой под кадром (карточки 172px, видно 5 + край). */
  .um-ba .um-ba__layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .um-ba .um-ba__title { font-family: 'Lora', Georgia, serif; font-size: 22px; }
  .um-ba .um-ba__side .um-ba__thumbs {
    position: static;
    flex-direction: row;
    gap: 12px;
    margin: 0 -28px;
    padding: 4px 28px 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }
  .um-ba .um-ba__side .um-ba__thumbs::-webkit-scrollbar { display: none; }
  .um-ba .um-ba__side .um-ba__thumb { flex: 0 0 172px; flex-direction: column; align-items: stretch; gap: 8px; padding: 8px; }
  .um-ba .um-ba__side .um-ba__thumb-pic { flex: 0 0 auto; }
  .um-ba .um-ba__side .um-ba__thumb-name { font-size: 14px; }
  .um-ba .um-ba__handle { width: 44px; height: 44px; margin: -22px 0 0 -22px; }
  .um-ba .svc-memorial-design__cta { margin-top: 28px; }
}
@media (max-width: 767px) {
  .um-ba .um-ba__caption { text-align: left; }
  .um-ba .um-ba__title { font-size: 19px; }
  .um-ba .um-ba__side .um-ba__thumbs { margin: 0 -16px; padding: 4px 16px 10px; }
  .um-ba .um-ba__side .um-ba__thumb { flex-basis: 148px; }
  .um-ba .um-ba__side .um-ba__thumb-name { font-size: 13px; }
}

/* Б-180 Что можно добавить к уборке — класс um-extras (карточки — общий svc-oform-related) */
@media (max-width: 1199px) {
  /* Общая сетка 3 колонки: фото в 1-й колонке на 3 ряда, рядом 6 карточек, 4-й ряд — оставшиеся 3. */
  .um-extras .um-extras__layout--pic { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .um-extras .um-extras__layout--pic .svc-oform-related__grid { display: contents; }
  .um-extras .um-extras__pic { grid-column: 1; grid-row: 1 / span 3; aspect-ratio: auto; min-height: 100%; }
  .um-extras .svc-oform-related__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .um-extras .svc-oform-related__card { padding: 14px 16px; }
  .um-extras .svc-oform-related__ico { width: 44px; height: 44px; }
  .um-extras .svc-oform-related__name { font-size: 16px; }
  .um-extras .svc-oform-related__text { font-size: 14px; }
}
@media (max-width: 767px) {
  .um-extras .um-extras__layout--pic { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .um-extras .um-extras__pic { grid-row: auto; aspect-ratio: 4 / 3; min-height: 0; margin-bottom: 6px; }
  .um-extras .svc-oform-related__grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .um-extras:not(.is-all) .svc-oform-related__card:nth-of-type(n+7) { display: none; }
  .um-extras > .lnd-more { margin-top: 12px; }
}

/* Б-181 Разовая уборка или регулярный уход — класс um-modes */
@media (max-width: 1199px) {
  .um-modes .um-modes__card { padding: 22px; }
  .um-modes .um-center .svc-memorial-compose__cta-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  .um-modes .um-modes__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .um-modes .um-modes__card { padding: 16px; }
  .um-modes .um-modes__name { font-size: 22px; }
  .um-modes .um-center .svc-memorial-compose__cta-btn { display: flex; width: 100%; justify-content: center; }
}

/* Б-182 Уход за могилой в течение года — класс um-plans (тот же блок и на /uhod-za-mogiloj-po-podpiske) */
@media (max-width: 1199px) {
  .um-plans .um-plans__grid { gap: 14px; }
  .um-plans .um-plan { padding: 22px 18px 18px; }
  .um-plans .um-plan__name { font-size: 22px; }
  .um-plans .um-plan .svc-mem-price-card__btn { min-height: 48px; }
  /* «В каждый тариф входит» — пункты в 2 колонки, примечание о стоимости ниже на всю ширину. */
  .um-plans .um-plans__included-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
}
@media (max-width: 767px) {
  .um-plans .um-plans__grid { padding-top: 16px; }
  .um-plans .um-plan .svc-mem-price-card__btn { display: flex; width: 100%; min-height: 52px; justify-content: center; align-items: center; }
  .um-plans .um-plans__included { padding: 18px 16px; }
  .um-plans .um-plans__included-list { grid-template-columns: minmax(0, 1fr); }
  .um-plans .um-plans__note { font-size: 14px; }
}

/* Б-183 Фотоотчёт — не просто две фотографии — класс um-report */
@media (max-width: 1199px) {
  /* Ряды фото — ленты до краёв карточки (3 фото + край); «Обнаружено» — копией под лентой «После». */
  .um-report .um-report__grid { --t-cards: 3; --swipe-bleed: 24px; }
  .um-report .um-report__shot figcaption { font-size: 14px; }
  .um-report .um-report__found--wide.only-tm {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px 16px;
    margin-top: 6px;
  }
}
@media (max-width: 767px) {
  .um-report .um-report__card { padding: 16px; }
  .um-report .um-report__grid { --swipe-bleed: 16px; }
  .um-report .um-report__found--wide.only-tm { grid-template-columns: minmax(0, 1fr); }
  .um-report .um-report__found-text { font-size: 17px; }
  .um-report .um-report__found-note { font-size: 14px; }
}

/* Б-184 Срок выполнения — класс um-terms */
@media (max-width: 1199px) {
  .um-terms .um-terms__grid { gap: 14px; }
  .um-terms .um-terms__card { padding: 20px; }
}
@media (max-width: 767px) {
  .um-terms .um-terms__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .um-terms .um-terms__card { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; padding: 16px; }
  .um-terms .um-terms__ico { grid-row: 1 / span 3; width: 44px; height: 44px; margin: 0; }
  .um-terms .um-terms__name { font-family: 'Lora', Georgia, serif; font-size: 19px; }
  .um-terms .um-terms__text { font-size: 15px; }
}

/* Б-185 Что влияет на стоимость — класс um-factors (плита svc-memorial-pricing__factors, логика Б-048) */
@media (max-width: 1199px) {
  .um-factors .svc-memorial-pricing__factors-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
  .um-factors .svc-mem-factor__ico { width: 44px; height: 44px; }
  .um-factors .svc-mem-factor__name { font-size: 16px; }
  .um-factors .svc-mem-factor__desc { font-size: 15px; }
}
@media (max-width: 767px) {
  .um-factors .svc-memorial-pricing__factors-title { font-size: 28px; }
  .um-factors .svc-memorial-pricing__factors-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .um-factors:not(.is-all) .svc-mem-factor:nth-child(n+7) { display: none; }
  .um-factors .lnd-more { margin-top: 16px; }
}

/* Б-186 Нужно привести могилу в порядок к определённой дате? — класс um-date */
@media (max-width: 1199px) {
  .um-date .um-date__card { grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; padding: 32px; }
  .um-date .um-date__card--no-pic { grid-template-columns: minmax(0, 1fr); }
  .um-date .um-date__body > .eyebrow { margin-bottom: 10px; }
  .um-date .um-date__title { margin-top: 0; }
  .um-date .svc-memorial-compose__cta-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  /* Надзаголовок → заголовок 26px → текст → фото 4:3 → поводы столбиком → строка про цветы → кнопка. */
  .um-date .um-date__card { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 20px; border-radius: 20px; }
  .um-date .um-date__body { display: contents; }
  .um-date .um-date__body > * { order: 1; }
  .um-date .um-date__pic { order: 2; margin-bottom: 18px; }
  .um-date .um-date__body > :is(.um-date__list, .um-date__combo, .svc-memorial-compose__cta-btn) { order: 3; }
  .um-date .um-date__title { font-size: 26px; }
  .um-date .um-date__list { grid-template-columns: minmax(0, 1fr); }
  .um-date .svc-memorial-compose__cta-btn { display: flex; width: 100%; justify-content: center; }
}

/* Б-187 Когда возложить цветы? — класс vc-date */
@media (max-width: 1199px) {
  /* Текст ~450px | календарь 400px; чипы переносятся, стрелки и дни календаря 44px. */
  .vc-date .vc-date__card { grid-template-columns: minmax(0, 1fr) 400px; gap: 28px; padding: 40px 36px; }
  .vc-date .vc-chip { min-height: 44px; }
  .vc-date .vc-cal__nav { width: 44px; height: 44px; }
  .vc-date .vc-cal__day { aspect-ratio: auto; min-height: 44px; }
  .vc-date .vc-cal__foot { flex-direction: column; align-items: flex-start; }
  .vc-date .vc-cal__foot .svc-memorial-design__cta-btn { justify-content: center; min-height: 52px; }
}
@media (max-width: 767px) {
  .vc-date .vc-date__card { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 20px; border-radius: 20px; }
  .vc-date .vc-cal { padding: 14px 10px; }
  .vc-date .vc-cal__grid { gap: 2px; }
  .vc-date .vc-cal__foot { align-items: stretch; }
}

/* Б-188 Заказ можно оформить из другого города или страны — класс vc-remote */
@media (max-width: 1199px) {
  .vc-remote .vc-remote__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vc-remote .vc-remote__step + .vc-remote__step::before { display: none; }
  /* Круг с иконкой и номером слева, название и текст справа. */
  .vc-remote .vc-remote__step { display: grid; grid-template-columns: 46px minmax(0, 1fr); column-gap: 16px; row-gap: 4px; align-content: start; }
  .vc-remote .vc-remote__ico { grid-row: 1 / span 2; margin: 0; }
  .vc-remote .vc-remote__text { font-size: 15px; }
}
@media (max-width: 767px) {
  /* Компактный список в одной белой плите, круги соединены пунктиром. */
  .vc-remote .vc-remote__row { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 20px; border-radius: 20px; border: 1px solid var(--line-2); background: #fff; }
  .vc-remote .vc-remote__step { padding: 0 0 18px; border: 0; border-radius: 0; background: none; }
  .vc-remote .vc-remote__step:last-child { padding-bottom: 0; }
  .vc-remote .vc-remote__step:not(:last-child)::after { content: ""; position: absolute; left: 22px; top: 50px; bottom: 4px; border-left: 2px dashed var(--line); }
  .vc-remote .vc-remote__title { font-size: 16px; }
}

/* Б-189 Цветы лучше смотрятся на приведённом в порядок участке — класс vc-clean */
@media (max-width: 1199px) {
  /* Ряд 1 — пара фото 4:3 (отдельные кадры only-tm), ряд 2 — две карточки. */
  .vc-clean .vc-clean__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .vc-clean .vc-pair { gap: 16px; }
  .vc-clean .vc-pair__shot { aspect-ratio: 4 / 3; }
  .vc-clean .vc-pair__img-tall { display: none; }
  .vc-clean .vc-clean__options { align-items: start; }
  .vc-clean .svc-memorial-compose__cta-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  .vc-clean .vc-pair { gap: 10px; }
  .vc-clean .vc-pair__shot { aspect-ratio: 3 / 4; }
  .vc-clean .vc-pair__img-tall { display: block; }
  .vc-clean .vc-clean__options { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .vc-clean .svc-memorial-compose__cta-btn { display: flex; width: 100%; justify-content: center; }
}

/* Б-190 Вы увидите, что заказ выполнен — класс vc-report */
@media (max-width: 1199px) {
  .vc-report .vc-report__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 16px; }
  .vc-report .vc-report__pic { aspect-ratio: 1 / 1; }
  .vc-report .vc-report__title { font-size: 16px; }
  .vc-report .vc-report__text { font-size: 15px; }
}

/* Б-191 Соберите заказ — итог виден сразу — класс vc-builder */
@media (max-width: 1199px) {
  .vc-builder .vc-builder__wrap { grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; }
  .vc-builder .vc-builder__form { padding: 24px; }
  .vc-builder .vc-chip { min-height: 44px; }
  .vc-builder .vc-chip--num { min-width: 48px; min-height: 48px; border-radius: 50%; padding: 0; }
  /* Уборка: три варианта — вертикальным списком на всю ширину формы. */
  .vc-builder .vc-radios { grid-template-columns: minmax(0, 1fr); }
  .vc-builder .vc-cart__lines li { gap: 10px; }
  .vc-builder .vc-cart__lines b { flex: 0 0 auto; white-space: nowrap; }
}
@media (max-width: 767px) {
  .vc-builder .vc-builder__wrap { grid-template-columns: minmax(0, 1fr); }
  .vc-builder .vc-builder__form { padding: 18px 16px; border-radius: 20px; }
  .vc-builder .vc-builder__row { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .vc-builder .vc-builder__row > .vc-builder__group + .vc-builder__group { margin-top: 8px; }
  .vc-builder .vc-cart { position: static; padding: 20px 16px; }
  .vc-builder .vc-cart__btn { display: flex; width: 100%; min-height: 52px; justify-content: center; align-items: center; }
}

/* Б-192 Живые или искусственные цветы — класс vc-compare */
@media (max-width: 1199px) {
  .vc-compare .vc-compare__pic { aspect-ratio: 3 / 2; }
  .vc-compare .vc-compare__body { padding: 20px; }
}
@media (max-width: 767px) {
  .vc-compare .vc-compare__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .vc-compare .vc-compare__body { padding: 18px 16px; }
  .vc-compare .vc-compare__title { font-size: 24px; }
}

/* Б-193 Композиции уже на могилах — класс vc-orders */
@media (max-width: 1199px) {
  .vc-orders .vc-orders__grid { --t-cards: 3; }
  .vc-orders .vc-order__title { font-size: 17px; }
  .vc-orders .vc-order__occ { font-size: 15px; }
  .vc-orders .vc-order__meta { font-size: 14px; color: var(--ink-3); }
}
