/* Выпадающие списки — тот же компонент, что и фильтр категорий на «Объявлениях» (2026-09-19).
   Подключаем импортом, чтобы оба места менялись разом и не расходились по виду. */
@import url('../components/ads-dd.css?v=20261016-3'); /* версию менять при правке ads-dd.css: @import не версионируется asp-append-version */

/* Страница «Стать партнёром» (/stan-partnerom) по макетам владельца от 2026-09-18.
   Тринадцать блоков: герой, форматы, кому подходит, направления услуг, развитие города,
   франшиза, доход, шаги, роли, инструменты, поддержка, вопросы и заявка.
   Все классы с префиксом ptr-, разметка — Pages/Shared/_Ptr*.cshtml. */

.ptr-page {
  --ptr-radius: 16px;
  --ptr-radius-sm: 12px;
  --ptr-shadow: 0 1px 2px rgba(20, 24, 26, .04), 0 14px 34px -22px rgba(20, 24, 26, .22);
  --ptr-gap: 18px;
  color: var(--ink);
}

/* ===================== ОБЩИЕ ЭЛЕМЕНТЫ ===================== */

.ptr-wrap {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 56px;
}

.ptr-section { padding: 56px 0 0; }

.ptr-head { margin-bottom: 26px; }
.ptr-head--flush { margin-bottom: 0; }

.ptr-eyebrow {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--green-700);
}

.ptr-eyebrow--muted { color: var(--muted); letter-spacing: .1em; }

.ptr-h2 {
  margin: 0;
  font-family: 'Lora', Georgia, serif;
  font-size: clamp(28px, 2.6vw, 40px);
  font-weight: 600;
  line-height: 1.14;
  color: var(--ink);
}

.ptr-green { color: var(--green-700); }

.ptr-sub {
  margin: 10px 0 0;
  max-width: 760px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-3);
}

.ptr-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--green-700);
}

.ptr-link:hover { color: var(--green-600); }
.ptr-link :is(i, svg) { width: 16px; height: 16px; }

.ptr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 24px;
  border: 0;
  border-radius: var(--ptr-radius-sm);
  font: inherit;
  font-size: 14.5px;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  transition: background-color .15s, color .15s, opacity .15s;
}

