/* =====================================================================================================================
   АДАПТИВ: главная (уникальные блоки), каталог услуг /uslugi, «Наши работы» (/rabota/…), /reviews.
   Планшет — @media (max-width: 1199px), телефон — @media (max-width: 767px). Компьютер — основные стили, не трогаем.
   ===================================================================================================================== */

/* Общее для файла: контурная кнопка «Все … →» на всю ширину под лентой (только телефон, элемент .only-m в разметке) */
@media (max-width: 767px) {
  .hcw-outline-btn.only-m {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    margin-top: 16px;
    padding: 0 20px;
    border: 1.5px solid var(--green-700);
    border-radius: 14px;
    color: var(--green-700);
    font-weight: 600;
    font-size: 16px;
  }
  .hcw-outline-btn [data-lucide], .hcw-outline-btn svg { width: 18px; height: 18px; }
}

/* Б-051 Как мы работаем — класс live-stats */
@media (max-width: 1199px) {
  .live-stats { margin: 0 28px; grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .live-stats .live-stats__card,
  .live-stats .live-leads__card { padding: 36px 32px; border-radius: 20px; }
  .live-stats .live-stats__title,
  .live-stats .live-leads__title { font-size: 36px; margin-bottom: 24px; }
  .live-stats .live-leads__head .live-leads__title { margin-bottom: 0; }
  .live-stats .live-leads__head { margin-bottom: 20px; gap: 16px; }
  .live-stats .live-leads__all { font-size: 15px; }
  .live-stats .live-facts { grid-template-columns: 1fr 1fr; gap: 24px 28px; }
  .live-stats .live-facts li { grid-template-columns: 44px minmax(0, 1fr); gap: 14px; align-items: start; font-size: 15px; }
  .live-stats .live-facts__ico { width: 44px; height: 44px; border-radius: 12px; }
  .live-stats .live-facts__ico [data-lucide], .live-stats .live-facts__ico svg { width: 20px; height: 20px; }
  .live-stats .live-facts__more { padding-top: 24px; font-size: 15px; }
  .live-stats .live-leads__scroll-wrap { display: block; }
  .live-stats .live-leads__next { display: none; }
  .live-stats .live-done__row { --swipe-bleed: 32px; --t-peek: 162px; } /* 2 карточки + четверть третьей, как на макете */
  .live-stats .live-done .live-lead__pic { aspect-ratio: 4 / 3; }
  .live-stats .live-lead__name { font-size: 16px; }
  .live-stats .live-done__place { font-size: 14px; }
  .live-stats .live-lead__foot { font-size: 14px; }
}
@media (max-width: 767px) {
  .live-stats { margin: 0 16px; gap: 0; }
  /* Без плит: фон страницы, чтобы не было карточек в карточке */
  .live-stats .live-stats__card,
  .live-stats .live-leads__card { padding: 0; background: none; box-shadow: none; border-radius: 0; }
  .live-stats .live-leads__card { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--line); }
  .live-stats .live-stats__title,
  .live-stats .live-leads__title { font-size: 28px; margin-bottom: 18px; }
  .live-stats .live-leads__head { margin-bottom: 16px; }
  .live-stats .live-facts { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .live-stats .live-facts li { align-items: center; }
  .live-stats .live-facts__more { padding-top: 20px; }
  .live-stats .live-done__row { --swipe-bleed: 16px; }
  .live-stats .live-lead { background: #fff; box-shadow: 0 12px 28px -22px rgba(20,24,26,.25); }
}

/* Б-052 Найдите всё в одном месте — класс ssearch-wrap (стили компонента — components/site-search.css) */
@media (max-width: 1199px) {
  section.ssearch-wrap { margin: 8px 28px 40px; padding: 40px 48px 44px; }
  section.ssearch-wrap .ssearch-wrap__head h2 { font-size: 36px; }
  section.ssearch-wrap .ssearch-wrap__sub { font-size: 17px; }
  section.ssearch-wrap .ssearch-wrap__kinds { gap: 10px 26px; }
  section.ssearch-wrap .ssearch-wrap__kinds li { gap: 8px; min-height: 36px; font-size: 15px; font-weight: 700; }
  section.ssearch-wrap .ssearch-wrap__kinds svg { width: 18px; height: 18px; }
  section.ssearch-wrap .ssearch { max-width: none; }
  section.ssearch-wrap .ssearch__grid { grid-template-columns: minmax(0, 1fr); }
  section.ssearch-wrap .ssearch__results .ssearch__fotos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  /* Поиск поднят под подзаголовок, разделы — сеткой 2×3 под ним: head «растворяется» в flex-колонке секции */
  section.ssearch-wrap { display: flex; flex-direction: column; margin: 8px 16px 32px; padding: 28px 16px; border-radius: 22px; }
  section.ssearch-wrap .ssearch-wrap__head { display: contents; }
  section.ssearch-wrap .eyebrow { order: 1; }
  section.ssearch-wrap .ssearch-wrap__head h2 { order: 2; font-size: 28px; }
  section.ssearch-wrap .ssearch-wrap__head h2 .green { display: block; }
  section.ssearch-wrap .ssearch-wrap__sub { order: 3; font-size: 16px; }
  section.ssearch-wrap .ssearch { order: 4; margin: 20px 0 0; }
  section.ssearch-wrap .ssearch__bar { height: 56px; }
  section.ssearch-wrap .ssearch__input { text-overflow: ellipsis; }
  section.ssearch-wrap .ssearch-wrap__kinds { order: 5; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 14px 0 0; }
  section.ssearch-wrap .ssearch-wrap__kinds li { min-height: 46px; padding: 0 10px; gap: 7px; border-radius: 12px; background: rgba(255,255,255,.75); }
  section.ssearch-wrap .ssearch__results .ssearch__fotos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  section.ssearch-wrap .ssearch__rhead { flex-wrap: wrap; }
}

/* Б-053 Новые заявки в Москве — класс fresh-leads.
   Порядок на планшете/телефоне: шапка → лента заявок → кнопка → «Что говорят семьи» (сетка .fresh-leads__layout
   «растворяется» в колонке .fresh-leads__inner). */
@media (max-width: 1199px) {
  .fresh-leads { margin: 40px 28px 0; }
  .fresh-leads .fresh-leads__layout { display: contents; }
  .fresh-leads .fresh-leads__head { order: 1; align-items: flex-end; margin-bottom: 20px; }
  .fresh-leads .fresh-leads__title { font-size: 36px; }
  .fresh-leads .fresh-leads__sub { font-size: 16px; max-width: none; }
  .fresh-leads .fresh-leads__badge { padding: 0 0 4px; }
  .fresh-leads .fresh-leads__cards,
  .fresh-leads .fresh-leads__cards + .swipe-dots { order: 2; }
  .fresh-leads .fresh-leads__cards { --t-peek: 212px; } /* 2 карточки + почти половина третьей, как на макете */
  .fresh-leads .fresh-lead { min-height: 0; }
  .fresh-leads .fresh-lead__pic { aspect-ratio: 3 / 2; }
  .fresh-leads .fresh-lead__name { font-size: 17px; }
  .fresh-leads .fresh-lead__budget { font-size: 16px; }
  .fresh-leads .fresh-lead__where,
  .fresh-leads .fresh-lead__count { font-size: 15px; }
  .fresh-leads .fresh-leads__cta { order: 3; margin-top: 24px; justify-content: flex-start; }
  .fresh-leads .fresh-leads__cta-row { width: 100%; transform: none; gap: 28px; }
  .fresh-leads .fresh-leads__btn { flex: 1 1 auto; max-width: none; align-items: center; }
  .fresh-leads .fresh-leads__btn-text b { font-size: 19px; }
  .fresh-leads .fresh-leads__btn-text span { font-size: 15px; }
  .fresh-leads .fresh-leads__arrow { margin: 0; width: 60px !important; } /* базовое правило с !important */
  .fresh-leads .fresh-leads__help-text { font-size: 15px; }
  /* Колонка отзывов → светло-зелёная плита на всю ширину: заголовок + «Все отзывы →», ниже рейтинг | отзыв | отзыв */
  .fresh-leads .fresh-leads__side.fresh-leads__side--reviews {
    order: 4;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
    margin-top: 28px;
    padding: 28px 28px;
    border-radius: 20px;
  }
  .fresh-leads .fresh-leads__side-title { grid-column: 1 / 3; grid-row: 1; margin: 0; font-size: 24px; align-self: center; }
  .fresh-leads .fl-reviews-link { grid-column: 3; grid-row: 1; justify-self: end; align-self: center; font-size: 15px; }
  .fresh-leads .fl-rating { grid-row: 2; grid-column: 1; grid-template-columns: 1fr; align-content: start; row-gap: 8px; padding: 18px; }
  .fresh-leads .fl-rating__num { grid-row: auto; font-size: 44px; }
  .fresh-leads .fl-rating__count { font-size: 14px; }
  .fresh-leads .fl-quote { grid-row: 2; padding: 18px; }
  .fresh-leads .fl-quote blockquote { font-size: 15px; }
}
@media (max-width: 767px) {
  .fresh-leads { margin: 32px 16px 0; }
  .fresh-leads .fresh-leads__head { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
  .fresh-leads .fresh-leads__title { font-size: 28px; }
  .fresh-leads .fresh-leads__sub { font-size: 15px; }
  .fresh-leads .fresh-leads__badge { padding: 0; }
  .fresh-leads .fresh-leads__cta { margin-top: 20px; }
  .fresh-leads .fresh-leads__cta-row { flex-direction: column; align-items: stretch; gap: 12px; }
  .fresh-leads .fresh-leads__btn { padding: 16px 18px; gap: 14px; }
  .fresh-leads .fresh-leads__btn-text b { font-size: 18px; }
  .fresh-leads .fresh-leads__help { justify-content: center; }
  .fresh-leads .fresh-leads__arrow { display: none; }
  .fresh-leads .fresh-leads__help-text { max-width: none; text-align: center; }
  .fresh-leads .fresh-leads__help-text br { display: none; }
  /* Без зелёной плиты-обёртки: разделитель, рейтинг на светло-зелёной подложке, отзывы лентой, ссылка */
  .fresh-leads .fresh-leads__side.fresh-leads__side--reviews {
    display: flex;
    gap: 14px;
    padding: 28px 0 0;
    background: none;
    border: 0;
    border-top: 1px solid var(--line);
    border-radius: 0;
  }
  .fresh-leads .fresh-leads__side-title { align-self: flex-start; }
  .fresh-leads .fl-rating { grid-template-columns: auto 1fr; row-gap: 2px; background: var(--green-50); }
  .fresh-leads .fl-rating__num { grid-row: span 2; font-size: 40px; }
  /* .fl-quotes: inline-стиль display:contents в разметке (нужен компьютеру) — здесь лента */
  .fresh-leads .fl-quotes.m-swipe { display: flex !important; }
  .fresh-leads .fl-quote { box-shadow: 0 10px 24px -20px rgba(20,24,26,.3); border: 1px solid var(--line-2); }
  .fresh-leads .fl-reviews-link { align-self: flex-start; }
}

/* Б-054 Не знаете, с чего начать? Мы поможем! — класс how (на главной section#how; у секции inline padding) */
@media (max-width: 1199px) {
  section#how.how { padding: 40px 28px 20px !important; } /* inline-стиль в разметке */
  section#how .how-cta { grid-template-columns: minmax(0, 1fr) 400px; min-height: 0; }
  section#how .how-cta .text { padding: 40px 32px 40px 36px; }
  section#how .how-cta h3 { font-size: 36px; }
  section#how .how-cta p { font-size: 16px; margin-bottom: 24px; }
  section#how .how-cta .actions { flex-wrap: wrap; gap: 14px 22px; }
  section#how .how-cta .btn-primary { min-height: 52px; font-size: 15px; }
  section#how .how-cta .phone-link { font-size: 15px; }
  section#how .how-cta .floating-card { left: 20px; right: 20px; bottom: 20px; padding: 12px 14px; }
  section#how .how-bottom { padding: 22px 28px; gap: 24px; }
  section#how .how-bottom .item .t1 { font-size: 16px; }
  section#how .how-bottom .item .t2 { font-size: 14px; }
}
@media (max-width: 767px) {
  section#how.how { padding: 32px 16px 12px !important; } /* inline-стиль в разметке */
  section#how .how-cta { grid-template-columns: minmax(0, 1fr); margin-bottom: 16px; border-radius: 20px; }
  section#how .how-cta .image { order: -1; aspect-ratio: 4 / 3; }
  section#how .how-cta .image::before { display: none; }
  section#how .how-cta .floating-card { left: 12px; right: 12px; bottom: 12px; }
  section#how .how-cta .text { padding: 24px 20px 26px; }
  section#how .how-cta h3 { font-size: 28px; }
  section#how .how-cta h3 br { display: none; }
  section#how .how-cta p { margin-bottom: 20px; }
  section#how .how-cta .actions { flex-direction: column; align-items: stretch; gap: 14px; }
  section#how .how-cta .btn-primary { justify-content: center; }
  section#how .how-cta .phone-link { justify-content: center; }
  section#how .how-bottom.how-bottom--two { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 6px 18px; border-radius: 20px; }
  section#how .how-bottom .item { padding: 14px 0; }
  section#how .how-bottom .item + .item { border-top: 1px solid var(--line); }
}

/* Б-055 Полезные статьи — класс articles (на главной; у секции и кнопки inline padding) */
@media (max-width: 1199px) {
  section.articles { padding: 20px 28px 48px !important; } /* inline-стиль в разметке */
  /* Шапка: текст слева, «Все статьи →» справа; стрелки ‹ › убраны — лента листается пальцем */
  section.articles .articles-head { gap: 0 24px; margin-bottom: 24px; }
  section.articles .articles-head > div:first-child { display: contents; }
  section.articles .articles-head .eyebrow,
  section.articles .articles-head h2,
  section.articles .articles-head .sub { grid-column: 1; }
  section.articles .articles-head h2 { font-size: 36px; margin-bottom: 10px; }
  section.articles .articles-head .sub { max-width: none; margin-bottom: 0; font-size: 16px; }
  section.articles .articles-head .all-btn { grid-column: 2; grid-row: 2 / span 2; align-self: end; font-size: 15px; }
  section.articles .articles-head .nav { display: none; }
  section.articles .articles-row.articles-row--scroll { margin-bottom: 8px; }
  section.articles .articles-row.articles-row--scroll > .article:nth-child(n) {
    flex: 0 0 calc((100% - var(--swipe-gap) - 126px) / 2); /* 2 карточки + край третьей (2,15 на экран), как на макете */
    min-width: 0;
  }
  section.articles .article .title { font-size: 20px; }
  section.articles .article .text { font-size: 15px; }
  section.articles .article .meta { flex-direction: column; justify-content: center; gap: 6px; font-size: 14px; }
  section.articles .articles-cta { margin-top: 24px; grid-template-columns: minmax(0, 1fr) 300px; gap: 0; align-items: stretch; overflow: hidden; }
  section.articles .articles-cta .text { grid-column: 1; grid-row: 1; padding: 32px 32px 0; }
  section.articles .articles-cta h3 { font-size: 28px; }
  section.articles .articles-cta p { font-size: 16px; max-width: none; }
  section.articles .articles-cta .right { grid-column: 1; grid-row: 2; flex-direction: row; flex-wrap: wrap; gap: 14px 24px; padding: 20px 32px 32px; }
  section.articles .articles-cta .btn-primary { min-height: 52px; font-size: 15px; }
  section.articles .articles-cta .phone-link { font-size: 15px; }
  section.articles .articles-cta .image { grid-column: 2; grid-row: 1 / span 2; min-height: 220px; overflow: hidden; }
  section.articles .articles-cta .image .man { height: 96%; }
}
@media (max-width: 767px) {
  section.articles { padding: 20px 16px 40px !important; } /* inline-стиль в разметке */
  section.articles .articles-head { grid-template-columns: minmax(0, 1fr); margin-bottom: 18px; }
  section.articles .articles-head h2 { font-size: 28px; }
  section.articles .articles-head .sub { font-size: 15px; }
  section.articles .articles-row.articles-row--scroll > .article:nth-child(n) { flex: 0 0 calc(100% - 20px); }
  section.articles .articles-cta { grid-template-columns: minmax(0, 1fr); border-radius: 20px; }
  section.articles .articles-cta .image { grid-column: 1; grid-row: 1; min-height: 0; aspect-ratio: 16 / 9; }
  section.articles .articles-cta .text { grid-row: 2; padding: 22px 20px 0; }
  section.articles .articles-cta h3 { font-size: 24px; }
  section.articles .articles-cta p { font-size: 15px; }
  section.articles .articles-cta .right { grid-row: 3; flex-direction: column; align-items: stretch; padding: 18px 20px 22px; }
  section.articles .articles-cta .phone-link { justify-content: center; }
}

/* Б-056 Карта тем: всё по каждой теме — класс htmap (стили компонента — components/home-topic-map.css) */
@media (max-width: 1199px) {
  section.htmap { padding: 8px 28px 56px; }
  section.htmap .htmap__head h2 { font-size: 36px; }
  section.htmap .htmap__head .sub { font-size: 16px; }
  section.htmap .htmap__toggle { min-height: 52px; padding: 0 20px; border: 1.5px solid var(--green-700); border-radius: 14px; font-size: 15px; }
  section.htmap .htmap__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
  section.htmap .htmap__item { padding: 18px 18px 16px; }
  section.htmap .htmap__title { font-size: 18px; }
  section.htmap .htmap__item a { font-size: 15px; }
  section.htmap .htmap__item a svg { margin-top: 3px; }
  section.htmap .htmap__more { font-size: 14px; }
}
@media (max-width: 767px) {
  /* Темы — аккордеон в одной белой плите; кнопка «Вся карта тем» — под списком на всю ширину */
  section.htmap { display: flex; flex-direction: column; padding: 8px 16px 48px; }
  section.htmap .htmap__head { display: contents; }
  section.htmap .htmap__head h2 { font-size: 28px; }
  section.htmap .htmap__head .sub { font-size: 15px; margin-bottom: 18px; }
  section.htmap .htmap__grid { order: 2; display: block; background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 0 16px; }
  section.htmap .htmap__item { border: 0; border-radius: 0; background: none; padding: 0; }
  section.htmap .htmap__item + .htmap__item { border-top: 1px solid var(--line); }
  section.htmap .htmap__title { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; margin: 0; padding: 14px 0; cursor: pointer; }
  section.htmap .htmap__title::after { content: "+"; flex: none; font-family: inherit; font-size: 24px; font-weight: 400; line-height: 1; color: var(--green-700); }
  section.htmap .htmap__item.is-p .htmap__title::after { content: "−"; }
  section.htmap .htmap__item ul,
  section.htmap .htmap__item .htmap__more { display: none; }
  section.htmap .htmap__item.is-p ul { display: flex; gap: 12px; padding-bottom: 6px; }
  section.htmap .htmap__item.is-p .htmap__more { display: block; margin: 8px 0 0; min-height: 36px; font-size: 15px; }
  section.htmap .htmap__item.is-p { padding-bottom: 12px; }
  section.htmap .htmap__toggle { order: 3; justify-content: center; margin-top: 16px; font-size: 16px; }
}

/* Б-057 Работаем каждый день — класс order-exchange */
@media (max-width: 1199px) {
  .order-exchange { margin: 48px 28px 5px; }
  .order-exchange .order-exchange__head { max-width: 780px; }
  .order-exchange .order-exchange__desc { font-size: 17px; }
  .order-exchange .order-exchange__bar { padding: 24px; gap: 18px; }
  .order-exchange .order-exchange__bar-ico { width: 52px; height: 52px; }
  .order-exchange .order-exchange__bar-title { font-size: 19px; }
  .order-exchange .order-exchange__bar-sub { font-size: 15px; }
  .order-exchange .order-exchange__btn { min-height: 52px; font-size: 15px; }
}
@media (max-width: 767px) {
  .order-exchange { margin: 40px 16px 5px; }
  .order-exchange .order-exchange__head { margin-bottom: 20px; }
  .order-exchange .order-exchange__title { font-size: 28px; }
  .order-exchange .order-exchange__desc { font-size: 16px; }
  .order-exchange .order-exchange__bar { grid-template-columns: minmax(0, 1fr); padding: 22px 18px 18px; }
  .order-exchange .order-exchange__bar-info { align-items: flex-start; gap: 14px; }
  .order-exchange .order-exchange__bar-ico { width: 48px; height: 48px; }
  .order-exchange .order-exchange__bar-title { font-size: 18px; }
  .order-exchange .order-exchange__btn { justify-content: center; font-size: 16px; }
}

/* ===================== Каталог услуг /uslugi ===================== */
/* Поля страницы каталога (обёртка .us-page общая для Б-058…Б-060) */
@media (max-width: 1199px) {
  .us-page { padding: 8px 28px 56px; }
}
@media (max-width: 767px) {
  .us-page { padding: 4px 16px 48px; }
}

/* Б-058 Все услуги «Помни Всегда» — класс us-hero */
@media (max-width: 1199px) {
  .us-page .us-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 40px 36px 36px; margin-bottom: 40px; }
  .us-page .us-hero .eyebrow { margin-bottom: 14px; }
  .us-page .us-hero__title { font-size: 40px; }
  .us-page .us-hero__lead { max-width: 760px; font-size: 16px; }
  .us-page .us-jump { gap: 12px; }
  .us-page .us-jump__item { min-height: 68px; grid-template-columns: 44px minmax(0, 1fr) auto; column-gap: 14px; padding: 12px 18px 12px 12px; }
  .us-page .us-jump__ico { width: 44px; height: 44px; }
  .us-page .us-jump__name { font-size: 16px; }
  .us-page .us-jump__count { font-size: 14px; }
}
@media (max-width: 767px) {
  /* Плита — только у текста; разделы вынесены под неё отдельным белым списком (без карточки в карточке) */
  .us-page .us-hero { gap: 16px; padding: 0; background: none; border: 0; border-radius: 0; margin-bottom: 36px; }
  .us-page .us-hero__text { padding: 28px 18px 24px; border-radius: 20px; background: linear-gradient(135deg, #fff 0%, var(--green-50) 100%); border: 1px solid var(--line); }
  .us-page .us-hero__title { font-size: 30px; }
  .us-page .us-hero__title .green { display: block; }
  .us-page .us-hero__facts { gap: 8px; margin-top: 18px; }
  .us-page .us-hero__facts span { padding: 7px 14px; }
  .us-page .us-jump { grid-template-columns: minmax(0, 1fr); gap: 0; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 0 14px; }
  .us-page .us-jump__item { grid-template-columns: 40px minmax(0, 1fr) auto auto; column-gap: 12px; min-height: 58px; padding: 9px 0; border: 0; border-radius: 0; background: none; }
  .us-page .us-jump__item + .us-jump__item { border-top: 1px solid var(--line-2); }
  .us-page .us-jump__item:hover { transform: none; }
  .us-page .us-jump__ico { width: 40px; height: 40px; }
  .us-page .us-jump__name { font-size: 15px; }
  .us-page .us-jump__item::after { content: "›"; font-size: 22px; line-height: 1; color: var(--muted); }
}

/* Б-059 Памятники (раздел каталога) — класс us-section */
@media (max-width: 1199px) {
  .us-page .us-section { margin-bottom: 44px; }
  .us-page .us-section__title { font-size: 36px; }
  .us-page .us-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .us-page .us-card__name { font-size: 18px; }
  .us-page .us-card__text { font-size: 15px; }
  .us-page .us-card__go { width: 40px; height: 40px; }
}
@media (max-width: 767px) {
  .us-page .us-section { margin-bottom: 36px; }
  /* Иконка 44px + заголовок в строку, подзаголовок — под ними на всю ширину */
  .us-page .us-section__head { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: center; margin-bottom: 16px; }
  .us-page .us-section__head > div { display: contents; }
  .us-page .us-section__ico { width: 44px; height: 44px; border-radius: 12px; }
  .us-page .us-section__ico [data-lucide], .us-page .us-section__ico svg { width: 22px; height: 22px; }
  .us-page .us-section__title { margin: 0; font-size: 30px; }
  .us-page .us-section__lead { grid-column: 1 / -1; margin: 0; }
  .us-page .us-card__go { width: 44px; height: 44px; border-radius: 12px; }
}

/* Б-060 Не нашли нужную услугу? — класс us-cta */
@media (max-width: 1199px) {
  .us-page .us-cta { flex-direction: column; align-items: flex-start; gap: 20px; padding: 32px; }
  .us-page .us-cta .us-btn { min-height: 52px; }
}
@media (max-width: 767px) {
  .us-page .us-cta { align-items: stretch; gap: 18px; padding: 26px 20px 20px; border-radius: 20px; }
  .us-page .us-cta__title { font-size: 24px; text-wrap: balance; }
  .us-page .us-cta__actions { flex-direction: column; gap: 10px; }
  .us-page .us-cta .us-btn { justify-content: center; }
}

/* ===================== Работа /rabota/<работа> (и общий контейнер .pf-page «Наших работ») ===================== */
@media (max-width: 1199px) {
  .pf-page { padding: 4px 28px 0; gap: 36px; }
  .pf-page .pf-h2 { font-size: 36px; }
}
@media (max-width: 767px) {
  .pf-page { padding: 4px 16px 0; gap: 32px; }
  .pf-page .pf-h2 { font-size: 28px; }
}

/* Б-061 Исходное состояние — класс pf-facts */
@media (max-width: 1199px) {
  .pf-work .pf-facts { align-items: stretch; }
  .pf-work .pf-fact { padding: 24px 20px; }
  .pf-work .pf-fact__list li + li { margin-top: 6px; }
  .pf-work .pf-fact__ico { width: 44px; height: 44px; }
  .pf-work .pf-fact__title { font-size: 19px; }
}
@media (max-width: 767px) {
  .pf-work .pf-facts { grid-template-columns: minmax(0, 1fr); }
  /* Иконка слева от заголовка в одну строку, список — под ними на всю ширину */
  .pf-work .pf-fact { grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; align-items: center; padding: 22px 20px; }
  .pf-work .pf-fact__list,
  .pf-work .pf-fact__text { grid-column: 1 / -1; }
}

/* Б-062 Как шла работа — класс pf-report */
@media (max-width: 1199px) {
  .pf-report .pf-text { max-width: 820px; font-size: 17px; }
  .pf-report .pf-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pf-report .pf-gallery:has(> :nth-child(4)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pf-report .pf-gallery--single { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .pf-report .pf-text { font-size: 15px; line-height: 1.7; }
  .pf-report .pf-h3 { font-size: 20px; }
  .pf-report .pf-gallery + .swipe-dots { margin-top: -12px; }
}

/* Б-063 Отзыв заказчика — класс pf-reviews */
@media (max-width: 1199px) {
  .pf-reviews .pf-review { padding: 28px 32px 32px; }
  .pf-reviews .pf-video { max-width: none; }
}
@media (max-width: 767px) {
  .pf-reviews .pf-review { padding: 18px 16px 22px; border-radius: 18px; }
  .pf-reviews .pf-review__text { font-size: 15px; line-height: 1.65; }
}

/* Б-064 Услуги в этой работе — класс pf-services */
@media (max-width: 1199px) {
  .pf-services .pf-services__grid { gap: 16px; }
  .pf-services .pf-service__name { font-size: 19px; }
  .pf-services .pf-service__text { font-size: 15px; }
  .pf-services .pf-service__go { width: 44px; height: 44px; }
}
@media (max-width: 767px) {
  .pf-services .pf-services__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Б-065 Другие работы — класс pf-others (лента .t-swipe в разметке) */
@media (max-width: 1199px) {
  .pf-others .pf-others__head { flex-wrap: nowrap; align-items: center; }
  .pf-others .pf-others__grid.t-swipe { align-items: stretch; }
  .pf-others .pf-others__grid > .pf-card { display: flex; flex-direction: column; }
  .pf-others .pf-others__grid > .pf-card > .pf-card__link { flex: 1 1 auto; }
  .pf-others .pf-others__grid + .swipe-dots { margin-top: -10px; }
}
@media (max-width: 767px) {
  .pf-others { gap: 16px; }
  .pf-others .hcw-outline-btn.only-m { margin-top: 0; }
}

/* ===================== Отзывы /reviews (контейнер .rv-wrap — поля страницы) ===================== */
@media (max-width: 1199px) {
  .rv-page .rv-wrap { padding: 0 28px; }
}
@media (max-width: 767px) {
  .rv-page .rv-wrap { padding: 0 16px; }
  .rv-page .rv-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Б-066 Отзывы наших клиентов — класс rv-hero */
@media (max-width: 1199px) {
  .rv-hero .rv-hero__grid { grid-template-columns: minmax(0, 1fr) 380px; min-height: 0; padding-left: 28px; }
  .rv-hero .rv-hero__inner { padding-block: 32px 36px; padding-right: 28px; }
  .rv-hero .rv-hero__title { font-size: 44px; }
  .rv-hero .rv-hero__lead { font-size: 16px; }
  .rv-hero .rv-hero__media { border-radius: 20px 0 0 20px; }
  .rv-hero .rv-fact b { font-size: 15px; }
  .rv-hero .rv-fact small { font-size: 13px; }
}
@media (max-width: 767px) {
  /* Крошки → заголовок → подзаголовок → фото 3:2 → факты списком */
  .rv-hero .rv-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "title" "lead" "media" "facts";
    padding: 0 16px 8px;
  }
  .rv-hero .rv-hero__inner { display: contents; }
  .rv-hero .rv-hero__title { grid-area: title; margin: 8px 0 10px; font-size: 34px; }
  .rv-hero .rv-hero__lead { grid-area: lead; font-size: 15px; }
  .rv-hero .rv-hero__media { min-height: 0; aspect-ratio: 3 / 2; margin-top: 20px; border-radius: 18px; }
  .rv-hero .rv-hero__media::before { display: none; }
  .rv-hero .rv-facts { grid-area: facts; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 20px; }
  .rv-hero .rv-fact { gap: 14px; }
  .rv-hero .rv-fact__ico { width: 48px; height: 48px; }
  .rv-hero .rv-fact__ico :is(i, svg) { width: 20px; height: 20px; }
  .rv-hero .rv-fact b { font-size: 16px; }
  .rv-hero .rv-fact small { font-size: 15px; }
}

/* Правая колонка /reviews (оценка, слово основателя, блог) — классы rv-side / rv-score / rv-founder / rv-blog.
   Макетов нет (задание координатора 2026-10-20): на планшете и телефоне колонка уходит под ленту отзывов
   плитами на всю ширину; фото основателя — целиком, без обрезки. */
@media (max-width: 1199px) {
  .rv-page .rv-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .rv-page .rv-main { grid-column: auto; }
  .rv-page .rv-side { position: static; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
  .rv-page .rv-score { display: flex; flex-direction: column; align-items: center; justify-content: center; }
  .rv-page .rv-score__label { font-size: 15px; }
  .rv-page .rv-score__based { font-size: 14px; }
  .rv-page .rv-score__note { font-size: 13px; }
  .rv-page .rv-founder { grid-template-columns: minmax(0, 1fr) 190px; min-height: 260px; padding-left: 20px; }
  .rv-page .rv-founder__text { font-size: 16px; }
  .rv-page .rv-founder__who b { font-size: 15px; }
  .rv-page .rv-founder__who span { font-size: 13px; }
  .rv-page .rv-founder__photo { width: 200px; }
  .rv-page .rv-blog { display: flex; flex-direction: column; }
  .rv-page .rv-blog__body { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: space-between; }
  .rv-page .rv-blog__title { font-size: 17px; }
}
@media (max-width: 767px) {
  .rv-page .rv-side { grid-template-columns: minmax(0, 1fr); }
  .rv-page .rv-score { padding: 22px 20px 20px; }
  .rv-page .rv-score__value { font-size: 48px; }
  .rv-page .rv-score .rv-btn { min-height: 52px; font-size: 16px; }
  .rv-page .rv-founder { grid-template-columns: minmax(0, 1fr) 150px; min-height: 0; padding: 18px 0 18px 18px; }
  .rv-page .rv-founder__text { font-size: 15px; hyphens: manual; }
  .rv-page .rv-founder__photo { width: 160px; }
  .rv-page .rv-blog__img { height: auto; aspect-ratio: 16 / 9; }
  .rv-page .rv-blog .rv-btn { min-height: 48px; font-size: 15px; }
}

/* Б-067 Не нашли нужный ответ? — класс rv-cta */
@media (max-width: 1199px) {
  .rv-page .rv-cta {
    grid-template-columns: minmax(0, 1fr) 230px;
    grid-template-areas: "title btn" "text btn";
    gap: 0 32px;
    padding: 32px 36px;
  }
  .rv-page .rv-cta__title { grid-area: title; }
  .rv-page .rv-cta__title h2 { font-size: 30px; }
  .rv-page .rv-cta__title p { font-size: 20px; }
  /* вертикальная черта стала горизонтальной */
  .rv-page .rv-cta__text { grid-area: text; margin-top: 16px; padding: 16px 0 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .22); font-size: 16px; }
  .rv-page .rv-cta__btn { grid-area: btn; justify-content: center; }
}
@media (max-width: 767px) {
  .rv-page .rv-cta { grid-template-columns: minmax(0, 1fr); grid-template-areas: "title" "text" "btn"; margin-top: 40px; padding: 20px; border-radius: 18px; }
  .rv-page .rv-cta__title h2 { font-size: 26px; }
  .rv-page .rv-cta__title p { font-size: 18px; }
  .rv-page .rv-cta__text { margin-top: 12px; padding: 0; border-top: 0; font-size: 15px; }
  .rv-page .rv-cta__btn { margin-top: 18px; }
}

/* Полоса преимуществ под призывом /reviews — класс rv-trust (макетов нет, задание координатора 2026-10-20):
   планшет 2×2, телефон — список «иконка + текст». */
@media (max-width: 1199px) {
  .rv-page .rv-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 28px; }
  .rv-page .rv-trust li { min-width: 0; }
  .rv-page .rv-trust b { font-size: 15px; }
  .rv-page .rv-trust small { font-size: 13px; }
}
@media (max-width: 767px) {
  .rv-page .rv-trust { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 28px; }
  .rv-page .rv-trust__ico { width: 48px; height: 48px; }
  .rv-page .rv-trust b { font-size: 16px; }
  .rv-page .rv-trust small { font-size: 14px; }
}

/* Главная, быстрый выбор услуг (quick-services, ленты .m-swipe): телефон — карточки размера компьютера (152px, кадр
   не растягивается), подпись крупнее; после «Все услуги» — три ряда с прокруткой вбок, а не одна бесконечная лента. */
@media (max-width: 767px) {
  .quick-services.m-swipe { margin: 28px 0 12px; border-radius: 0; background: none; }   /* без своей плашки, на фоне страницы; карточки с отступа 16px */
  .fresh-leads + .how2 { margin-top: 32px !important; }   /* «Как мы работаем» ближе к отзывам (ссылка «Все отзывы» на телефоне убрана) */
  .quick-services.m-swipe > .quick-service { flex: 0 0 152px; }
  .quick-services .quick-service__name { font-size: 14px; }
  .quick-services.m-swipe.is-open {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto);
    grid-auto-columns: 152px;
  }
}
