/* Посадочная «Хоумстейджинг». Подключается после /blog/blog.css и
   /portfolio/portfolio.css: шапка, футер, форма, карточки кейсов — оттуда.
   Здесь — первый экран, цифры, «до/после», тарифы, шаги, отзывы и вопросы.
   Язык главной: Unbounded Light капсом, номера в квадратных скобках,
   волосяные линии, оранжевый акцент и скруглённый угол у плашек. */

.sh {
  font-family: Unbounded, sans-serif; font-weight: 300;
  font-size: clamp(40px, 4.6vw, 66px); line-height: 1; letter-spacing: -.026em;
}
.sh span { color: var(--accent) }
.n { font-size: 11px; line-height: 11px; color: var(--accent); letter-spacing: 0 }
.sec-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 48px;
  padding: 88px 0 44px; border-top: 1px solid var(--cream-hair);
}
.sec-head p { margin: 0 0 4px; max-width: 38ch; font-size: 15px; line-height: 24px; color: var(--ink-secondary); text-align: right }
.more {
  display: inline-flex; align-items: baseline; gap: 12px;
  font-size: 12px; line-height: 12px; letter-spacing: .17em; color: var(--ink-1);
}
.more .arr { color: var(--accent); font-weight: 600; letter-spacing: 0; font-size: 18px; line-height: 10px; transition: transform var(--dur-hover) var(--ease-slide) }
.more:hover .arr { transform: translateX(5px) }
.plate {
  display: inline-flex; align-items: center; justify-content: center;
  height: 52px; padding: 0 34px; border-radius: 24px 0 0 0;
  background: var(--accent); color: var(--cream-1);
  font-size: 12px; letter-spacing: .17em; white-space: nowrap;
  transition: background .22s ease, transform .22s var(--ease-slide);
}
.plate:hover { background: var(--accent-hover); transform: translateY(2px) }

/* ——— первый экран ——— */
.shero { padding-top: 64px; padding-bottom: 88px; align-items: center }
.shero-text { grid-column: 1 / 7 }
.eyebrow { margin: 0; font-size: 12px; line-height: 12px; letter-spacing: .17em; color: var(--ink-secondary) }
/* Строка над подписью первого экрана, как на главной: «С 2022 года … Москва и МО». */
.hero-meta { display: flex; justify-content: space-between; gap: 24px; margin: 0 0 40px; font-family: var(--serif); font-stretch: 87.5%; font-weight: 300; font-size: 22px; line-height: 26px; letter-spacing: -.02em; text-transform: uppercase; color: var(--ink-1) }
.shero h1 {
  margin: 28px 0 0 -.05em;
  font-family: Unbounded, sans-serif; font-weight: 300;
  font-size: clamp(44px, 5vw, 72px); line-height: .95; letter-spacing: -.035em;
}
.shero h1 .nw { white-space: nowrap }
.shero h1 .dot { color: var(--accent) }
.shero h1 .h1-sub { display: block; margin-top: 14px; font-size: clamp(18px, 1.8vw, 24px); line-height: 1.2; letter-spacing: 0; color: var(--ink-secondary) }
.shero .lede { margin: 32px 0 0; max-width: 30ch; font-size: 21px; line-height: 31px; color: var(--ink-1) }
.shero-facts { display: flex; flex-wrap: wrap; gap: 20px 48px; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--cream-hair) }
.shero-facts span { display: block; font-size: 11px; line-height: 11px; letter-spacing: .17em; color: var(--ink-secondary) }
.shero-facts strong { display: block; margin-top: 12px; font-family: Unbounded, sans-serif; font-weight: 300; font-size: 22px; line-height: 26px; letter-spacing: -.01em }
.shero-facts em { font-style: normal; font-family: Onest, sans-serif; font-size: 14px; color: var(--ink-secondary) }
.shero-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 36px; margin-top: 44px }
.shero-photo { grid-column: 7 / 13 }
/* Со строкой «С 2022 года» первый экран ужат, чтобы кнопка оставалась на первом экране. */
.shero.has-meta { padding-top: 28px }
.has-meta .lede { margin-top: 24px }
.has-meta .shero-facts { margin-top: 28px }
.has-meta .shero-cta { margin-top: 32px }
.shero h1 .acc { color: var(--accent) }
.hero-img { margin: 0 }
.hero-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--cream-card); border-radius: 0 0 0 48px }
.hero-img figcaption { margin-top: 12px; font-size: 12px; line-height: 18px; color: var(--ink-secondary) }
.hero-img figcaption a { transition: color var(--dur-hover) }
.hero-img figcaption a:hover { color: var(--accent) }