.ptr-btn :is(i, svg) { width: 17px; height: 17px; }
.ptr-btn--lg { min-height: 54px; padding: 0 30px; font-size: 15.5px; }
.ptr-btn--primary { background: var(--green-700); color: #fff; }
.ptr-btn--primary:hover { background: var(--green-600); color: #fff; }
.ptr-btn--primary:disabled { opacity: .6; cursor: default; }
.ptr-btn--dark { background: #16191b; color: #fff; }
.ptr-btn--dark:hover { background: #22282b; color: #fff; }

/* Иконка в светло-зелёном квадрате — основной маркер строк и карточек */
.ptr-ico {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: var(--ptr-radius-sm);
  background: var(--green-50);
  color: var(--green-700);
}

.ptr-ico--sm { width: 34px; height: 34px; border-radius: 10px; }
.ptr-ico--sm :is(i, svg) { width: 17px; height: 17px; }

/* Круглая иконка: наезжает на низ фотографии в карточках */
.ptr-round {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #fff;
  color: var(--green-700);
  box-shadow: 0 6px 18px -8px rgba(20, 24, 26, .35);
}

.ptr-round--soft { background: var(--green-50); box-shadow: none; }
.ptr-round--white { background: #fff; box-shadow: none; }
.ptr-round--green { background: var(--green-700); color: #fff; box-shadow: none; }
.ptr-round :is(i, svg) { width: 24px; height: 24px; }
.ptr-round--soft :is(i, svg),
.ptr-round--white :is(i, svg) { width: 21px; height: 21px; }

.ptr-arrow {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--line-2);
  color: var(--ink-2);
  transition: background-color .15s, color .15s;
}

.ptr-arrow:hover { background: var(--green-50); color: var(--green-700); }
.ptr-arrow :is(i, svg) { width: 17px; height: 17px; }
.ptr-arrow--green { background: transparent; color: var(--green-700); border: 1px solid var(--green-700); }
.ptr-arrow--green:hover { background: var(--green-700); color: #fff; }

/* Бейдж-пилюля поверх фотографии */
.ptr-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Волосяная обводка вместо затемнения кадра: на светлой фотографии белый бейдж иначе теряется */
.ptr-badge--light {
  background: #fff;
  color: var(--ink);
  box-shadow: 0 4px 14px -8px rgba(20, 24, 26, .5), 0 0 0 1px rgba(20, 24, 26, .08);
}
.ptr-badge--green { background: var(--green-700); color: #fff; }

.ptr-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  background: #fff;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  box-shadow: var(--ptr-shadow);
}

.ptr-pill :is(i, svg) { width: 15px; height: 15px; color: var(--green-700); }

.ptr-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--line-2);
  font-size: 13px;
  line-height: 1.35;
  color: var(--ink-3);
}

.ptr-chip :is(i, svg) { width: 17px; height: 17px; color: var(--green-700); }

/* Кадр в карточке. Пока файла нет — вместо картинки мягкая заглушка с иконкой блока. */
.ptr-media {
  position: relative;
  overflow: hidden;
  border-radius: var(--ptr-radius);
  background: var(--line-2);
}

/* Класс cover (core.css) кладёт картинку absolute inset:0 — значит высоту держит сам контейнер.
   Без своей пропорции он схлопывался в ноль, и карточки выглядели так, будто фото нет вовсе:
   поэтому aspect-ratio задаём каждому кадру ниже, по блокам. */
.ptr-format__media,
.ptr-fit__media,
.ptr-step__media,
.ptr-tool__media { aspect-ratio: 4 / 3; }
.ptr-service__media { aspect-ratio: 4 / 5; }
/* Фото рядом с формой держим вровень с ней: при 4/5 под формой оставалась дыра в полтораста пикселей */
.ptr-lead__media { aspect-ratio: 1 / 1; }
/* Обёртка кадра, который меняется вместе с форматом участия: своего бокса не даёт,
   картинка внутри остаётся absolute от .ptr-media. */
.ptr-lead__frame { display: contents; }
.ptr-support__media { aspect-ratio: 3 / 2; }

.ptr-media__stub {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: linear-gradient(140deg, var(--green-50), #f4f6f2 70%);
  color: var(--green-700);
  opacity: .7;
}

.ptr-media__stub :is(i, svg) { width: 34px; height: 34px; }

/* Белая полоса с четырьмя пунктами внизу блока */
.ptr-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 22px 0 0;
  padding: 16px 8px;
  list-style: none;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: var(--ptr-shadow);
}

.ptr-bar__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 18px;
}

.ptr-bar__item + .ptr-bar__item { border-left: 1px solid var(--line); }

.ptr-bar__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ptr-bar__title { font-size: 14.5px; font-weight: 700; color: var(--ink); }
.ptr-bar__text { font-size: 13px; line-height: 1.35; color: var(--ink-3); }

/* Светло-зелёная плашка-вывод под блоком */
.ptr-note {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 22px;
  padding: 18px 22px;
  border: 1px solid #e2eee3;
  border-radius: var(--ptr-radius);
  background: #f1f7f1;
}

.ptr-note--flat { background: #f4f8f3; }
.ptr-note__body { min-width: 0; }
.ptr-note__title { display: block; font-size: 15.5px; font-weight: 700; color: var(--ink); }
.ptr-note__text { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--ink-3); }

.ptr-card {
  padding: 24px;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: var(--ptr-shadow);
}

.ptr-card__title {
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink);
}

.ptr-card__note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 16px 0 0;
  padding: 14px 16px;
  border-radius: var(--ptr-radius-sm);
  background: #f1f7f1;
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--ink-3);
}

.ptr-card__note strong { display: block; color: var(--green-700); }

/* Поля форм */
.ptr-field { display: block; margin-bottom: 14px; }

.ptr-field__label {
  display: block;
  margin-bottom: 6px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink-2);
}

.ptr-field__box {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: var(--ptr-radius-sm);
  background: #fff;
  transition: border-color .15s;
}

.ptr-field__box:focus-within { border-color: var(--green-500); }
.ptr-field__box > :is(i, svg) { width: 18px; height: 18px; color: var(--muted); }

.ptr-field__box :is(input, select, textarea) {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
  font: inherit;
  font-size: 14.5px;
  color: var(--ink);
}

.ptr-field__box ::placeholder { color: var(--muted); }
.ptr-field__box--area { align-items: flex-start; padding-top: 13px; padding-bottom: 13px; }
.ptr-field__box--area > :is(i, svg) { margin-top: 2px; }
.ptr-field__box textarea { resize: vertical; line-height: 1.5; }

/* Незаполненный список показываем приглушённо — как в фильтрах «Объявлений».
   Размеры кнопки не трогаем: свой min-height делал её на 4px выше эталона. */
.ptr-page .ads-dd__value.is-placeholder { color: var(--muted); font-weight: 500; }

.ptr-checks { margin: 0; padding: 0; border: 0; display: grid; gap: 10px; }
.ptr-checks legend { padding: 0; margin-bottom: 4px; }
.ptr-checks--rows { gap: 12px; }

.ptr-check {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--ink-2);
  cursor: pointer;
}

.ptr-check input { position: absolute; opacity: 0; width: 0; height: 0; }

.ptr-check__box {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  border: 1.5px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: transparent;
  transition: background-color .15s, border-color .15s, color .15s;
}

.ptr-check__box :is(i, svg) { width: 14px; height: 14px; }
.ptr-check input:checked + .ptr-check__box { background: var(--green-700); border-color: var(--green-700); color: #fff; }
.ptr-check input:focus-visible + .ptr-check__box { outline: 2px solid var(--green-500); outline-offset: 2px; }
.ptr-check--agree { margin: 4px 0 16px; }

.ptr-points { display: grid; gap: 14px; margin: 24px 0 28px; padding: 0; list-style: none; }

.ptr-point {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14.5px;
  line-height: 1.35;
  color: var(--ink-2);
}

/* ===================== 1. ГЕРОЙ ===================== */

.ptr-hero { padding: 8px 0 0; }

.ptr-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
  gap: 24px;
  align-items: center;
}

