/* Тестовая новая главная (/main-test/). Все правила в пространстве .nm / .nm-* / .header-nm. */
.nm, .header-nm {
    --nm-g: #2d6a2d;
    --nm-g-deep: #1d4620;
    --nm-g-soft: #eaf2e9;
    --nm-ink: #171A1F;
    --nm-ink-2: rgba(23,26,31,.66);
    --nm-ink-3: rgba(23,26,31,.45);
    --nm-paper: #f5f7f4;
    --nm-line: #e2e8e1;
    --nm-r-lg: 24px;
    --nm-r-md: 16px;
    --nm-r-sm: 12px;
    --nm-band-green: #f1f6ef;
    --nm-band-warm: #f6f5f1;
    --nm-ring: #dcebd8;
    --nm-section-pad: clamp(56px, 7vw, 96px);
    --nm-header-offset: 130px;
}

/* ---------- Шапка и первый экран ---------- */
.header.header-nm { height: auto; display: flex; flex-direction: column; }
.header-nm .container-max-height { flex: 1; display: flex; }
.nm-hero { display: flex; align-items: flex-start; width: 100%; padding: 150px 0 72px; }
.nm-hero__inner { max-width: 1120px; animation: nmRise .7s cubic-bezier(.2,.7,.2,1) both; }
.nm-hero__h1 {
    display: inline-block;
    margin: 0 0 20px;
    font-family: var(--main-font);
    font-size: clamp(16px, 1.6vw, 22px);
    line-height: 1.3;
    font-weight: 500;
    color: #fff;
}
.nm-hero__title {
    font-family: var(--main-font-title);
    font-weight: 600;
    font-size: clamp(42px, 6.2vw, 100px);
    line-height: .97;
    color: #fff;
    margin-bottom: 28px;
    text-wrap: balance;
}
.nm-hero__lead {
    max-width: 60ch;
    margin: 0 0 26px;
    font-size: clamp(16px, 1.45vw, 21px);
    line-height: 1.5;
    color: rgba(255,255,255,.88);
}
.nm-hero__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 26px;
    margin-bottom: 34px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.22);
}
.nm-pill {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 16px;
    color: rgba(255,255,255,.94);
    white-space: nowrap;
}
.nm-pill::before {
    content: "";
    width: 20px;
    height: 20px;
    flex: none;
    border-radius: 50%;
    background: var(--nm-g) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat;
}
.nm-hero__cta, .nm .nm-cta-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* Кнопка «Оставить заявку» в шапке */
.header-navbar__request { display: flex; align-items: center; padding: 0 16px; }
.header .header__menu a.nm-request,
.nm-request {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 10px;
    background: var(--nm-g);
    color: #fff;
    font-weight: 600;
    font-size: 15px;
    white-space: nowrap;
    text-decoration: none;
    transition: background-color .2s;
}
.header .header__menu a.nm-request:hover, .nm-request:hover { background: #245824; color: #fff; }

/* ---------- Кнопки и ссылки ---------- */
.nm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 56px;
    padding: 0 28px;
    border-radius: 12px;
    border: 1px solid transparent;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .2s, border-color .2s, color .2s, transform .2s;
}
.nm-btn:active { transform: translateY(1px); }
.nm-btn--main { background: var(--nm-g); color: #fff; }
.nm-btn--main:hover { background: #245824; color: #fff; }
.nm-btn--ghost { background: rgba(255,255,255,.06); color: #fff; border-color: rgba(255,255,255,.45); }
.nm-btn--ghost:hover { background: rgba(255,255,255,.16); color: #fff; border-color: rgba(255,255,255,.75); }
.nm-btn--outline { background: transparent; color: var(--nm-g); border-color: var(--nm-g); }
.nm-btn--outline:hover { background: var(--nm-g); color: #fff; }
.nm-btn--white { background: #fff; color: var(--nm-g-deep); }
.nm-btn--white:hover { background: #e9f1e8; color: var(--nm-g-deep); }
.nm-hero a:focus-visible, .nm a:focus-visible, .nm summary:focus-visible, .nm button:focus-visible, .nm-request:focus-visible { outline: 2px solid #7fc37a; outline-offset: 3px; }

/* ---------- Общие для секций ---------- */
.nm { color: var(--nm-ink); font-feature-settings: "lnum" 1; }
.nm *, .nm *::before, .nm *::after { box-sizing: border-box; }
/* :where — чтобы цвета кнопок и карточек перебивали сброс цвета ссылок */
:where(.nm) a { text-decoration: none; color: inherit; }
.nm h2, .nm h3, .nm p { margin: 0; }
.nm img { display: block; max-width: 100%; }
.nm .nm-ico { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.nm-section { padding: var(--nm-section-pad) 0 0; }
/* Полоса фона на всю ширину окна без горизонтальной прокрутки: тень растягивает фон, clip-path режет её по высоте секции */
.nm-band { margin-top: var(--nm-section-pad); padding-bottom: var(--nm-section-pad); background: var(--nm-band); box-shadow: 0 0 0 100vmax var(--nm-band); clip-path: inset(0 -100vmax); }
.nm-band--green { --nm-band: var(--nm-band-green); }
.nm-band--warm { --nm-band: var(--nm-band-warm); }
.nm h2 {
    font-family: var(--main-font);
    font-size: clamp(28px, 3.2vw, 40px);
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -.015em;
    max-width: 24ch;
    margin-bottom: 12px;
}
.nm .nm-sub { max-width: 62ch; font-size: 17px; line-height: 1.5; color: var(--nm-ink-2); margin-bottom: 32px; }
.nm .nm-link { display: inline-flex; align-items: center; gap: 8px; color: var(--nm-g); font-weight: 600; font-size: 15px; }
.nm .nm-link::after { content: ""; width: 16px; height: 2px; background: currentColor; border-radius: 2px; transition: width .2s; }
.nm a:hover .nm-link::after { width: 26px; }
.nm-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin-bottom: 32px; }
.nm-head-row h2 { margin-bottom: 0; }

/* Карточки разделов */
.nm-grid-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.nm-cat, .nm-dir {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--nm-line);
    border-radius: var(--nm-r-md);
    transition: border-color .2s, box-shadow .2s;
}
.nm-cat__img { height: 150px; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--nm-paper); color: var(--nm-g); }
.nm-cat__img img {
    width: auto !important;
    height: 72px !important;
    max-width: 60% !important;
    object-fit: contain;
    filter: invert(31%) sepia(32%) saturate(780%) hue-rotate(72deg) brightness(92%) contrast(90%);
    transition: transform .35s ease;
}
.nm-cat__img .nm-ico, .nm-dir__img .nm-ico { width: 64px; height: 64px; stroke-width: 1.4; }
.nm-cat__body { display: flex; flex-direction: column; gap: 14px; flex: 1; padding: 18px 20px 20px; }
.nm-cat__body strong { font-size: 17px; line-height: 1.3; font-weight: 600; }
.nm-cat__body .nm-link { margin-top: auto; font-size: 14px; }
.nm-cat:hover, .nm-dir:hover { border-color: rgba(45,106,45,.45); box-shadow: 0 18px 40px -26px rgba(29,70,32,.4); }
.nm-cat:hover .nm-cat__img img { transform: scale(1.05); }
.nm-cat--accent { background: var(--nm-g); border-color: var(--nm-g); color: #fff; }
.nm-cat--accent .nm-cat__img { background: rgba(255,255,255,.08); color: #fff; }
.nm .nm-cat--accent .nm-link { color: #fff; }
.nm-dir__img { aspect-ratio: 3 / 2; overflow: hidden; background: var(--nm-paper); display: grid; place-items: center; color: var(--nm-g); }
.nm-dir__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
/* Вырезки товара на белом: тот же кадр 3:2, общий светлый фон и поля; multiply убирает белый прямоугольник картинки */
.nm-dir__img--product { background: var(--nm-paper); }
.nm-dir__img--product { position: relative; }
.nm .nm-dir__img--product img { position: absolute; inset: 0; object-fit: contain; padding: 9% 12%; mix-blend-mode: multiply; }
.nm #directions { scroll-margin-top: var(--nm-header-offset); }
.nm-dir:hover .nm-dir__img img, .nm-cat:hover .nm-dir__img img { transform: scale(1.04); }
/* «Весь спектр позиций»: 3×3 на десктопе */
.nm-grid-spec { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* Акцентная карточка в сетке с фото: плашка той же высоты, что и фото соседей */
.nm .nm-cat--accent .nm-cat__img { height: auto; aspect-ratio: 3 / 2; }

/* Этапы работы: иконка в круге, стрелка к следующему шагу, номер, заголовок, текст */
.nm-flow { --nm-flow-ico: 88px; --nm-flow-gap: 24px; list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 32px var(--nm-flow-gap); }
.nm-flow__step { position: relative; margin: 0; padding: 0; }
.nm-flow__ico { width: var(--nm-flow-ico); height: var(--nm-flow-ico); display: grid; place-items: center; border-radius: 50%; background: var(--nm-ring); color: var(--nm-g); }
.nm .nm-flow__ico .nm-ico { width: 40px; height: 40px; stroke-width: 1.5; }
.nm-flow__step:not(:last-child)::after {
    content: ""; position: absolute; top: calc(var(--nm-flow-ico) / 2 - 6px); height: 12px;
    left: calc(var(--nm-flow-ico) + 12px); right: calc(12px - var(--nm-flow-gap));
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' fill='none' stroke='%232d6a2d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 1.5 4.5 4.5L2 10.5'/%3E%3C/svg%3E") right center / 8px 12px no-repeat,
        repeating-linear-gradient(90deg, rgba(45,106,45,.45) 0 5px, transparent 5px 10px) left center / calc(100% - 4px) 1.5px no-repeat;
}
.nm-flow__text { padding-top: 20px; }
.nm .nm-flow__num { display: block; margin-bottom: 6px; color: var(--nm-g); font-weight: 700; font-size: 15px; letter-spacing: .02em; }
.nm-flow h3 { font-size: 18px; line-height: 1.3; font-weight: 600; margin-bottom: 8px; }
.nm-flow p { color: var(--nm-ink-2); font-size: 15px; line-height: 1.5; }

/* Почему Clever Place */
.nm-why-wrap { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 4vw, 64px); align-items: start; margin-top: 32px; }
.nm-why-photo { position: sticky; top: 130px; overflow: hidden; border-radius: var(--nm-r-lg); aspect-ratio: 1 / 1; background: var(--nm-paper); }
.nm-why-photo img { width: 100%; height: 100%; object-fit: cover; }
.nm-why { display: grid; grid-template-columns: 48px minmax(0, 1fr); grid-template-areas: "ico title" "ico text"; gap: 4px 18px; padding: 22px 0; border-bottom: 1px solid var(--nm-line); }
.nm-why:first-of-type { border-top: 1px solid var(--nm-line); }
.nm-why__ico { grid-area: ico; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--nm-g-soft); color: var(--nm-g); }
.nm-why b { grid-area: title; font-size: 18px; line-height: 1.3; font-weight: 600; align-self: end; }
.nm-why span { grid-area: text; color: var(--nm-ink-2); font-size: 15.5px; line-height: 1.5; }

/* Проекты */
.nm-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.nm-case { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--nm-line); border-radius: var(--nm-r-md); transition: box-shadow .25s, border-color .25s; }
.nm-case__photo { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--nm-paper); }
.nm-case__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.nm-case__meta { position: absolute; left: 16px; bottom: 16px; padding: 8px 14px; border-radius: 10px; background: rgba(255,255,255,.94); color: var(--nm-g-deep); font-size: 20px; font-weight: 700; line-height: 1; }
.nm-case__body { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 24px; }
.nm-case__body strong { font-size: 19px; line-height: 1.3; font-weight: 600; margin-bottom: 8px; }
.nm-case__body p { color: var(--nm-ink-2); font-size: 15.5px; line-height: 1.5; margin-bottom: 20px; }
.nm-case__body .nm-link { margin-top: auto; }
.nm-case:hover { border-color: rgba(45,106,45,.45); box-shadow: 0 22px 48px -28px rgba(29,70,32,.45); }
.nm-case:hover .nm-case__photo img { transform: scale(1.04); }

/* Корпоративным и госзаказчикам */
.nm-deal {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    gap: clamp(28px, 4vw, 64px);
    align-items: center;
    padding: clamp(32px, 5vw, 64px);
    border-radius: var(--nm-r-lg);
    background: radial-gradient(120% 90% at 0% 0%, rgba(127,195,122,.16) 0%, rgba(127,195,122,0) 55%), var(--nm-g-deep);
    color: #fff;
}
.nm .nm-deal h2 { color: #fff; }
.nm .nm-deal .nm-sub { color: rgba(255,255,255,.76); margin-bottom: 28px; }
.nm-facts { display: grid; gap: 10px; }
.nm-facts div {
    display: flex; align-items: center; gap: 14px; padding: 16px 18px;
    border-radius: var(--nm-r-sm); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
    font-size: 16px; line-height: 1.4;
}
.nm-facts div::before {
    content: ""; width: 26px; height: 26px; flex: none; border-radius: 8px;
    background: rgba(127,195,122,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237fc37a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* О компании */
.nm-about { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.nm-about__photo { overflow: hidden; border-radius: var(--nm-r-lg); aspect-ratio: 4 / 3; background: var(--nm-paper); }
.nm-about__photo img { width: 100%; height: 100%; object-fit: cover; }
.nm-about__body { margin: 8px 0 28px; color: var(--nm-ink-2); font-size: 16px; line-height: 1.6; }
.nm-about__body p { margin: 0 0 12px; }

/* FAQ */
.nm-faq { display: grid; gap: 10px; margin-top: 28px; max-width: 980px; }
.nm-faq-item { background: #fff; border: 1px solid var(--nm-line); border-radius: var(--nm-r-md); transition: border-color .2s; }
.nm-faq-item[open] { border-color: rgba(45,106,45,.45); }
.nm-faq-item summary {
    list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 20px 24px; font-size: 18px; line-height: 1.35; font-weight: 600;
}
.nm-faq-item summary::-webkit-details-marker { display: none; }
.nm-faq-item summary::after {
    content: ""; width: 28px; height: 28px; flex: none; border-radius: 50%; background: var(--nm-g-soft)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d6a2d' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 14px no-repeat;
    transition: transform .25s;
}
.nm-faq-item[open] summary::after { transform: rotate(45deg); }
.nm-faq-item p { padding: 0 24px 22px; color: var(--nm-ink-2); font-size: 16px; line-height: 1.6; max-width: 80ch; }

/* Форма */
.nm #form { scroll-margin-top: 110px; margin-bottom: clamp(48px, 6vw, 80px); }
.nm-form-section { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.nm-form-photo { overflow: hidden; border-radius: var(--nm-r-lg); aspect-ratio: 4 / 3; background: var(--nm-paper); }
.nm-form-photo img { width: 100%; height: 100%; object-fit: cover; }
.nm-form-wrap {
    padding: clamp(22px, 3vw, 36px); background: #fff; border: 1px solid var(--nm-line); border-radius: var(--nm-r-lg);
    box-shadow: 0 30px 60px -40px rgba(23,26,31,.35); transition: box-shadow .4s, border-color .4s;
}
.nm-form-wrap.is-flash { border-color: var(--nm-g); box-shadow: 0 0 0 4px rgba(45,106,45,.15), 0 30px 60px -40px rgba(23,26,31,.35); }
.nm-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.nm-form-grid .nm-wide { grid-column: 1 / -1; }
.nm-form-wrap input[type="text"] {
    width: 100%; min-height: 56px; padding: 14px 16px; border: 1px solid #dde3dc; border-radius: var(--nm-r-sm);
    background: var(--nm-paper); font: inherit; font-size: 16px; color: var(--nm-ink); appearance: none;
    transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.nm-form-wrap input::placeholder { color: var(--nm-ink-3); }
.nm-form-wrap input[type="text"]:focus { outline: none; background-color: #fff; border-color: var(--nm-g); box-shadow: 0 0 0 4px rgba(45,106,45,.12); }
.nm-form-wrap .nm-btn { width: 100%; min-height: 58px; font-size: 17px; }
.nm .nm-note { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; line-height: 1.45; color: var(--nm-ink-3); cursor: pointer; }
.nm .nm-note a { color: var(--nm-g); text-decoration: underline; }
.nm-form-wrap input[type="checkbox"] { width: 18px; height: 18px; margin: 1px 0 0; flex: none; accent-color: var(--nm-g); }
.nm-msg { margin-bottom: 14px; font-size: 15px; font-weight: 600; }
.nm-msg--ok { color: var(--nm-g); }
.nm-msg--err { color: #b42318; }
.nm-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Плавающая кнопка (мобильные) */
.nm-mcta {
    position: fixed; left: 12px; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); z-index: 900;
    display: none; gap: 6px; padding: 5px; border-radius: 14px; background: rgba(255,255,255,.96);
    box-shadow: 0 10px 28px -10px rgba(23,26,31,.35); transform: translateY(140%); transition: transform .3s ease;
}
.nm-mcta.is-on { transform: translateY(0); }
.nm-mcta .nm-btn { flex: 1; min-height: 44px; padding: 0 16px; border-radius: 10px; font-size: 15px; }
.nm-mcta__call { width: 44px; min-height: 44px; display: grid; place-items: center; border-radius: 10px; background: var(--nm-g-soft); color: var(--nm-g); }

@keyframes nmRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
    .nm *, .nm-hero * { animation: none !important; transition: none !important; }
}
/* Шапка в одну строку: тема на ширине >1800 раздувает отступы меню и телефона, и с кнопкой «Оставить заявку» поиск и корзина переносились под шапку */
@media (min-width: 992px) {
    .header-nm .header-navbar { flex-wrap: nowrap; }
    .header-nm .header-navbar__icon { flex: 1 0 auto; justify-content: flex-end; }
}
@media (min-width: 1801px) {
    .header-nm div.header-navbar__menu { padding: 0 24px; }
    .header-nm div.header-navbar__phone { padding: 0 28px; }
}
/* Кнопка «Оставить заявку» занимает место в шапке: на средних ширинах поджимаем телефон и иконки, чтобы шапка не переносилась */
@media (min-width: 992px) and (max-width: 1399px) {
    .header-nm .header-navbar__request { padding: 0 12px; }
    .header-nm .header .header__menu a.nm-request, .header-nm .header__menu a.nm-request { padding: 0 14px; font-size: 14px; }
    .header-nm div.header-navbar__phone { padding: 0 16px; }
    .header-nm .header-navbar__icon { padding-left: 14px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .header-nm .header-navbar__phone a { font-size: 16px; }
    .header-nm .header-navbar__menu ul li a { padding: 0 8px; font-size: 14px; }
    .header-nm .header__menu a.nm-request { padding: 0 10px; font-size: 13px; }
}
@media (max-width: 1199px) {
    .nm-grid-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nm-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px var(--nm-flow-gap); }
    .nm-flow__step:nth-child(3n)::after { display: none; }
}
@media (max-width: 991px) {
    .header.header-nm { min-height: 0; }
    .nm-hero { padding: 130px 0 40px; }
    .nm-grid-3, .nm-deal, .nm-why-wrap, .nm-form-section, .nm-about { grid-template-columns: 1fr; }
    .nm-grid-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nm-why-photo { position: relative; top: 0; aspect-ratio: 16 / 9; }
    .nm-form-photo { display: none; }
    .nm-mcta { display: flex; }
    .nm { --nm-header-offset: 96px; }
    .nm-grid-spec { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nm-grid-spec .nm-cat--accent { grid-column: 1 / -1; flex-direction: row; align-items: center; }
    .nm .nm-grid-spec .nm-cat--accent .nm-cat__img { width: 96px; aspect-ratio: 1; flex: none; background: transparent; }
    .nm .nm-grid-spec .nm-cat--accent .nm-cat__img .nm-ico { width: 44px; height: 44px; }
    .nm-grid-spec .nm-cat--accent .nm-cat__body { padding-left: 0; }
    /* Мобильная шапка: «Оставить заявку» и бургер справа, бургер крайний */
    .header-nm .header-navbar__request { order: 2; margin-left: auto; }
    .header-nm .header-navbar__mobile { order: 3; margin-left: 14px; }
    .nm-hero .nm-pill--desk { display: none; }
}
/* Этапы на телефоне: вертикальная лента — иконка слева, пунктир со стрелкой вниз к следующему шагу */
@media (max-width: 767px) {
    .nm-flow { --nm-flow-ico: 60px; grid-template-columns: 1fr; gap: 0; margin-top: 28px; }
    .nm-flow__step { display: grid; grid-template-columns: var(--nm-flow-ico) minmax(0, 1fr); gap: 0 18px; padding-bottom: 28px; }
    .nm-flow__step:last-child { padding-bottom: 0; }
    .nm .nm-flow__ico .nm-ico { width: 28px; height: 28px; }
    .nm-flow__step:not(:last-child)::after, .nm-flow__step:nth-child(3n):not(:last-child)::after {
        display: block; top: calc(var(--nm-flow-ico) + 8px); bottom: 8px; left: calc(var(--nm-flow-ico) / 2 - 6px); right: auto; width: 12px; height: auto;
        background:
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%232d6a2d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m1.5 2 4.5 4.5L10.5 2'/%3E%3C/svg%3E") center bottom / 12px 8px no-repeat,
            repeating-linear-gradient(180deg, rgba(45,106,45,.45) 0 5px, transparent 5px 10px) center top / 1.5px calc(100% - 4px) no-repeat;
    }
    .nm-flow__text { padding-top: 4px; }
    .nm-flow h3 { font-size: 17px; }
}
@media (max-width: 575px) {
    .header-navbar__request { padding: 0 4px; }
    .header .header__menu a.nm-request { min-height: 38px; padding: 0 12px; font-size: 13px; }
    .nm-hero__pills { flex-direction: column; gap: 10px; }
    .nm-hero__cta > a, .nm .nm-cta-row > a, .nm-head-row > a { width: 100%; }
    .nm-grid-cats { gap: 10px; }
    .nm-cat__img { height: 110px; }
    .nm-cat__img img { height: 56px !important; }
    .nm-cat__body { padding: 14px; }
    .nm-cat__body strong { font-size: 15px; hyphens: auto; overflow-wrap: break-word; }
    .nm .nm-cat__body .nm-link { font-size: 13.5px; white-space: nowrap; }
    .nm .nm-cat__body .nm-link::after { display: none; }
    .nm-form-grid { grid-template-columns: 1fr; }
    .nm-faq-item summary { padding: 16px 18px; font-size: 16px; }
    .nm-faq-item p { padding: 0 18px 18px; }
}

/* 1200–1535 px: тема снимает поля у поиска и корзины, иконки слипаются. Зазор берём из левого поля блока, ширина шапки не растёт */
@media (min-width: 1200px) and (max-width: 1535px) {
    .header-nm .header-navbar__icon { gap: 14px; }
}
@media (min-width: 1400px) and (max-width: 1535px) {
    .header-nm .header-navbar__icon { padding-left: 19px; }
}