/* ——— цифры ——— */
.stats ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--cream-hair) }
.stats li { display: flex; flex-direction: column; padding: 40px 32px 44px 0 }
.stats li + li { padding-left: 32px; border-left: 1px solid var(--cream-hair) }
.stats .pre { font-size: 13px; letter-spacing: .12em; color: var(--ink-secondary) }
.stats .num {
  margin-top: 10px; font-family: Unbounded, sans-serif; font-weight: 300;
  font-size: clamp(64px, 7.4vw, 112px); line-height: .9; letter-spacing: -.045em; color: var(--accent); white-space: nowrap;
}
.stats .num small { font-size: .42em; letter-spacing: -.02em; margin-left: .08em }
.stats .txt { margin-top: 22px; max-width: 22ch; font-size: 17px; line-height: 26px; color: var(--ink-1) }
.stats .stats-note { margin: 0; padding-bottom: 32px; font-size: 12px; color: var(--ink-secondary) }

/* ——— что такое ——— */
.what { padding-top: 88px; padding-bottom: 104px; border-top: 1px solid var(--cream-hair) }
.what .sh { grid-column: 1 / 6 }
.what-body { grid-column: 7 / 13 }
.what-body p { margin: 0 0 20px; font-size: 17px; line-height: 28px; color: var(--ink-secondary) }
.what-body .big { font-size: 22px; line-height: 32px; color: var(--ink-1) }
.what-body .more { margin-top: 16px }
.what-body h3 { margin: 0 0 12px; font-size: 22px; line-height: 30px; font-weight: 500; color: var(--ink-1) }
.what-body p + h3 { margin-top: 36px }
.what-body p a { text-decoration: underline; text-underline-offset: 3px; transition: color var(--dur-hover) }
.what-body p a:hover { color: var(--accent) }

/* ——— когда нужен ——— */
.when { padding-bottom: 96px }
.when .sh { padding: 88px 0 44px; border-top: 1px solid var(--cream-hair) }
.when ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px }
.when li { display: flex; flex-direction: column; gap: 40px; min-height: 220px; padding: 26px 24px 28px; background: var(--cream-card); border-radius: 28px 0 0 0 }
.when li p { margin: auto 0 0; font-size: 17px; line-height: 26px }
.when ol.n5 { grid-template-columns: repeat(5, 1fr) }
.when ol.n5 li { min-height: 0; gap: 24px }
.when ol.n5 li p { margin-top: 0 }

/* ——— до / после ——— */
.before-after { padding-bottom: 104px }
.ba-page { padding-top: 56px }
.ba-page h1 { margin: 20px 0 0; font-family: Unbounded, sans-serif; font-weight: 300; font-size: clamp(32px, 4vw, 56px); line-height: 1.05; letter-spacing: -.03em }
.ba-page .lede { max-width: 62ch; margin: 24px 0 40px; font-size: 18px; line-height: 28px; color: var(--ink-secondary) }
.ba-page .lede a { text-decoration: underline; text-underline-offset: 3px }
.ba-page .lede a:hover { color: var(--accent) }
.ba-list { display: grid; grid-template-columns: 1fr 1fr; gap: 18px }
.ba { margin: 0 }
.ba-stage { position: relative; overflow: hidden; background: var(--cream-card); aspect-ratio: 4 / 3; user-select: none; touch-action: pan-y }
.ba-stage img { width: 100%; height: 100%; object-fit: cover }
.ba-before { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0) }
.ba-before img { width: 100%; height: 100% }
.ba-tag {
  position: absolute; top: 16px; padding: 8px 12px 7px;
  background: var(--cream-1); color: var(--ink-1);
  font-size: 10px; line-height: 10px; letter-spacing: .17em; pointer-events: none;
}
.ba-tag.before { left: 16px }
.ba-tag.after { right: 16px; background: var(--accent); color: var(--cream-1) }
.ba-handle {
  position: absolute; top: 0; bottom: 0; left: var(--pos); width: 0; pointer-events: none;
  border-left: 2px solid var(--cream-1);
}
.ba-handle::after {
  content: "← →"; position: absolute; top: 50%; left: -1px; transform: translate(-50%, -50%);
  width: 56px; height: 56px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--cream-1); color: var(--accent); font-size: 14px; letter-spacing: .05em;
  box-shadow: 0 6px 24px rgba(21, 20, 19, .18);
}
.ba-range {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0;
  opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; background: none;
}
.ba-range::-webkit-slider-thumb { -webkit-appearance: none; width: 56px; height: 100vh }
.ba-stage:has(.ba-range:focus-visible) .ba-handle::after { outline: 2px solid var(--accent); outline-offset: 3px }
.ba figcaption { margin-top: 12px; font-size: 12px; line-height: 18px; color: var(--ink-secondary) }