.ptr-hero__title {
  margin: 0 0 16px;
  font-family: 'Lora', Georgia, serif;
  font-size: clamp(32px, 3.2vw, 46px);
  font-weight: 600;
  line-height: 1.12;
  color: var(--ink);
  max-width: 17ch;
}

.ptr-hero__title .ptr-green { display: block; }

.ptr-hero__lead {
  margin: 0 0 26px;
  max-width: 520px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink-3);
}

.ptr-hero__perks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.ptr-hero-perk { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.ptr-hero-perk__text { font-size: 13.5px; line-height: 1.35; color: var(--ink-3); }

.ptr-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }

.ptr-hero__note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.35;
  color: var(--green-700);
}

.ptr-hero__note--plain { color: var(--ink-3); max-width: 240px; }
.ptr-hero__arrow { width: 42px; height: 15px; flex: 0 0 auto; }

.ptr-hero__visual { position: relative; }

.ptr-hero__photo {
  display: block;
  width: 100%;
  height: auto;
  max-width: 660px;
  margin-left: auto;
}

.ptr-hero-card {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 2px 4px rgba(20, 24, 26, .05), 0 18px 34px -24px rgba(20, 24, 26, .45);
}

.ptr-hero-card__body { display: flex; flex-direction: column; min-width: 0; }
.ptr-hero-card__title { font-size: 14.5px; font-weight: 700; color: var(--ink); }
.ptr-hero-card__text { font-size: 12.5px; line-height: 1.3; color: var(--ink-3); }

.ptr-hero-card--rt { top: 6%; right: -2%; }
.ptr-hero-card--lt { top: 26%; left: -4%; }
.ptr-hero-card--lb { bottom: 26%; left: -1%; }
.ptr-hero-card--rb { bottom: 10%; right: 2%; }

/* ===================== 2. ФОРМАТЫ ===================== */

.ptr-formats__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ptr-gap);
}

.ptr-format {
  display: flex;
  flex-direction: column;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: var(--ptr-shadow);
}

.ptr-format__media { border-radius: var(--ptr-radius) var(--ptr-radius) 0 0; }
.ptr-format > .ptr-round { margin: -28px auto 0; position: relative; z-index: 2; }

.ptr-format__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 14px 20px 20px;
  text-align: center;
}

/* Заголовок держим в две строки: у коротких («Откройте свой магазин») иначе вся начинка
   карточки поднимается, и ряд читается ступенькой. */
.ptr-format__title {
  margin: 0 0 10px;
  min-height: 2.5em;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--ink);
}

.ptr-format__text { margin: 0; font-size: 14px; line-height: 1.5; color: var(--ink-3); }

.ptr-format__income {
  margin: 16px 0;
  padding: 16px 0;
  border-top: 1px solid var(--line-2);
  border-bottom: 1px solid var(--line-2);
  text-align: left;
}

.ptr-format__income-label { margin: 0 0 4px; font-size: 14px; font-weight: 700; color: var(--green-700); }
.ptr-format__income-text { margin: 0; font-size: 14px; line-height: 1.45; color: var(--ink-3); }

.ptr-format__for {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  text-align: left;
  font-size: 13.5px;
  line-height: 1.4;
  color: var(--ink-3);
}

.ptr-format__btn { margin-top: auto; width: 100%; }

/* ===================== 3. КОМУ ПОДХОДИТ ===================== */

.ptr-fits__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--ptr-gap);
}

.ptr-fit {
  display: flex;
  flex-direction: column;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: var(--ptr-shadow);
}

.ptr-fit__media { border-radius: var(--ptr-radius) var(--ptr-radius) 0 0; }
.ptr-fit > .ptr-round { width: 48px; height: 48px; margin: -24px auto 0; position: relative; z-index: 2; }
.ptr-fit > .ptr-round :is(i, svg) { width: 21px; height: 21px; }

.ptr-fit__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 12px 16px 16px;
  text-align: center;
}

.ptr-fit__title { margin: 0 0 8px; font-size: 16px; font-weight: 700; line-height: 1.25; color: var(--ink); }
.ptr-fit__text { margin: 0 0 14px; font-size: 13.5px; line-height: 1.45; color: var(--ink-3); }

.ptr-fit__footer {
  margin: auto 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--line-2);
  font-size: 13px;
  color: var(--ink-3);
}

/* ===================== 4. НАПРАВЛЕНИЯ УСЛУГ ===================== */

.ptr-services__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--ptr-gap);
}

.ptr-service {
  display: flex;
  flex-direction: column;
  padding: 10px;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: var(--ptr-shadow);
}

