/* ═══════════════════════════════════════════════════════════════════════════
   Лендинг акции /support/2400/ — «Поддержка сайта: 2 400 ₽/час вместо 3 200»
   (docs/PROMO-2400.md). Стили на дизайн-системе webit.ru: Bitum и акцент
   #ee5e3e приходят из app.css, кнопки — штатные .btn.btn--filled / .btn--orange,
   контейнер — штатный .container (86.11111vw), FAQ — штатный .accordeon (app.js).
   Всё под неймспейсом .p24, плоский BEM без CSS-переменных (как app.css).

   ЕДИНИЦЫ (как в geo-audit.css):
   • Крупная раскладка (сетки, паддинги секций, размеры шрифтов) — vw от сетки
     1440 (fluid, как на сайте) с переопределениями ≤1279 / ≤1023 / ≤767 / ≤479.
   • Внутренние отступы карточек, хайрлайны, маркеры — rem/px, чтобы не
     схлопывались на мобильном (vw@1440 на 390px ужимается в ~3.7×).
   • Без :has(). Разметка — site/support/2400/index.php.
   ═══════════════════════════════════════════════════════════════════════════ */

.p24{ color:#000; }
.p24 *{ box-sizing:border-box; }
.p24 ul,.p24 ol{ list-style:none; padding:0; }   /* отступы у элементов задаём в классах — общий сброс перебил бы их по специфичности */
.p24-nowrap{ white-space:nowrap; color:inherit; }   /* глобальное *{color:#000} из app.css перебило бы цвет внутри серого текста */

/* ── секции / типографика ── */
.p24-section{ padding:5.55556vw 0; }
.p24-section--white{ background:#fff; }
.p24-section--dark{ background:#000; }
.p24-section--dark,
.p24-section--dark *{ color:#fff; }             /* глобальное *{color:#000} из app.css */
.p24-tag{ display:inline-block; font-size:0.90278vw; line-height:1.3; text-transform:uppercase; letter-spacing:.08em;
  color:#ee5e3e; border:1px solid #ee5e3e; border-radius:50px; padding:.4em 1em; }
.p24-section--dark .p24-tag{ color:#fff; border-color:rgba(255,255,255,.35); }
.p24-title{ font-size:2.5vw; line-height:1.15; font-weight:400; margin:.9rem 0 0; max-width:56vw; }
.p24-sub{ font-size:1.25vw; line-height:1.45; margin:1rem 0 0; max-width:52vw; opacity:.75; }
.p24-section--dark .p24-sub{ opacity:.85; }
.p24-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1rem; }
.p24-actions--center{ justify-content:center; margin-top:3rem; }
.p24-terms__row dd a,.p24 .accordeon__body a,.p24-form__phone{ transition:color .3s ease; }

/* кнопки: штатные .btn--filled / .btn--orange, но размер задаём сами, чтобы не зависеть от
   брейкпоинта 620px в app.css (между 621 и 767 штатная кнопка ужимается до ~8px) */
.p24 .btn{ display:inline-block; text-align:center; white-space:nowrap; cursor:pointer; text-decoration:none;
  border-radius:50px; padding:0.97222vw 3.33333vw; font-size:1.11111vw; line-height:1.38889vw; }   /* и кнопка штатной формы в блоке 10 */
.p24 .btn.btn--orange{ background:transparent; }
.p24 .btn.btn--orange:hover{ background:#ee5e3e; color:#fff; }

/* ── 1. HERO ── */
.p24-hero{ padding:7.5vw 0 5.55556vw; }   /* шапка сайта fixed и выше body padding-top (4vw): ~7.85vw на десктопе */
.p24-hero__inner{ display:grid; grid-template-columns:1.2fr 1fr; gap:3.47222vw; align-items:center; }
.p24-kicker{ display:inline-block; font-size:0.90278vw; line-height:1.3; text-transform:uppercase; letter-spacing:.08em;
  color:#ee5e3e; border:1px solid #ee5e3e; border-radius:50px; padding:.4em 1em; margin-bottom:2rem; }   /* над сеткой hero — не переносится в узкой колонке 1024–1279 */
.p24-kicker__part{ color:inherit; }
.p24-kicker__part + .p24-kicker__part:before{ content:"\00a0\00b7\00a0"; }
.p24-hero__title{ font-size:3.33333vw; line-height:4.02778vw; font-weight:400; margin:0 0 1.25rem; }
.p24-hero__title em{ font-style:normal; color:#ee5e3e; white-space:nowrap; }
.p24-hero__lead{ font-size:1.25vw; line-height:1.45; margin:0 0 1.75rem; max-width:40vw; }
.p24-hero__note{ font-size:0.97222vw; line-height:1.4; color:#000; opacity:.65; margin:1.25rem 0 0; max-width:36vw; }   /* серый #9c9c9c на #f5f5f5 — контраст ~2.5:1, для оговорки мало */
.p24-hero__cms{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.5rem; }
.p24-hero__cms li{ font-size:0.90278vw; line-height:1.2; border:1px solid #b9babc; border-radius:50px; padding:.4em .9em; color:#000; }
.p24-hero__visual{ min-width:0; }
.p24-hero__img{ background:#fff; border-radius:0.69444vw; overflow:hidden; }   /* картинка на белом фоне — белая карточка как .p24-offer, без бордера */
.p24-hero__img img,.p24-move__img img{ display:block; width:100%; height:auto; max-width:100%; }

/* ── 1a. КОРОТКО ОБ АКЦИИ — белая плашка под hero (факты для цитирования, GEO) ── */
.p24-brief{ padding:0 0 5.55556vw; }
.p24-brief__card{ background:#fff; border-radius:0.69444vw; padding:2rem 2.5rem 2.25rem; }
.p24-brief__list{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem 2.5rem; margin-top:1.5rem; }
.p24-brief__list li{ position:relative; padding-left:1.5rem; font-size:1.11111vw; line-height:1.45; }
.p24-brief__list li:before{ content:""; position:absolute; left:0; top:.55em; width:.6rem; height:.6rem; border-radius:50%; background:#ee5e3e; }
.p24-brief__list li strong{ font-weight:700; }

/* fallback без картинки: типографическая карточка оффера */
.p24-offer{ position:relative; background:#fff; border-radius:0.69444vw; padding:2.5rem 2.5rem 2.25rem; overflow:hidden; }
.p24-offer:before{ content:""; position:absolute; top:0; left:0; right:0; height:6px; background:#ee5e3e; }  /* фирменный жест: оранжевая полоса (как меню сайта и попап акции) */
.p24-offer__badge{ position:absolute; top:1.5rem; right:1.5rem; background:#ee5e3e; color:#fff; border-radius:50px;
  padding:.35em .85em; font-size:1.25vw; line-height:1.2; font-weight:700; white-space:nowrap; }
.p24-offer__label{ font-size:0.90278vw; line-height:1.3; text-transform:uppercase; letter-spacing:.08em; color:#9c9c9c; padding-right:6rem; }
.p24-offer__price{ display:flex; flex-wrap:wrap; align-items:baseline; margin-top:.75rem; }
.p24-offer__num{ font-size:6.25vw; line-height:.95; font-weight:700; letter-spacing:-.02em; word-spacing:-.1em; white-space:nowrap; }
.p24-offer__unit{ font-size:1.94444vw; line-height:1.2; margin-left:.4rem; white-space:nowrap; }
.p24-offer__old{ font-size:1.66667vw; line-height:1.2; color:#9c9c9c; margin-top:1rem; white-space:nowrap; }
.p24-offer__old s{ position:relative; display:inline-block; text-decoration:none; color:inherit; padding:0 .1em; }
.p24-offer__old s:after{ content:""; position:absolute; left:0; right:0; top:50%; height:2px; margin-top:-1px;
  background:#ee5e3e; transform:rotate(-6deg); border-radius:1px; }  /* зачёркивание — оранжевая линия под наклоном, как в попапе */
.p24-offer__hours{ display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; margin-top:1.75rem; }
.p24-offer__hours li{ border:1px solid #e5e5e5; border-radius:8px; padding:.85rem .4rem .8rem; text-align:center;
  font-size:0.90278vw; line-height:1.2; color:#9c9c9c; }
.p24-offer__hours li span{ display:block; font-size:2.22222vw; line-height:1.05; font-weight:700; color:#000; margin-bottom:.35rem; }
.p24-offer__hours li span small{ font-size:.5em; font-weight:400; color:inherit; margin-left:.05em; }   /* порядковое «‑й» при цифре */
.p24-offer__hours li.p24-offer__hours-gift{ background:#ee5e3e; border-color:#ee5e3e; color:#fff; }
.p24-offer__hours li.p24-offer__hours-gift span{ color:#fff; }
.p24-offer__note{ margin-top:1.25rem; font-size:0.90278vw; line-height:1.4; color:#9c9c9c; }

/* ── 2. СКОЛЬКО ЭКОНОМИТЕ ── */
.p24-save{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.66667vw; margin-top:2.5rem; }
.p24-save__card{ background:#f5f5f5; border-radius:0.69444vw; padding:2rem 1.75rem 1.75rem; border:1px solid #f5f5f5; transition:border-color .3s ease; }
.p24-save__card:hover{ border-color:#ee5e3e; }
.p24-save__hours{ font-size:1.11111vw; line-height:1.3; color:#9c9c9c; text-transform:uppercase; letter-spacing:.06em; }
.p24-save__sum{ font-size:3.33333vw; line-height:1.05; font-weight:700; letter-spacing:-.02em; margin-top:.75rem; white-space:nowrap; }
.p24-save__meta{ margin-top:.5rem; }   /* строка «вместо … + экономия»; на мобильном — в одну строку */
.p24-save__old{ font-size:1.11111vw; line-height:1.4; color:#9c9c9c; }
.p24-save__old s{ text-decoration:line-through; text-decoration-color:#ee5e3e; color:#9c9c9c; }
.p24-save__profit{ display:inline-block; margin-top:1.25rem; background:#ee5e3e; color:#fff; border-radius:50px;
  padding:.4em 1em; font-size:1.11111vw; line-height:1.3; font-weight:700; white-space:nowrap; }
.p24-save__caption{ font-size:1.11111vw; line-height:1.52778vw; color:#9c9c9c; margin-top:1.75rem; }

/* ── 3. ЧТО ВХОДИТ В ЧАС ── */
.p24-incl{ display:grid; grid-template-columns:repeat(4,1fr); gap:2rem 1.66667vw; margin-top:2.5rem; }
.p24-incl__item{ border-top:1px solid #000; padding-top:1.25rem; }
.p24-incl__num{ font-size:1.25vw; line-height:1.2; font-weight:700; color:#ee5e3e; margin-bottom:.9rem; }
.p24-incl__title{ font-size:1.25vw; line-height:1.3; font-weight:700; margin-bottom:.5rem; }
.p24-incl__desc{ font-size:1.11111vw; line-height:1.52778vw; opacity:.8; }
.p24-incl__item--note{ border-top-color:#b9babc; }
.p24-incl__item--note .p24-incl__title{ color:#9c9c9c; }
.p24-incl__item--note .p24-incl__desc{ color:#9c9c9c; opacity:1; }

/* ── 4. ДЛЯ КАКИХ САЙТОВ ── */
.p24-cms{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.66667vw; margin-top:2.5rem; }
.p24-cms__item{ display:flex; flex-direction:column; height:100%; background:#f5f5f5; border:1px solid #f5f5f5; border-radius:0.69444vw;
  padding:1.5rem 1.5rem 1.35rem; text-decoration:none; color:#000; transition:border-color .3s ease, background-color .3s ease; }
.p24-cms__item--link:hover{ border-color:#ee5e3e; background:#fff; }
.p24-cms__name{ font-size:1.25vw; line-height:1.3; font-weight:700; }
.p24-cms__note{ font-size:0.90278vw; line-height:1.4; color:#9c9c9c; margin-top:.35rem; }
.p24-cms__more{ margin-top:auto; padding-top:1rem; font-size:0.90278vw; line-height:1.3; color:#ee5e3e; text-decoration:underline; text-underline-position:under; }
.p24-cms__item--link:hover .p24-cms__more{ color:#cd3412; }

/* ── 5. ПОЧЕМУ WEBIT ── */
.p24-why{ display:grid; grid-template-columns:1.1fr 1fr; gap:3.47222vw; align-items:start; }
.p24-why__list{ margin-top:2rem; }
.p24-why__list li{ position:relative; padding-left:1.75rem; margin-bottom:1.25rem; }
.p24-why__list li:before{ content:""; position:absolute; left:0; top:.55em; width:.6rem; height:.6rem; border-radius:50%; background:#ee5e3e; }
.p24-why__item-title{ font-size:1.25vw; line-height:1.3; font-weight:700; }
.p24-why__item-desc{ font-size:1.11111vw; line-height:1.52778vw; opacity:.8; margin-top:.25rem; }
.p24-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.66667vw; margin-top:2.5rem; padding-top:2rem; border-top:1px solid #b9babc; }
.p24-stats__num{ display:block; font-size:2.5vw; line-height:1.1; font-weight:400; white-space:nowrap; }
.p24-stats__text{ display:block; font-size:0.90278vw; line-height:1.4; margin-top:.5rem; opacity:.75; }
/* штатный виджет рейтингов сайта (/include/raiting/support.php, стили .general-bs__raiting из app.css):
   снимаем ограничения, рассчитанные на первый экран /support/ */
.p24 .general-bs__raiting.p24-rating{ max-width:100%; margin:0; justify-content:flex-start; }
.p24 .p24-rating ul{ width:100%; justify-content:space-between; }
.p24 .p24-rating ul li{ flex-basis:48%; max-width:48%; padding:0 .5rem; margin-bottom:1.5rem; }
.p24-why__rating{ background:#fff; border-radius:0.69444vw; padding:2rem 1.5rem .5rem; }

/* ── 6. ПЕРЕЕЗД ── */
.p24-move{ display:grid; grid-template-columns:1.1fr 1fr; gap:3.47222vw; align-items:center; }
.p24-move .p24-title{ max-width:100%; }
.p24-move .p24-sub{ max-width:100%; }
.p24-move__list{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem 2rem; margin:2rem 0 2.25rem; }
.p24-move__list li{ display:flex; align-items:center; gap:.85rem; font-size:1.11111vw; line-height:1.4; }
.p24-move__num{ flex:none; width:2rem; height:2rem; border-radius:50%; background:#ee5e3e; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.9rem; }
.p24-move .p24-btn.btn--filled:hover{ background:#fff; color:#ee5e3e; }
.p24-move__img{ min-width:0; background:#fff; border-radius:0.69444vw; padding:1.5rem; }   /* картинка на белой карточке — тёмная полоса не зависит от прозрачности PNG */
/* fallback без картинки: карточка «0 ₽ — приём сайта» (жест как у карточки оффера в hero) */
.p24-move__card{ position:relative; min-width:0; background:#fff; border-radius:0.69444vw; padding:2.5rem 2.5rem 2.25rem; overflow:hidden; }
.p24-move__card:before{ content:""; position:absolute; top:0; left:0; right:0; height:6px; background:#ee5e3e; }
.p24-section--dark .p24-move__card *{ color:#000; }
.p24-move__card .p24-move__card-label{ font-size:0.90278vw; line-height:1.3; text-transform:uppercase; letter-spacing:.08em; color:#9c9c9c; }
.p24-move__card .p24-move__card-price{ font-size:6.25vw; line-height:.95; font-weight:700; letter-spacing:-.02em; margin-top:.75rem; white-space:nowrap; }
.p24-move__card .p24-move__card-text{ font-size:1.25vw; line-height:1.45; margin-top:1.25rem; }
.p24-move__card .p24-move__card-note{ font-size:0.90278vw; line-height:1.4; color:#9c9c9c; margin-top:1rem; padding-top:1rem; border-top:1px solid #e5e5e5; }

/* ── 7. КАК НАЧАТЬ ── */
.p24-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.66667vw; margin-top:2.5rem; }
.p24-steps__item{ background:#f5f5f5; border-radius:0.69444vw; padding:1.75rem 1.75rem 1.75rem; }
.p24-steps__num{ font-size:2.5vw; line-height:1; font-weight:700; color:#ee5e3e; }
.p24-steps__title{ font-size:1.25vw; line-height:1.3; font-weight:700; margin-top:1rem; }
.p24-steps__desc{ font-size:1.11111vw; line-height:1.52778vw; opacity:.8; margin-top:.5rem; }

/* ── 8. УСЛОВИЯ АКЦИИ ── */
.p24-terms{ display:grid; grid-template-columns:1fr 2fr; gap:3.47222vw; align-items:start; }
.p24-terms .p24-title,.p24-terms .p24-sub{ max-width:100%; }
.p24-terms__list{ border-top:1px solid #9c9c9c; margin:0; }
.p24-terms__row{ display:grid; grid-template-columns:1fr 2fr; gap:1.66667vw; padding:1.1rem 0; border-bottom:1px solid #9c9c9c; }
.p24-terms__row dt{ font-size:1.11111vw; line-height:1.52778vw; font-weight:700; }
.p24-terms__row dd{ font-size:1.11111vw; line-height:1.52778vw; margin:0; }
.p24-terms__row dd strong{ font-weight:700; }
.p24-terms__row dd a{ color:#ee5e3e; text-decoration:underline; text-underline-position:under; }
.p24-terms__row dd a:hover{ color:#cd3412; }
.p24 #terms,.p24 #form{ scroll-margin-top:11.5vw; }

/* ── 9. FAQ (штатный .accordeon сайта, JS — accodeonInit() в app.js) ── */
.p24-faq{ display:grid; grid-template-columns:1fr 2fr; gap:3.47222vw; align-items:start; }
.p24-faq .p24-title{ max-width:100%; }
.p24 .accordeon{ padding-top:0; }
.p24 .accordeon__item{ border-top:1px solid #9c9c9c; padding:1.5rem 0 1.4rem; }
.p24 .accordeon__item:last-child{ border-bottom:1px solid #9c9c9c; }
.p24 .accordeon__header{ display:flex; align-items:center; padding-bottom:0; cursor:pointer; }
.p24 .accordeon__name{ font-size:1.25vw; line-height:1.4; font-weight:700; margin:0; max-width:calc(100% - 4rem); }
.p24 .accordeon__close{ flex:none; width:2.77778vw; height:2.77778vw; min-width:36px; min-height:36px; border:1px solid #000; background-size:1.75vw; margin-left:auto; transition:border-color .3s ease; }
.p24 .accordeon__header:hover .accordeon__close{ border-color:#ee5e3e; }
.p24 .accordeon__body{ margin:0; max-width:100%; padding:1rem 4rem 0 0; }
.p24 .accordeon__body p{ font-size:1.11111vw; line-height:1.52778vw; margin:0; }
.p24 .accordeon__body a{ color:#ee5e3e; text-decoration:underline; text-underline-position:under; }
.p24 .accordeon__body a:hover{ color:#cd3412; }

/* ── 10. ФОРМА (bitrix:form.result.new, шаблон promo2400, веб-форма SUPPORT_2400; раскладка полей — в style.css шаблона) ── */
.p24-form{ background:#e5e5e5; }   /* как штатная нижняя форма сайта .footer-form */
.p24-form__inner{ display:grid; grid-template-columns:1fr 1.25fr; grid-template-rows:auto 1fr; grid-template-areas:"content card" "contact card"; gap:0 3.47222vw; align-items:start; }
.p24-form__content{ grid-area:content; }
.p24-form__card{ grid-area:card; }
.p24-form__contact{ grid-area:contact; }
.p24-form .p24-title,.p24-form .p24-sub{ max-width:100%; }
.p24-form__contact{ display:flex; align-items:center; gap:1.25rem; margin-top:2rem; }
.p24-form__photo{ flex:none; width:5.2rem; height:5.2rem; border-radius:50%; object-fit:cover; }
.p24-form__contact-name{ font-size:1.25vw; line-height:1.3; font-weight:700; }
.p24-form__contact-role{ font-size:0.90278vw; line-height:1.4; color:#9c9c9c; margin-top:.15rem; }
.p24-form__phone{ display:inline-block; font-size:1.11111vw; line-height:1.4; color:#ee5e3e; margin-top:.35rem; text-decoration:none; white-space:nowrap; }
.p24-form__phone:hover{ color:#cd3412; }
.p24-form__card{ background:#fff; border-radius:0.69444vw; padding:2rem 2rem 1.75rem; }
.p24-form__hint{ font-size:0.90278vw; line-height:1.4; color:#9c9c9c; margin:0 0 1.25rem; padding-bottom:1rem; border-bottom:1px solid #e5e5e5; }   /* подсказка ДО полей: «сайт» просят заголовком, а поля под него нет — просим в комментарии */
/* поля шаблона promo2400 внутри белой карточки: инпуты — штатный .base-input (app.css) */
.p24-form__card .p24-wf__row{ margin-bottom:1.25rem; }
.p24-form__card .p24-wf__row--2{ gap:1.25rem; }
.p24-form__card .p24-wf__textarea{ min-height:7.5rem; }
.p24-form__card .p24-wf__bottom{ gap:1rem 1.5rem; margin-top:.25rem; }
.p24-form__card .custom-modal-form .base-label--checkbox{ margin-bottom:0; flex:1; min-width:14rem; font-size:0.90278vw; line-height:1.4; padding-top:0; opacity:1; }
.p24-form__card .p24-wf__btn{ white-space:nowrap; }
.p24-form__card .p24-wf__ok{ padding:2rem 0 1.5rem; }
.p24-form__card .p24-wf__ok p{ font-size:1.11111vw; line-height:1.5; margin:0; }
.p24-form__fallback{ font-size:1.11111vw; line-height:1.5; margin:0; }
.p24-form__fallback a{ color:#ee5e3e; }

/* ═══════════════════════ ≤1279 (небольшой десктоп / планшет горизонтальный) ═══════════════════════ */
@media screen and (max-width:1279px){
  .p24-section{ padding:6.5vw 0; }
  .p24-tag,.p24-kicker{ font-size:1.1vw; }
  .p24-title{ font-size:3.1vw; max-width:64vw; }
  .p24-sub{ font-size:1.55vw; max-width:60vw; }
  .p24 .btn{ font-size:1.4vw; line-height:1.8vw; padding:1.15vw 3.6vw; }
  .p24-hero__title{ font-size:4.1vw; line-height:1.2; }
  .p24-hero__lead{ font-size:1.55vw; max-width:46vw; }
  .p24-hero__note{ font-size:1.25vw; }
  .p24-brief__list li,.p24-form__card .p24-wf__ok p,.p24-form__fallback{ font-size:1.4vw; }
  .p24-hero__cms li,.p24-offer__label,.p24-offer__note,.p24-offer__hours li,
  .p24-cms__note,.p24-cms__more,.p24-stats__text,.p24-form__contact-role,.p24-form__hint,
  .p24-form__card .custom-modal-form .base-label--checkbox{ font-size:1.15vw; }
  .p24-offer__badge{ font-size:1.5vw; }
  .p24-offer__num{ font-size:7.2vw; }
  .p24-offer__unit{ font-size:2.3vw; }
  .p24-offer__old{ font-size:2vw; }
  .p24-offer__hours li span{ font-size:2.6vw; }
  .p24-save__hours,.p24-save__old,.p24-save__profit,.p24-save__caption,
  .p24-incl__desc,.p24-why__item-desc,.p24-move__list li,.p24-steps__desc,
  .p24-terms__row dt,.p24-terms__row dd,.p24 .accordeon__body p,.p24-form__phone{ font-size:1.4vw; line-height:1.5; }
  .p24-save__sum{ font-size:3.9vw; }
  .p24-incl__num,.p24-incl__title,.p24-cms__name,.p24-why__item-title,.p24-steps__title,
  .p24 .accordeon__name,.p24-form__contact-name{ font-size:1.55vw; }
  .p24-stats__num,.p24-steps__num{ font-size:3.1vw; }
  .p24 .accordeon__close{ width:3.4vw; height:3.4vw; background-size:2.1vw; }
  .p24-move__card .p24-move__card-label,.p24-move__card .p24-move__card-note{ font-size:1.15vw; }
  .p24-move__card .p24-move__card-price{ font-size:7.2vw; }
  .p24-move__card .p24-move__card-text{ font-size:1.55vw; }
  /* поля штатной формы: vw-размеры app.css (1.11vw) на 1024–1279 дают 11–14px — держим не ниже 14px */
  .p24-form__card .base-input{ font-size:1.4vw; line-height:1.5; padding:1.1vw 1.4vw; border-radius:5px; }
  .p24-form__card .custom-modal-form .base-label--checkbox{ padding-left:2rem; }
  .p24-form__card .custom-modal-form .base-label--checkbox .base__indicator{ top:50%; margin-top:-10px; width:20px; height:20px; border-radius:4px; }
  .p24-form__card .custom-modal-form .base-label--checkbox .base__indicator:before{ width:6px; height:11px; left:6px; top:1px; background:none; border-right:2px solid #ee5e3e; border-bottom:2px solid #ee5e3e; }
  .p24-form__card .custom-modal-form .base-label--checkbox .base__indicator:after{ display:none; }
}

/* ═══════════════════════ ≤1023 (планшет вертикальный) ═══════════════════════ */
@media screen and (max-width:1023px){
  .p24-section{ padding:7.5vw 0; }
  .p24-tag,.p24-kicker{ font-size:1.5vw; }
  .p24-title{ font-size:3.9vw; max-width:100%; }
  .p24-sub{ font-size:2.05vw; max-width:100%; }
  .p24 .btn{ font-size:1.95vw; line-height:2.5vw; padding:1.6vw 4.5vw; }
  .p24-hero{ padding-top:8vw; }
  .p24-hero__inner{ grid-template-columns:1fr; gap:4vw; }
  .p24-hero__title{ font-size:5.2vw; }
  .p24-hero__lead{ font-size:2.05vw; max-width:100%; }
  .p24-hero__note{ max-width:100%; font-size:1.75vw; }
  .p24-hero__cms li,.p24-offer__label,.p24-offer__note,.p24-offer__hours li,
  .p24-cms__note,.p24-cms__more,.p24-stats__text,.p24-form__contact-role,.p24-form__hint,
  .p24-form__card .custom-modal-form .base-label--checkbox{ font-size:1.6vw; }
  .p24-hero__visual{ max-width:64vw; }
  .p24-offer__badge{ font-size:2vw; }
  .p24-offer__num{ font-size:9.5vw; }
  .p24-offer__unit{ font-size:3vw; }
  .p24-offer__old{ font-size:2.6vw; }
  .p24-offer__hours li span{ font-size:3.4vw; }
  .p24-save__hours,.p24-save__old,.p24-save__profit,.p24-save__caption,
  .p24-incl__desc,.p24-why__item-desc,.p24-move__list li,.p24-steps__desc,
  .p24-terms__row dt,.p24-terms__row dd,.p24 .accordeon__body p,.p24-form__phone{ font-size:1.95vw; }
  .p24-save__sum{ font-size:4.6vw; }
  .p24-incl__num,.p24-incl__title,.p24-cms__name,.p24-why__item-title,.p24-steps__title,
  .p24 .accordeon__name,.p24-form__contact-name{ font-size:2.1vw; }
  .p24-stats__num,.p24-steps__num{ font-size:4vw; }
  .p24-incl,.p24-cms{ grid-template-columns:repeat(2,1fr); }
  .p24-why,.p24-move,.p24-terms,.p24-faq{ grid-template-columns:1fr; gap:4vw; }
  .p24-form__inner{ grid-template-columns:1fr; grid-template-rows:auto; grid-template-areas:"content" "card" "contact"; gap:4vw; }
  .p24-form__contact{ margin-top:0; }
  .p24-move__img,.p24-move__card{ max-width:60vw; border-radius:10px; }
  .p24-hero__img{ border-radius:10px; }
  .p24-brief__card{ border-radius:10px; padding:1.75rem 1.75rem 1.5rem; }
  .p24-brief__list{ grid-template-columns:1fr 1fr; gap:1rem 2rem; }
  .p24-brief__list li,.p24-form__card .p24-wf__ok p,.p24-form__fallback{ font-size:1.95vw; }
  .p24-move__card{ padding:2rem 2rem 1.75rem; }
  .p24-move__card .p24-move__card-label,.p24-move__card .p24-move__card-note{ font-size:1.6vw; }
  .p24-move__card .p24-move__card-price{ font-size:8vw; }
  .p24-move__card .p24-move__card-text{ font-size:2.05vw; }
  /* поля и чекбокс штатной формы на планшете 768–1023: vw-размеры app.css дают 8.5–11px */
  .p24-form__card .base-input{ font-size:16px; line-height:22px; padding:12px 16px; }
  .p24-form__card .custom-modal-form .base-label--checkbox{ font-size:14px; line-height:1.4; }
  .p24-why__rating{ padding:1.5rem 1rem .25rem; }
  .p24 .p24-rating .name{ font-size:1.7vw; margin-bottom:.75rem; }
  .p24 .p24-rating .description{ font-size:1.7vw; line-height:1.4; }
  .p24 .accordeon__close{ width:4.4vw; height:4.4vw; background-size:2.6vw; }
  .p24 #terms,.p24 #form{ scroll-margin-top:12vw; }
}

/* ═══════════════════════ ≤767 (мобильный) ═══════════════════════
   Типографика — в px: 375-vw-значения сайта между 621 и 767 px раздувались бы
   в 1.7–2 раза (мобильная шапка сайта включается только с 620). */
@media screen and (max-width:767px){
  .p24-section{ padding:40px 0; }
  .p24-tag,.p24-kicker{ font-size:12px; letter-spacing:.06em; }
  /* кикер: три отдельных чипа вместо пилюли, которая переносилась на две строки с висящей точкой */
  .p24-kicker{ display:flex; flex-wrap:wrap; gap:.4rem; border:0; border-radius:0; padding:0; margin-bottom:1.25rem; }
  .p24-kicker__part{ border:1px solid #ee5e3e; border-radius:50px; padding:.4em .9em; }
  .p24-kicker__part + .p24-kicker__part:before{ content:none; }
  .p24-title{ font-size:26px; line-height:1.2; margin-top:1rem; }
  .p24-sub{ font-size:16px; line-height:22px; }
  /* кнопки: пропорции штатной .btn сайта на мобильном (app.css @620) */
  .p24 .btn{ font-size:16px; line-height:20px; padding:14px 24px; border-radius:50px; }
  .p24-actions{ gap:.75rem; }
  .p24-actions .p24-btn{ flex:1 1 auto; }
  .p24-hero{ padding:10vw 0 40px; }
  .p24-hero__inner{ gap:2rem; }
  .p24-hero__title{ font-size:32px; line-height:38px; }
  .p24-hero__lead{ font-size:16px; line-height:22px; }
  .p24-hero__note{ font-size:14px; }
  .p24-hero__cms{ gap:.4rem; }
  .p24-hero__cms li{ font-size:12px; }
  .p24-hero__visual{ max-width:100%; }
  .p24-offer{ padding:1.75rem 1.5rem 1.5rem; border-radius:10px; }
  .p24-offer__badge{ top:1.25rem; right:1.25rem; font-size:15px; }
  .p24-offer__label{ font-size:12px; padding-right:5rem; }
  .p24-offer__num{ font-size:58px; }
  .p24-offer__unit{ font-size:21px; }
  .p24-offer__old{ font-size:18px; }
  .p24-offer__hours{ gap:.4rem; margin-top:1.25rem; }
  .p24-offer__hours li{ font-size:11px; padding:.65rem .15rem .6rem; }
  .p24-offer__hours li span{ font-size:24px; }
  .p24-offer__note{ font-size:13px; }
  .p24-save{ grid-template-columns:1fr; gap:.75rem; margin-top:1.75rem; }
  /* компактная карточка: часы / сумма / строка «вместо … + экономия» — три карточки ≈ 3 экрана были воздухом */
  .p24-save__card{ padding:1.1rem 1.25rem 1.1rem; border-radius:10px; }
  .p24-save__hours{ font-size:13px; }
  .p24-save__sum{ font-size:32px; margin-top:.35rem; }
  .p24-save__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .75rem; margin-top:.5rem; }
  .p24-save__old{ font-size:13px; line-height:1.4; }
  .p24-save__caption,
  .p24-incl__desc,.p24-why__item-desc,.p24-move__list li,.p24-steps__desc,
  .p24-terms__row dt,.p24-terms__row dd,.p24 .accordeon__body p,.p24-form__phone{ font-size:16px; line-height:22px; }
  .p24-save__profit{ font-size:13px; line-height:1.3; margin-top:0; }
  .p24-incl{ grid-template-columns:1fr; gap:1.25rem; margin-top:1.75rem; }
  .p24-incl__item{ padding-top:1rem; }
  .p24-incl__num{ margin-bottom:.5rem; }
  .p24-incl__num,.p24-incl__title,.p24-cms__name,.p24-why__item-title,.p24-steps__title,
  .p24 .accordeon__name,.p24-form__contact-name{ font-size:18px; line-height:1.3; }
  .p24-cms{ grid-template-columns:repeat(2,1fr); gap:.75rem; margin-top:1.75rem; }
  .p24-cms__item{ padding:1rem 1rem .9rem; border-radius:10px; }
  .p24-cms__note,.p24-cms__more,.p24-stats__text,.p24-form__contact-role,.p24-form__hint,
  .p24-form__card .custom-modal-form .base-label--checkbox{ font-size:13px; line-height:1.4; }
  .p24-cms__more{ padding-top:.75rem; }
  .p24-why__list{ margin-top:1.5rem; }
  .p24-stats{ grid-template-columns:repeat(3,1fr); gap:.75rem; margin-top:1.75rem; padding-top:1.5rem; }
  .p24-stats__num{ font-size:30px; }
  .p24-why__rating{ padding:1.25rem .75rem 0; border-radius:10px; }
  .p24 .p24-rating ul li{ padding:0 .25rem; margin-bottom:1.25rem; }
  .p24 .p24-rating .name{ font-size:13px; margin:-.75rem 0 .6rem; }
  .p24 .p24-rating .description{ font-size:12px; line-height:1.4; }
  .p24-move{ gap:1.5rem; }
  .p24-move__list{ grid-template-columns:1fr; gap:.75rem; margin:1.5rem 0 1.75rem; }
  .p24-move__img{ max-width:100%; padding:1rem; }
  .p24-move__card{ max-width:100%; padding:1.5rem 1.25rem 1.25rem; }
  .p24-move__card .p24-move__card-label,.p24-move__card .p24-move__card-note{ font-size:12px; }
  .p24-move__card .p24-move__card-price{ font-size:52px; }
  .p24-move__card .p24-move__card-text{ font-size:16px; line-height:22px; }
  .p24-steps{ grid-template-columns:1fr; gap:1rem; margin-top:1.75rem; }
  .p24-steps__item{ padding:1.5rem 1.25rem; border-radius:10px; }
  .p24-steps__num{ font-size:30px; }
  .p24-actions--center{ margin-top:2rem; }
  .p24-terms__row{ grid-template-columns:1fr; gap:.35rem; padding:1rem 0; }
  .p24 .accordeon__item{ padding:1.25rem 0 1.15rem; }
  .p24 .accordeon__name{ max-width:calc(100% - 3.5rem); }
  .p24 .accordeon__close{ width:40px; height:40px; min-width:0; min-height:0; background-size:18px; }
  .p24 .accordeon__body{ padding:.9rem 0 0; }
  .p24-form__photo{ width:4.25rem; height:4.25rem; }
  .p24-form__card{ padding:1.5rem 1.25rem 1.25rem; border-radius:10px; }
  .p24-form__card .p24-wf__row{ margin-bottom:1rem; }
  .p24-form__card .p24-wf__row--2{ grid-template-columns:1fr; gap:1rem; }
  .p24-form__card .p24-wf__textarea{ min-height:9rem; }
  .p24-form__card .p24-wf__bottom{ flex-direction:column; align-items:stretch; }
  .p24-form__card .p24-wf__btn{ width:100%; margin:0; }
  .p24-form__card .p24-wf__ok p,.p24-form__fallback{ font-size:16px; line-height:22px; }
  .p24-brief{ padding-bottom:40px; }
  .p24-brief__card{ padding:1.5rem 1.25rem 1.25rem; }
  .p24-brief__list{ grid-template-columns:1fr; gap:.85rem; margin-top:1.25rem; }
  .p24-brief__list li{ font-size:15px; line-height:22px; padding-left:1.25rem; }
  .p24-brief__list li:before{ width:.5rem; height:.5rem; }
  /* размеры полей/чекбокса заданы в ≤1279 и ≤1023 (px); здесь только вертикальная раскладка */
  .p24-form__card .custom-modal-form .base-label--checkbox{ min-width:0; margin:0 0 1rem; font-size:13px; }
  .p24 #terms,.p24 #form{ scroll-margin-top:12vw; }
}

/* ═══════════════════════ ≤620 (мобильная шапка сайта: ~19vw, см. app.css) ═══════════════════════ */
@media screen and (max-width:620px){
  .p24-hero{ padding-top:22vw; }
  .p24 #terms,.p24 #form{ scroll-margin-top:22vw; }
}

/* ═══════════════════════ ≤479 (узкий мобильный) ═══════════════════════ */
@media screen and (max-width:479px){
  .p24-actions .p24-btn{ flex:1 1 100%; width:100%; }
  .p24-hero__title{ font-size:30px; line-height:36px; }
  .p24-offer{ padding:1.5rem 1.15rem 1.25rem; }
  .p24-offer__num{ font-size:52px; }
  .p24-offer__unit{ font-size:19px; }
  .p24-offer__hours li{ padding:.55rem .1rem .5rem; font-size:11px; }   /* не ниже 11px — «в подарок» белым на оранжевом */
  .p24-offer__hours li span{ font-size:22px; }
  .p24-save__sum{ font-size:30px; }
  .p24-move__card .p24-move__card-price{ font-size:46px; }
  .p24-cms__note{ display:none; }
  .p24-cms__more{ padding-top:.5rem; }
  .p24-stats{ grid-template-columns:1fr; gap:1rem; }
  .p24-stats__num{ font-size:32px; }
  .p24-stats__text{ margin-top:.25rem; }
}

/* ── Правки 2026-08-18 (согласование): зачёркнутая «3 200» в H1 и отступ перед хлебными крошками ── */
.p24-hero__title .p24-old{ position:relative; display:inline-block; color:#9c9c9c; white-space:nowrap; }
.p24-hero__title .p24-old s{ text-decoration:none; color:inherit; }
.p24-hero__title .p24-old:after{ content:''; position:absolute; left:-.06em; right:-.06em; top:50%; height:.075em; margin-top:-.0375em;
  background:#ee5e3e; transform:rotate(-6deg); border-radius:1px; }
/* Серая секция формы — последняя на странице; как у штатной .footer-form на /support/, перед крошками нужен воздух */
.p24-form{ margin-bottom:6.25vw; }
@media (max-width:767px){ .p24-form{ margin-bottom:40px; } }

/* ── Картинки 2026-08-18: иконки шагов и фон-паттерн секции экономии ── */
.p24-steps__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.p24-steps__icon{ flex:none; width:7.63889vw; height:7.63889vw; margin-top:-.25rem; background:#fff; border-radius:0.69444vw; overflow:hidden; }
.p24-steps__icon img{ display:block; width:100%; height:100%; object-fit:cover; }
.p24-section--pattern{ position:relative; background:#fff; }
/* паттерн — тихий фон: полупрозрачный слой, растворяется слева (там заголовок и текст) */
.p24-section--pattern:before{ content:""; position:absolute; top:0; right:0; bottom:0; left:0; pointer-events:none; opacity:.45;
  background:url(/img/promo-2400/pattern-savings.webp) center top/512px 512px repeat;
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0, rgba(0,0,0,0) 30%, #000 65%); mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0, rgba(0,0,0,0) 30%, #000 65%); }
.p24-section--pattern > .container{ position:relative; }
.p24-section--pattern .p24-save__card{ background:#fff; border-color:#e5e5e5; }
@media (max-width:1023px){ .p24-steps__icon{ width:96px; height:96px; border-radius:10px; } }
@media (max-width:767px){ .p24-steps__icon{ width:84px; height:84px; } .p24-section--pattern:before{ background-size:384px 384px; -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,0) 0, rgba(0,0,0,0) 35%, #000 70%); mask-image:linear-gradient(180deg, rgba(0,0,0,0) 0, rgba(0,0,0,0) 35%, #000 70%); } }