/* ——— что входит ——— */
.included { padding-bottom: 104px }
.inc-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--cream-hair); border-left: 1px solid var(--cream-hair) }
.inc-grid li { padding: 26px 24px 32px; border-right: 1px solid var(--cream-hair); border-bottom: 1px solid var(--cream-hair); transition: background var(--dur-hover) ease }
.inc-grid li:hover { background: var(--cream-card) }
.inc-grid h3 { margin-top: 36px; font-family: Unbounded, sans-serif; font-weight: 300; font-size: 19px; line-height: 24px; letter-spacing: -.01em; text-transform: uppercase }
.inc-grid p { margin: 14px 0 0; font-size: 15px; line-height: 23px; color: var(--ink-secondary) }

/* ——— стоимость ——— */
.prices { padding-bottom: 104px }
.plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: stretch }
.plans.n4 { grid-template-columns: repeat(4, 1fr) }
.plan { display: flex; flex-direction: column; padding: 28px 28px 30px; background: var(--cream-card); border-radius: 28px 0 0 0 }
.plan.is-hit { background: var(--ink-1); color: var(--cream-1) }
.plan-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px }
.plan .term { font-size: 11px; line-height: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-secondary) }
.plan.is-hit .term, .plan.is-hit .plan-lede, .plan.is-hit li, .plan.is-hit .for, .plan.is-hit .extra { color: var(--ink-invert-quiet) }
.plan h3 { margin-top: 36px; font-family: Unbounded, sans-serif; font-weight: 300; font-size: 24px; line-height: 28px; letter-spacing: -.015em }
.plan-lede { margin: 14px 0 0; font-size: 16px; line-height: 24px; color: var(--ink-1) }
.plan ul { list-style: none; margin: 24px 0 0; padding: 20px 0 0; border-top: 1px solid var(--cream-hair) }
.plan.is-hit ul { border-top-color: var(--field-line-dark) }
.plan li { position: relative; padding-left: 20px; margin-bottom: 8px; font-size: 14px; line-height: 21px; color: var(--ink-secondary) }
.plan li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 4px; height: 4px; border-radius: 50%; background: var(--accent) }
.plan .for { margin: 16px 0 0; font-size: 13px; line-height: 20px; color: var(--ink-secondary); font-style: italic }
.plan-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; margin-top: auto; padding-top: 32px }
.plan-price strong { font-family: Unbounded, sans-serif; font-weight: 300; font-size: 30px; line-height: 34px; letter-spacing: -.02em; color: var(--accent) }
.plan .extra { font-size: 14px; color: var(--ink-secondary) }
.plan .more { margin-top: 18px }
.plan.is-hit .more { color: var(--cream-1); border-bottom-color: var(--accent) }
.plan li .opt { display: block; font-size: 12px; line-height: 18px; font-style: italic }
.plan li.bal { text-wrap: balance }  /* длинный пункт — две ровные строки, без «висящего» хвоста */
.plan .for ul { margin: 6px 0 0; padding: 0; border: 0 }
.plan .for li { margin-bottom: 2px; padding-left: 16px; font-size: 13px; line-height: 20px; color: inherit; text-wrap: balance }
.plan .for li::before { top: 8px }