.ptr-service__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 14px 8px 8px; }
.ptr-service__title { margin: 0 0 8px; font-size: 16px; font-weight: 700; line-height: 1.25; color: var(--ink); }
.ptr-service__text { margin: 0 0 14px; font-size: 13.5px; line-height: 1.45; color: var(--ink-3); }

.ptr-service__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: auto 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--line-2);
}

.ptr-service__for { font-size: 13.5px; font-weight: 600; line-height: 1.3; color: var(--green-700); }
.ptr-services__cta { margin: 18px 0 0; text-align: right; }

/* ===================== 5 и 6. РАЗВИТИЕ ГОРОДА И ФРАНШИЗА ===================== */

/* Блок во всю ширину экрана. Отступ сверху — внешний: фон блока начинается от самого края,
   и без него фотография вплотную подпирала кнопку предыдущего блока. */
.ptr-split {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  margin-top: 50px;
  padding: 48px 0 56px;
}

.ptr-split__media { position: absolute; inset: 0; z-index: -2; background: var(--page); }
.ptr-split__media img { width: 100%; height: 100%; object-fit: cover; }

/* Слева фон уводим в почти сплошной светлый, чтобы текст читался поверх фотографии.
   Своей, более плотной заливки у франшизы больше нет: её ставили под кадр с крупной вывеской
   магазина, буквы которой просвечивали через заголовок. На нынешнем фото интерьера вывески нет,
   а под той заливкой фотографию было почти не видно. */
.ptr-split::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(100deg,
    var(--page) 0%, rgba(250, 249, 247, .97) 34%, rgba(250, 249, 247, .72) 50%, rgba(250, 249, 247, .1) 72%);
}

/* У франшизы в кадре крупная вывеска магазина: сквозь обычную заливку её буквы просвечивали
   прямо через заголовок и читались как второй текст. Здесь светлую зону держим плотнее и дальше. */

.ptr-split__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
  gap: 32px;
  align-items: start;
}

.ptr-split__copy { padding: 8px 0; max-width: 560px; }
.ptr-split__lead { margin-top: 14px; max-width: 480px; }
.ptr-split .ptr-h2 { max-width: 14ch; }
/* Заголовок франшизы длиннее соседнего — без запаса он ломался на четыре строки против трёх у пары */
.ptr-shop .ptr-h2 { max-width: 18ch; }
.ptr-split .ptr-bar { margin-top: 28px; }

.ptr-shop__card .ptr-card__title { margin-bottom: 18px; }

.ptr-shop__list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }

.ptr-shop__list li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14.5px;
  line-height: 1.35;
  color: var(--ink-2);
}

.ptr-shop__list .ptr-round { width: 30px; height: 30px; }
.ptr-shop__list .ptr-round :is(i, svg) { width: 16px; height: 16px; }

/* ===================== 5. РАЗВИТИЕ ГОРОДА =====================
   Блок по макету от 2026-09-19: слева текст с тремя преимуществами и кнопкой, справа фотография,
   которая занимает правые 62% и слева растворяется в фон страницы (mask-image). Формы в блоке нет. */

.ptr-city {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  margin-top: 50px;
  padding: 44px 0 20px;
  background: var(--page);
}

.ptr-city__media {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  width: 62%;
  height: 78%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 26%);
          mask-image: linear-gradient(90deg, transparent 0, #000 26%);
}

/* Фото 2026-09-19 — 4:3, вывеска «ПАМЯТНИКИ» идёт по верху с 56% до 98% ширины, люди — с 24% по 81%.
   Поэтому кадр отдаётся как 4:3 (без обрезки по высоте: на 16:9 срезало верх букв), а окно ~1,2:1
   режет только 10% ширины. Сдвиг вправо на 80%: видно с 8% по 98% — вывеска целиком, и оба человека
   стоят правее левой кромки, где маска гасит картинку под текст. */
.ptr-city__media img { width: 100%; height: 100%; object-fit: cover; object-position: 80% center; }

.ptr-city__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
  gap: 28px 30px;
  align-items: stretch;
}

.ptr-city__copy { max-width: 620px; }

.ptr-city__title {
  margin: 4px 0 0;
  font-size: clamp(34px, 3.5vw, 52px);
  line-height: 1.08;
}

.ptr-city__lead { margin-top: 18px; max-width: 460px; font-size: 16px; }

.ptr-city__feats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.ptr-city-feat { display: flex; flex-direction: column; gap: 10px; }
.ptr-city-feat .ptr-round { width: 50px; height: 50px; }
.ptr-city-feat .ptr-round :is(i, svg) { width: 22px; height: 22px; }
.ptr-city-feat__title { font-size: 16px; font-weight: 700; line-height: 1.25; color: var(--ink); }
.ptr-city-feat__text { font-size: 14px; line-height: 1.4; color: var(--ink-3); }

.ptr-city__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 28px;
  margin-top: 30px;
}

.ptr-city__cta { min-height: 52px; padding: 0 26px; font-size: 15.5px; }
.ptr-city__cta :is(i, svg) { width: 18px; height: 18px; margin-left: 4px; }

.ptr-city__play { display: inline-flex; align-items: center; gap: 14px; }

.ptr-city__play-ico {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border: 2px solid var(--green-700);
  border-radius: 50%;
  color: var(--green-700);
  transition: background-color .15s, color .15s;
}

.ptr-city__play:hover .ptr-city__play-ico { background: var(--green-700); color: #fff; }
.ptr-city__play-ico :is(i, svg) { width: 17px; height: 17px; fill: currentColor; }
.ptr-city__play-body { display: flex; flex-direction: column; gap: 2px; }
.ptr-city__play-body strong { font-size: 15px; font-weight: 700; color: var(--green-700); }
.ptr-city__play-body span { font-size: 13.5px; color: var(--ink-3); }

/* Правая колонка: карточка основателя прижата к низу фотографии */
.ptr-city__over {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
}

.ptr-city__founder {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: min(100%, 330px);
  padding: 16px 20px;
  border-radius: var(--ptr-radius);
  background: rgba(14, 21, 31, .76);
  color: rgba(255, 255, 255, .82);
  font-size: 13.5px;
  line-height: 1.4;
}

.ptr-city__founder-name { font-size: 16.5px; font-weight: 700; color: #fff; }

/* Белая полоса и цифры идут во всю ширину контента и лежат поверх фотографии */
.ptr-city .ptr-bar,
.ptr-city__stats { grid-column: 1 / -1; position: relative; z-index: 1; }
.ptr-city .ptr-bar { margin-top: 6px; }

.ptr-city__stats {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 320px);
  gap: 24px;
  align-items: center;
  margin-top: 10px;
}

.ptr-city__nums {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.ptr-city-num { padding: 2px 26px; }
.ptr-city-num:first-child { padding-left: 0; }
.ptr-city-num + .ptr-city-num { border-left: 1px solid var(--line); }

.ptr-city-num__val {
  display: block;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.1;
  color: var(--ink);
}

.ptr-city-num__small { font-size: 19px; font-weight: 700; }
.ptr-city-num__label { display: block; margin-top: 5px; font-size: 13.5px; line-height: 1.35; color: var(--ink-3); }

/* Стрелка от карты к тексту убрана — текст встал вплотную к карте, gap уменьшен с 10px */
.ptr-city__geo { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }

/* Исходник карты почти белый — приглушаем до честного серого, иначе на фоне страницы её не видно */
.ptr-city__map { width: 190px; height: 81px; filter: grayscale(1) contrast(.85) brightness(.88); }

.ptr-city__geo-text {
  margin: 0;
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
  font-size: 16px;
  line-height: 1.3;
  color: var(--ink-2);
  white-space: nowrap;
}

/* ===================== 7. ВАШ ДОХОД ===================== */

.ptr-income__grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 32px;
  align-items: start;
}

.ptr-income__list { display: grid; gap: 12px; margin: 26px 0 0; padding: 0; list-style: none; }

.ptr-income-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: var(--ptr-shadow);
}

.ptr-income-item__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ptr-income-item__title { font-size: 16px; font-weight: 700; color: var(--ink); }
.ptr-income-item__text { font-size: 13.5px; line-height: 1.4; color: var(--ink-3); }

.ptr-income__panel { padding: 28px; }
.ptr-income__panel-title { font-family: 'Lora', Georgia, serif; font-size: 26px; font-weight: 600; }

.ptr-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }

.ptr-tab {
  padding: 11px 22px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-3);
  transition: background-color .15s, color .15s, border-color .15s;
}

.ptr-tab:hover { border-color: var(--green-500); color: var(--green-700); }
.ptr-tab.is-active { background: var(--green-700); border-color: var(--green-700); color: #fff; }

.ptr-income__rows { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }

.ptr-income-row {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 0;
}

.ptr-income-row + .ptr-income-row { border-top: 1px solid var(--line-2); }
.ptr-income-row__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ptr-income-row__title { font-size: 16.5px; font-weight: 700; color: var(--ink); }
.ptr-income-row__text { font-size: 13.5px; line-height: 1.4; color: var(--ink-3); }

.ptr-income__result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 18px;
  padding: 20px 22px;
  border-radius: var(--ptr-radius);
  background: #f4f4f1;
}

.ptr-income__result-label { display: block; font-size: 13.5px; color: var(--ink-3); }

.ptr-income__result-value {
  display: block;
  margin-top: 6px;
  font-family: 'Lora', Georgia, serif;
  font-size: 26px;
  font-weight: 600;
  color: var(--green-700);
}

.ptr-income__result-side {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding-left: 24px;
  border-left: 1px solid var(--line);
  font-size: 13.5px;
  color: var(--ink-3);
  white-space: nowrap;
}

.ptr-income__foot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: 24px;
  align-items: center;
  margin-top: 24px;
  padding: 20px 24px;
  border-radius: var(--ptr-radius);
  background: #f2f2ee;
}