/* ——— как работаем ——— */
.steps { padding-bottom: 104px }
.step-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; counter-reset: s }
.step-list li { position: relative; padding-top: 24px; border-top: 2px solid var(--ink-1) }
.step-list li:first-child { border-top-color: var(--accent) }
.step-list h3 { margin-top: 28px; font-family: Unbounded, sans-serif; font-weight: 300; font-size: 19px; line-height: 24px; text-transform: uppercase; letter-spacing: -.01em }
.step-list p { margin: 12px 0 0; font-size: 15px; line-height: 23px; color: var(--ink-secondary) }

/* «Как мы работаем» в раскладке главной: фото на левую половину экрана,
   справа заголовок антиквой и шаги в две колонки с номерами. */
.steps-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 840px; margin-bottom: 104px }
.ss-photo { position: relative; background: var(--cream-card) }
.ss-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover }
.ss-body { padding: 80px 48px 88px 60px }
.svc .steps-split .sh { margin: 0 0 80px; font-size: clamp(56px, 5.8vw, 84px); line-height: 1; font-weight: 100; letter-spacing: -.045em }
.svc .steps-split .sh span { font-weight: 200 }
.ss-cols { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; align-items: start; max-width: 660px }
.ss-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 56px }
.ss-list li { display: grid; grid-template-columns: 56px 1fr; align-content: start }
.ss-list .rn { grid-row: 1 / 3; padding-top: 4px; font-family: var(--serif); font-stretch: 87.5%; font-weight: 200; font-size: 22px; line-height: 30px; color: var(--accent) }
.ss-list h3 { margin: 0; font-family: var(--serif); font-stretch: 87.5%; font-weight: 200; font-size: 34px; line-height: 38px; letter-spacing: -.03em; color: var(--ink-1) }
.ss-list p { margin: 10px 0 0; max-width: 24ch; font-size: 14px; line-height: 21px; color: #625E57 }
.ss-cta { margin: 56px 0 0 56px }
.ss-list .u { text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 4px }

/* Акцент после шагов: «Весь проект — на нас. Работаем под ключ» слева, фото справа —
   зеркально к блоку шагов и встык под ним. Фраза в одну строку: кегль от ширины половины
   (строка ≈ 17,5 кегля в ширину). */
.steps-split.is-joined { margin-bottom: 0 }
.claim-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 480px; margin-bottom: 104px }
.cl-body { display: flex; align-items: center; padding: 64px 48px 64px 72px }
.cl-photo { position: relative; background: var(--cream-card) }
.cl-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover }
.claim-big { margin: 0; white-space: nowrap; font-family: var(--serif); font-stretch: 87.5%; font-weight: 200; font-size: min(48px, calc((50vw - 120px) / 17.5)); line-height: 1.1; letter-spacing: -.035em; color: var(--ink-text) }
.claim-big em { color: var(--accent) }