.ptr-income__foot-note { display: flex; align-items: flex-start; gap: 14px; font-size: 13.5px; line-height: 1.5; color: var(--ink-3); }
.ptr-income__foot-note strong { display: block; margin-bottom: 4px; font-size: 15px; color: var(--ink); }

.ptr-income__foot-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ptr-income__foot-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  line-height: 1.35;
  color: var(--ink-3);
}

/* ===================== 8. ШАГИ ===================== */

.ptr-steps__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 360px);
  gap: 24px;
  align-items: start;
  margin-bottom: 30px;
}

.ptr-steps__help {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  border: 1px solid #e2eee3;
  border-radius: var(--ptr-radius);
  background: #f1f7f1;
}

.ptr-steps__help-title { display: block; font-size: 15px; color: var(--ink); }
.ptr-steps__help-text { margin: 4px 0 10px; font-size: 13.5px; line-height: 1.45; color: var(--ink-3); }

.ptr-steps__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 26px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ptr-step {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 10px 10px 16px;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: var(--ptr-shadow);
}

/* Шеврон между карточками — ровно в промежутке сетки */
.ptr-step + .ptr-step::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -22px;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--line);
  border-right: 2px solid var(--line);
  transform: translateY(-50%) rotate(45deg);
}

.ptr-step__num {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1.5px solid var(--green-500);
  border-radius: 50%;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
  color: var(--green-700);
}

.ptr-step__media { margin-top: 12px; }
.ptr-step > .ptr-round { width: 46px; height: 46px; margin: -23px auto 0; position: relative; z-index: 2; }
.ptr-step > .ptr-round :is(i, svg) { width: 20px; height: 20px; }

.ptr-step__body { padding: 12px 8px 0; text-align: center; }
.ptr-step__title { margin: 0 0 8px; font-size: 16.5px; font-weight: 700; line-height: 1.25; color: var(--ink); }
.ptr-step__text { margin: 0 0 12px; font-size: 13.5px; line-height: 1.45; color: var(--ink-3); }
.ptr-step__arrow { margin: 0 auto; color: var(--green-700); }

/* ===================== 9. РОЛИ ===================== */

.ptr-roles__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ptr-gap);
}

.ptr-role {
  display: flex;
  flex-direction: column;
  padding: 24px 22px;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: var(--ptr-shadow);
}

.ptr-role__head { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }

/* Двухстрочное «Владелец магазина» иначе опускает весь список ниже соседних карточек */
.ptr-role__title {
  margin: 0;
  min-height: 2.3em;
  font-family: 'Lora', Georgia, serif;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.15;
  color: var(--ink);
}

.ptr-role__sub {
  display: block;
  margin-top: 4px;
  font-family: 'Manrope', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
}

.ptr-role__label {
  margin: 0 0 12px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--green-700);
}

.ptr-role__label--agree { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line-2); }

.ptr-role__tasks { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }

.ptr-role__tasks li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--ink-2);
}

.ptr-role__check {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--green-50);
  color: var(--green-700);
}

.ptr-role__check :is(i, svg) { width: 13px; height: 13px; }

.ptr-role__agree { display: grid; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.ptr-role__agree li { font-size: 14px; line-height: 1.4; color: var(--ink-3); }

.ptr-role__note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: auto 0 0;
  padding: 14px 16px;
  border-radius: var(--ptr-radius-sm);
  background: #f1f7f1;
  font-size: 13.5px;
  line-height: 1.4;
  color: var(--ink-3);
}

.ptr-role__note .ptr-round { width: 40px; height: 40px; }
.ptr-role__note .ptr-round :is(i, svg) { width: 18px; height: 18px; }
.ptr-roles .ptr-role:first-child .ptr-role__note { background: #eaf3ea; }

/* ===================== 10. ИНСТРУМЕНТЫ ===================== */

.ptr-tools__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--ptr-gap);
}

.ptr-tool {
  display: flex;
  flex-direction: column;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: var(--ptr-shadow);
}

.ptr-tool__media { border-radius: var(--ptr-radius) var(--ptr-radius) 0 0; }
.ptr-tool > .ptr-round { width: 48px; height: 48px; margin: -24px 0 0 18px; position: relative; z-index: 2; }
.ptr-tool > .ptr-round :is(i, svg) { width: 21px; height: 21px; }

.ptr-tool__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 12px 18px 18px; }
.ptr-tool__title { margin: 0 0 8px; font-size: 16px; font-weight: 700; line-height: 1.25; color: var(--ink); }
.ptr-tool__text { margin: 0 0 14px; font-size: 13.5px; line-height: 1.45; color: var(--ink-3); }
/* Подписи в чипах разной длины: без общей высоты однострочная карточка выбивалась из ряда */
.ptr-tool .ptr-chip { margin-top: auto; min-height: 58px; }

/* ===================== 11. ПОДДЕРЖКА ===================== */

.ptr-support__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
}

.ptr-support__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}

.ptr-support-card {
  padding: 18px 16px;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: var(--ptr-shadow);
}

.ptr-support-card__title { margin: 14px 0 6px; font-size: 14.5px; font-weight: 700; color: var(--ink); }
.ptr-support-card__text { margin: 0; font-size: 13px; line-height: 1.45; color: var(--ink-3); }

.ptr-support__visual { position: relative; }
.ptr-support__media { border-radius: var(--ptr-radius); }

.ptr-support__chat {
  position: absolute;
  right: 18px;
  bottom: -18px;
  width: min(330px, 74%);
  padding: 16px 18px;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: 0 2px 6px rgba(20, 24, 26, .06), 0 22px 44px -26px rgba(20, 24, 26, .5);
}

.ptr-support__chat-head { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 14.5px; color: var(--ink); }
.ptr-support__chat-head .ptr-arrow { margin-left: auto; }

.ptr-support__hints { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }

.ptr-support__hints li {
  padding: 9px 14px;
  border-radius: 999px;
  background: #f1f7f1;
  font-size: 13px;
  color: var(--ink-2);
}

.ptr-support__foot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  margin-top: 46px;
  padding: 22px 24px;
  border: 1px solid #e2eee3;
  border-radius: var(--ptr-radius);
  background: #eef4ee;
}

.ptr-support__foot-note { display: flex; align-items: center; gap: 16px; }

.ptr-support__foot-title {
  display: block;
  font-family: 'Lora', Georgia, serif;
  font-size: 21px;
  font-weight: 600;
  color: var(--ink);
}

.ptr-support__foot-text { margin: 4px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--ink-3); }

.ptr-support__foot-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ptr-support__foot-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  line-height: 1.35;
  color: var(--ink-3);
}

.ptr-support__foot-list .ptr-ico--sm { background: #fff; }

/* ===================== 12. ВОПРОСЫ ===================== */

.ptr-faq__chips {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ptr-gap);
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}

.ptr-faq-chip {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: var(--ptr-shadow);
}

.ptr-faq-chip__title { display: block; font-size: 15px; font-weight: 700; color: var(--ink); }
.ptr-faq-chip__text { display: block; margin-top: 3px; font-size: 13px; line-height: 1.4; color: var(--ink-3); }

.ptr-faq__list { columns: 2; column-gap: var(--ptr-gap); }

.ptr-faq-item {
  break-inside: avoid;
  margin-bottom: var(--ptr-gap);
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: var(--ptr-shadow);
}

.ptr-faq-item h3 { margin: 0; font-size: inherit; font-weight: inherit; }

.ptr-faq-item__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 20px 22px;
  text-align: left;
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--ink);
}

.ptr-faq-item__sign {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--muted);
  transition: transform .15s, background-color .15s, color .15s, border-color .15s;
}

.ptr-faq-item__sign :is(i, svg) { width: 15px; height: 15px; }

.ptr-faq-item.is-open .ptr-faq-item__sign {
  transform: rotate(45deg);
  background: var(--green-700);
  border-color: var(--green-700);
  color: #fff;
}

.ptr-faq-item__a { padding: 0 22px 20px; }
.ptr-faq-item__a p { font-size: 14px; line-height: 1.6; color: var(--ink-3); }

.ptr-faq__foot { gap: 20px; }
/* Светло-серый по светло-зелёному почти не читался — текст и «плюсы» делаем контрастнее. */
.ptr-faq__foot .ptr-note__text { flex: 1 1 auto; margin: 0; font-size: 14.5px; color: var(--ink-2); }
.ptr-faq-item__sign { border-color: #d3d7d2; color: var(--ink-3); }

/* ===================== 13. ЗАЯВКА ===================== */

.ptr-lead { padding-bottom: 56px; }

.ptr-lead__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
  gap: 28px;
  align-items: start;
  margin-top: 26px;
}

.ptr-lead__card { padding: 28px; }
.ptr-lead__card .ptr-card__title { font-size: 21px; }
.ptr-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ptr-form__row .ptr-field { margin-bottom: 14px; }
.ptr-form__btn { width: 100%; min-height: 52px; font-size: 15.5px; }

.ptr-form__error {
  margin: 0 0 12px;
  font-size: 13.5px;
  color: #b3261e;
}

.ptr-form__note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 12px 0 0;
  font-size: 13px;
  color: var(--ink-3);
}

.ptr-form__note :is(i, svg) { width: 15px; height: 15px; }

.ptr-lead__done { display: flex; align-items: flex-start; gap: 14px; }
.ptr-lead__done strong { display: block; font-size: 16px; color: var(--ink); }
.ptr-lead__done p { margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--ink-3); }
.ptr-lead__done a { color: var(--green-700); text-decoration: underline; }

.ptr-lead__visual { position: relative; }
.ptr-lead__media { border-radius: var(--ptr-radius); }

.ptr-lead__after {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: min(320px, 78%);
  padding: 18px 20px;
  border-radius: var(--ptr-radius);
  background: #fff;
  box-shadow: 0 2px 6px rgba(20, 24, 26, .06), 0 22px 44px -26px rgba(20, 24, 26, .5);
}