/* «Из чего складывается бюджет» — оливковая полоса во всю ширину, как на главной. */
.budget-band { margin-bottom: 104px; padding: 56px 0 57px; background: #7A765F var(--noise); color: var(--plate) }
.bb-label { margin: 0; font-size: 12px; line-height: 14px; letter-spacing: .02em; text-transform: uppercase }
.bb-row { display: grid; grid-template-columns: 1fr auto 1fr; column-gap: 36px; align-items: start; margin-top: 36px }
.bb-row h3 { margin: 0; font-family: var(--serif); font-stretch: 87.5%; font-weight: 100; font-size: 40px; line-height: 42px; letter-spacing: -.04em }
.bb-row p { margin: 10px 0 0; font-size: 16px; line-height: 25px; color: rgba(255, 253, 244, .8) }
.bb-row p span { color: var(--plate); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px }
.bb-plus { font-family: var(--serif); font-stretch: 87.5%; font-weight: 100; font-size: 48px; line-height: 42px }

/* «О нас» — кремовая половина с портретами и шоколадная с «homely space», как на главной. */
.about-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px }
.ab-team { display: grid; grid-template-columns: repeat(3, minmax(0, 192px)); column-gap: 14px; align-items: start; padding: 90px 40px 72px 60px; background: var(--plate) var(--noise) }
.ab-member { margin: 0 }
.ab-member:nth-child(2) { margin-top: 58px }
.ab-member img { display: block; width: 100%; height: auto; aspect-ratio: 704 / 902; object-fit: cover }
.ab-member h3 { margin: 14px 0 0; font-family: var(--serif); font-stretch: 87.5%; font-weight: 300; font-size: 21px; line-height: 24px; letter-spacing: -.02em; color: var(--ink-text) }
.ab-member p { margin: 8px 0 0; font-size: 11px; line-height: 20px; letter-spacing: .02em; text-transform: uppercase; color: #55524C }
.ab-text { padding: 90px 72px 72px; background: #392118 var(--noise); color: var(--plate) }
.ab-text h2 { margin: 90px 0 0; font-family: var(--serif); font-stretch: 87.5%; font-weight: 100; font-size: clamp(64px, 6.7vw, 96px); line-height: .98; letter-spacing: -.045em; color: var(--plate) }
.ab-text h2 span { font-style: italic }
.ab-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 266px)); column-gap: 44px; margin-top: 90px }
.ab-cols p { margin: 0; font-size: 15px; line-height: 23px }
.about-split + .faq { border-top: 0 }

/* ——— кейсы ——— */
.cards-wrap .card-body p { margin-top: 8px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase }

/* ——— отзывы ——— */
.reviews { padding-bottom: 104px }
.rev-grid { columns: 2; column-gap: 18px }
.rev { break-inside: avoid; margin: 0 0 18px; padding: 28px 30px 30px; background: var(--cream-card) }
.rev .stars { font-size: 13px; letter-spacing: .2em; color: var(--accent) }
.rev p { margin: 16px 0 0; font-size: 16px; line-height: 26px; color: var(--ink-1) }

/* ——— вопросы ——— */
.faq { padding-top: 88px; padding-bottom: 120px; border-top: 1px solid var(--cream-hair) }
.faq .sh { grid-column: 1 / 6; align-self: start; position: sticky; top: 112px }
.faq-list { grid-column: 6 / 13; border-top: 1px solid var(--cream-hair) }
.faq details { border-bottom: 1px solid var(--cream-hair) }
.faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 0; cursor: pointer }
.faq summary::-webkit-details-marker { display: none }
.faq summary h3 { font-size: 18px; line-height: 26px; font-weight: 500; transition: color var(--dur-hover) }
.faq summary:hover h3 { color: var(--accent) }
.faq .pm { position: relative; flex: 0 0 18px; height: 18px }
.faq .pm::before, .faq .pm::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--accent); transition: transform var(--dur-hover) var(--ease-slide) }
.faq .pm::after { transform: rotate(90deg) }
.faq details[open] .pm::after { transform: rotate(0) }
.faq details p { margin: -6px 0 26px; max-width: 60ch; font-size: 16px; line-height: 26px; color: var(--ink-secondary) }