.ptr-lead__after-head { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 15px; color: var(--ink); }
.ptr-lead__after-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }

.ptr-lead__after-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  line-height: 1.4;
  color: var(--ink-2);
}

.ptr-lead__after-list :is(i, svg) { width: 15px; height: 15px; margin-top: 2px; color: var(--green-700); }

.ptr-lead__foot {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 24px;
  align-items: center;
  margin-top: 24px;
  padding: 22px 24px;
  border: 1px solid #e2eee3;
  border-radius: var(--ptr-radius);
  background: #eef4ee;
}

.ptr-lead__foot-title {
  display: block;
  font-family: 'Lora', Georgia, serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--ink);
}

.ptr-lead__foot-text { margin: 6px 0 0; font-size: 13.5px; color: var(--ink-3); }

.ptr-lead__foot-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ptr-lead__foot-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  border-radius: var(--ptr-radius-sm);
  background: #fff;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
  color: var(--ink-2);
  transition: box-shadow .15s;
}

.ptr-lead__foot-btn:hover { box-shadow: var(--ptr-shadow); }

/* ===================== АДАПТИВ ===================== */

/* ——— Адаптив блока «Развитие города». Идёт последним: правила ниже базовых, чтобы их перебить ——— */

/* Биржа заявок для исполнителей (_PtrMarket.cshtml) */
.ptr-mkt__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.ptr-mkt .ptr-points { margin: 22px 0 26px; }
.ptr-mkt .ptr-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ptr-mkt__terms { display: grid; gap: 14px; margin: 14px 0 0; }
.ptr-mkt__terms div { padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.ptr-mkt__terms div:last-child { padding-bottom: 0; border-bottom: 0; }
.ptr-mkt__terms dt { font-size: 14px; color: var(--ink-3); font-weight: 600; }
.ptr-mkt__terms dd { margin: 2px 0 0; font-family: 'Lora', Georgia, serif; font-size: 26px; font-weight: 600; color: var(--green-700); }
.ptr-mkt__terms dd small { display: block; font-family: inherit; font-size: 13.5px; font-weight: 400; color: var(--ink-3); }

.ptr-mkt__ghost { background: #fff; border: 1px solid var(--green-600); color: var(--green-700) !important; }
.ptr-mkt__terms dd small { font-family: 'Manrope', -apple-system, system-ui, sans-serif; }

/* Заголовок героя: «вместе с «Помни Всегда»» не разрывать (на узких экранах — можно) */
/* компьютерные стили (раньше — от 600px), теперь всегда */
 .ptr-hero__title .ptr-nowrap { white-space: nowrap; } .ptr-hero__title { max-width: none; } 

/* Phone only: readable hero captions and consistent icon/text rows. */
@media (max-width: 767px) {
.ptr-page .ptr-bar__item + .ptr-bar__item { border-left: 0; }
.ptr-page .ptr-hero .ptr-hero__perks { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ptr-page .ptr-hero .ptr-hero-perk { min-width: 0; gap: 8px; }
.ptr-page .ptr-hero .ptr-hero-perk__text { font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.ptr-page .ptr-hero .ptr-hero__grid { align-items: start; }
.ptr-page .ptr-hero .ptr-hero__actions { flex-direction: column; align-items: flex-end; gap: 12px; }
.ptr-page .ptr-hero .ptr-hero__actions > .ptr-btn { width: 100%; box-sizing: border-box; }
.ptr-page .ptr-hero .ptr-hero__note { justify-content: flex-end; text-align: right; font-weight: 600; }
.ptr-page .ptr-hero .ptr-hero__visual { aspect-ratio: auto; overflow: visible; }
.ptr-page .ptr-hero .ptr-hero__visual > picture { display: block; position: static; }
.ptr-page .ptr-hero .ptr-hero__photo { position: static; width: 100%; height: auto; border-radius: 24px; }
.ptr-page .ptr-hero .ptr-hero-card { position: static; max-width: none; width: 100%; box-sizing: border-box; margin-top: 12px; padding: 12px 16px; box-shadow: 0 3px 12px rgba(20,24,26,.07); }
.ptr-page .ptr-section .ptr-income-item { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 14px; }
.ptr-page .ptr-section .ptr-income-item > .ptr-ico { width: 48px; }
.ptr-page .ptr-section .ptr-income-row { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: start; gap: 14px; }
.ptr-page .ptr-section .ptr-income-row > .ptr-round { width: 48px; height: 48px; }
.ptr-page .ptr-section .ptr-income__result-side { border-left: 0; padding-left: 0; }
.ptr-page .ptr-income__foot .ptr-ico { background: #e0edda; box-shadow: 0 2px 6px rgba(28,72,42,.08); }
.ptr-page .ptr-section .ptr-steps__grid.m-swipe { padding-top: 18px; }
  .ptr-page .ptr-section.ptr-city { margin-top: 24px; padding-top: 0; }
  .ptr-page .ptr-city__copy { padding-top: 24px; }
}