/* ——— адаптив ——— */
@media (max-width: 1240px) {
  .when ol { grid-template-columns: repeat(2, 1fr) }
  .when ol.n5 { grid-template-columns: repeat(2, 1fr) }
  .when ol.n5 li:last-child { grid-column: span 2 }
  .when li { min-height: 170px }
  .step-list { grid-template-columns: repeat(3, 1fr); row-gap: 40px }
  .ss-cols { grid-template-columns: 1fr }
  .ss-list { gap: 40px }
  .ss-cols > div { margin-top: 40px }
  .plans.n4 { grid-template-columns: repeat(2, 1fr) }
}
@media (max-width: 1040px) {
  .shero-text, .shero-photo { grid-column: 1 / 13 }
  .shero-photo { margin-top: 48px }
  .what .sh, .what-body, .faq .sh, .faq-list { grid-column: 1 / 13 }
  .what-body { margin-top: 36px }
  .faq .sh { position: static; margin-bottom: 36px }
  .inc-grid { grid-template-columns: repeat(2, 1fr) }
  .plans, .plans.n4 { grid-template-columns: 1fr }
  .rev-grid { columns: 1 }
  .steps-split { grid-template-columns: 1fr; min-height: 0; margin-bottom: 72px }
  .ss-photo { aspect-ratio: 4 / 3 }
  .ss-body { padding: 64px 48px 0 }
  .svc .steps-split .sh { margin-bottom: 56px }
  .ss-cols { grid-template-columns: 1fr 1fr; max-width: none }
  .ss-cols > div { margin-top: 0 }
  .budget-band { margin-bottom: 72px }
  .steps-split.is-joined { margin-bottom: 0 }
  .claim-split { grid-template-columns: 1fr; min-height: 0; margin-bottom: 72px }
  .cl-body { padding: 56px 48px }
  .claim-big { white-space: normal; font-size: clamp(28px, 4.4vw, 40px) }
  .cl-photo { aspect-ratio: 4 / 3 }
  .about-split { grid-template-columns: 1fr }
  .ab-team { padding: 64px 48px; grid-template-columns: repeat(3, minmax(0, 1fr)) }
  .ab-text { padding: 64px 48px }
  .ab-text h2, .ab-cols { margin-top: 48px }
}
@media (max-width: 640px) {
  .sec-head { flex-direction: column; align-items: flex-start; padding: 64px 0 32px }
  .sec-head p { text-align: left }
  .shero { padding-top: 36px; padding-bottom: 56px }
  /* «СТЕЙДЖИНГ.» ≈ 7,9 кегля в ширину — кегль от ширины строки с запасом. */
  .shero h1 { font-size: calc((100vw - 48px) / 8.3) }
  .shero .lede { font-size: 18px; line-height: 27px }
  .shero-facts strong { font-size: 18px; line-height: 22px }
  .shero-cta .plate { width: 100% }
  .hero-meta { margin-bottom: 40px; font-size: 17px; line-height: 20px }
  .stats ul { grid-template-columns: 1fr }
  .stats li { padding: 28px 0 }
  .stats li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--cream-hair) }
  .what { padding-top: 64px; padding-bottom: 72px }
  .what-body .big { font-size: 19px; line-height: 28px }
  .when .sh { padding: 64px 0 32px }
  .when ol { grid-template-columns: 1fr; gap: 12px }
  .when ol.n5 { grid-template-columns: 1fr }
  .when ol.n5 li:last-child { grid-column: auto }
  .when li { min-height: 0; gap: 20px }
  .ba-list { grid-template-columns: 1fr }
  .ba-handle::after { width: 46px; height: 46px; font-size: 12px }
  .inc-grid { grid-template-columns: 1fr }
  .inc-grid h3 { margin-top: 20px }
  .step-list { grid-template-columns: 1fr; row-gap: 32px }
  .ss-body { padding: 48px 24px 0 }
  .svc .steps-split .sh { margin-bottom: 40px; font-size: 44px }
  .ss-cols { grid-template-columns: 1fr }
  .ss-list { gap: 36px }
  .ss-cols > div { margin-top: 36px }
  .ss-cta { margin-left: 44px }
  .bb-row { grid-template-columns: 1fr; row-gap: 16px; margin-top: 28px }
  .bb-row h3 { font-size: 34px; line-height: 38px }
  .ab-team { padding: 48px 24px; column-gap: 10px }
  .ab-member:nth-child(2) { margin-top: 32px }
  .ab-member h3 { font-size: 16px; line-height: 19px }
  .ab-member p { font-size: 10px; line-height: 15px }
  .ab-text { padding: 48px 24px 56px }
  .ab-cols { grid-template-columns: 1fr; row-gap: 16px }
  .ss-list li { grid-template-columns: 44px 1fr }
  .ss-list h3 { font-size: 28px; line-height: 32px }
  .rev { padding: 22px 22px 24px }
  .faq { padding-top: 64px; padding-bottom: 80px }
  .before-after, .included, .prices, .steps, .reviews { padding-bottom: 72px }
}
