/* Редизайн 27.10.2026 (design/redesng/README.md): токены и общие компоненты.
   Подключается после styles.css. Классы с префиксом nf- — только новый дизайн. */

:root{
  --bg:#F4F2EE; --surface:#FFFFFF; --ink:#121212; --ink-2:#4A4843; --muted:#6B6862;
  --line:#ECE8E1; --field:#D9D4CC; --field-2:#E2DED7;
  --accent:#1F6F6B; --accent-dk:#7FC4BD; --mint:#DDEBE8; --mint-ink:#1F5F5B; --mint-ink-2:#2F4A47;
  --warn:#A44A12;
  --r-xl:40px; --r-lg:32px; --r-md:24px;
  --sec:140px; --gap:16px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (max-width:720px){ :root{ --r-xl:28px; --r-lg:24px; --r-md:20px; --sec:60px; --gap:8px; } }

body{background:var(--bg);color:var(--ink);font-family:'Inter Tight',system-ui,sans-serif}
.nf-wrap{width:88%;max-width:2200px;margin-left:auto;margin-right:auto}
@media (max-width:720px){ .nf-wrap{width:calc(100% - 24px)} }

/* ---------- типографика ---------- */
.nf-lbl{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:400}
.nf-h1{font-size:clamp(48px,4.6vw,96px);font-weight:600;letter-spacing:-.045em;line-height:.98;margin:0}
.nf-h2{font-size:clamp(40px,3.6vw,72px);font-weight:500;letter-spacing:-.04em;line-height:1;margin:0}
.nf-h3{font-size:clamp(22px,1.6vw,30px);font-weight:500;letter-spacing:-.02em;line-height:1.15;margin:0}
.nf-acc{font-weight:300;color:var(--accent)}
.nf-dark .nf-acc,.nf-acc--dk{color:var(--accent-dk)}
.nf-txt{font-size:16px;line-height:1.6;color:var(--ink-2)}
@media (max-width:720px){ .nf-h1{font-size:44px} .nf-h2{font-size:34px} }

/* ---------- секции ---------- */
.nf-sec{margin-top:var(--sec)}
.nf-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:48px;flex-wrap:wrap}
.nf-head .nf-lbl{display:block;margin-bottom:18px}
.nf-head__aside{max-width:420px;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
@media (max-width:720px){ .nf-head{margin-bottom:24px;gap:16px} .nf-head .nf-lbl{margin-bottom:12px} }

/* ---------- карточки ---------- */
.nf-card{background:var(--surface);border-radius:var(--r-lg)}
.nf-block{background:var(--surface);border-radius:var(--r-xl);padding:56px}
.nf-dark{background:var(--ink);color:#fff}
.nf-dark .nf-lbl{color:#8F8B84}
.nf-dark .nf-txt{color:#B8B4AD}
.nf-mint{background:var(--mint);color:var(--mint-ink-2)}
@media (max-width:720px){ .nf-block{padding:28px 20px} }

/* ---------- кнопки: пилюля + круглая иконка-стрелка ---------- */
.nf-btn{display:inline-flex;align-items:center;gap:14px;border-radius:999px;font-weight:500;font-size:15px;line-height:1.2;text-decoration:none;
  padding:6px 6px 6px 24px;min-height:52px;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}
.nf-btn__ic{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;flex:none;transition:transform .35s var(--ease)}
.nf-btn__ic svg{width:16px;height:16px}
.nf-btn:hover .nf-btn__ic{transform:translateX(3px)}
.nf-btn--dark{background:var(--ink);color:#fff}
.nf-btn--dark .nf-btn__ic{background:#fff;color:var(--ink)}
.nf-btn--dark:hover{background:var(--accent);color:#fff}
.nf-btn--light{background:#fff;color:var(--ink);border-color:var(--field)}
.nf-btn--light .nf-btn__ic{background:var(--ink);color:#fff}
.nf-btn--light:hover{border-color:var(--ink);color:var(--ink)}
.nf-btn--plain{padding:0 24px}
.nf-btn--block{width:100%;justify-content:space-between}
.nf-btn--plain.nf-btn--block{justify-content:center}
@media (max-width:720px){ .nf-btn{min-height:56px;font-size:15px} }

/* ---------- теги и чипы ---------- */
.nf-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--field-2);background:#fff;white-space:nowrap}
.nf-tag--dark{background:var(--ink);border-color:var(--ink);color:#fff}
.nf-tag__dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.nf-tag--dark .nf-tag__dot{background:var(--accent-dk)}
.nf-chip{display:inline-flex;align-items:center;padding:10px 18px;border-radius:999px;background:#fff;font-size:14px;color:var(--ink);text-decoration:none;transition:background .2s}
.nf-chip:hover{background:var(--mint);color:var(--mint-ink)}

/* ---------- стекло поверх фото (с непрозрачным фолбэком) ---------- */
.nf-glass{background:rgba(255,255,255,.94);border-radius:var(--r-md)}
.nf-glass--dark{background:rgba(18,18,18,.94);color:#fff}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .nf-glass{background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
  .nf-glass--dark{background:rgba(18,18,18,.86)}
}

/* ---------- ripple: концентрические окружности ---------- */
.nf-ripple{position:absolute;pointer-events:none;color:var(--accent)}
.nf-dark .nf-ripple{color:var(--accent-dk)}

/* ---------- фото ---------- */
.nf-ph{position:relative;overflow:hidden;background:#E7E3DC;border-radius:var(--r-lg);display:block}
.nf-ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.nf-zoom:hover .nf-ph>img,a.nf-ph:hover>img,button.nf-ph:hover>img{transform:scale(1.04)}
button.nf-ph{border:0;padding:0;cursor:zoom-in;font:inherit;color:inherit;text-align:left}

/* ---------- карточка работы ---------- */
.nf-wc{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink)}
.nf-wc .nf-ph{border-radius:0;aspect-ratio:16/10}
.nf-wc__bd{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.nf-wc__t{font-size:18px;line-height:1.3;font-weight:500;letter-spacing:-.01em;margin:0}
.nf-wc__ft{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px}
.nf-wc__pr{color:var(--accent);font-weight:500;font-size:14px}
.nf-wc__go{width:32px;height:32px;display:grid;place-items:center;color:var(--ink);transition:transform .3s var(--ease)}
.nf-wc:hover .nf-wc__go{transform:translate(2px,-2px)}
.nf-wc:hover{color:var(--ink)}

/* ---------- CTA-форма поверх фото ---------- */
.nf-cta{position:relative;border-radius:var(--r-xl);overflow:hidden;color:#fff;background:#1b1b1a}
.nf-cta__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nf-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,18,18,.88) 0%,rgba(18,18,18,.62) 55%,rgba(18,18,18,.45) 100%);z-index:1}
.nf-cta__in{position:relative;z-index:2;display:grid;grid-template-columns:1fr minmax(0,560px);gap:64px;align-items:center;padding:64px}
.nf-cta .nf-lbl{color:#A9A59E}
.nf-cta .nf-txt{color:#D4D0C9;margin-top:20px;max-width:440px}
.nf-cta__box{background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:28px}
@media (max-width:1200px){ .nf-cta__in{grid-template-columns:1fr;gap:32px} }
@media (max-width:720px){ .nf-cta__in{padding:28px 12px 12px} .nf-cta__in>div:first-child{padding:0 8px} .nf-cta__box{padding:18px} .nf-cta::before{background:rgba(18,18,18,.78)} }

/* ---------- шапка ---------- */
.nf-hdr{position:sticky;top:0;z-index:50;background:rgba(244,242,238,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.nf-hdr__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:96px}
.nf-logo{display:flex;align-items:center;flex:none}
.nf-logo img{height:34px;width:auto}
.nf-nav{display:flex;gap:4px;background:#fff;border-radius:999px;padding:6px}
.nf-nav a{font-size:14px;padding:10px 18px;border-radius:999px;color:var(--ink);text-decoration:none;transition:background .2s,color .2s;white-space:nowrap}
.nf-nav a:hover{background:var(--bg);color:var(--ink)}
.nf-nav a.on{background:var(--ink);color:#fff}
.nf-hdr__r{display:flex;align-items:center;gap:20px}
.nf-hdr__tel{font-weight:600;font-size:16px;color:var(--ink);text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.nf-hdr__rb{width:48px;height:48px;border-radius:999px;display:none;place-items:center;border:0;cursor:pointer;color:var(--ink);background:#fff}
.nf-hdr__rb--dark{background:var(--ink);color:#fff}
.nf-hdr__rb svg{width:20px;height:20px}
.nf-mnav{border-top:1px solid var(--line);background:var(--bg);padding:8px 0 24px}
.nf-mnav a.nf-mnav__l{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;font-size:20px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.nf-mnav a.nf-mnav__l.on{color:var(--accent)}
.nf-mnav__c{display:flex;flex-direction:column;gap:14px;padding:24px 4px 0}
.nf-mnav__tel{font-size:24px;font-weight:600;color:var(--ink);text-decoration:none}
@media (max-width:1400px){ .nf-nav a{padding:10px 13px} .nf-hdr__r{gap:14px} }
@media (max-width:1200px){
  .nf-nav{display:none}
  .nf-hdr__rb{display:grid}
}
@media (max-width:720px){
  .nf-hdr__in{height:72px}
  .nf-logo img{height:30px}
  .nf-hdr__tel,.nf-hdr__cta{display:none}
  .nf-hdr__r{gap:8px}
}
@media (min-width:1201px){ .nf-mnav{display:none!important} }

/* ---------- подвал ---------- */
.nf-ftr{margin-top:120px;background:var(--ink);color:#A9A59E;padding-top:80px;overflow:hidden}
.nf-ftr__g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}
.nf-ftr__about{display:flex;flex-direction:column;gap:20px;max-width:420px;font-size:15px;line-height:1.6}
.nf-ftr__col{display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.6}
.nf-ftr__col .nf-lbl{color:#6B6862;margin-bottom:4px}
.nf-ftr a{color:#E8E5E0;text-decoration:none}
.nf-ftr a:hover{color:#fff}
.nf-ftr__tel{color:#fff!important;font-size:22px;font-weight:500}
.nf-ftr__soc{display:flex;gap:8px}
.nf-ftr__soc a{width:48px;height:48px;border-radius:999px;border:1px solid #2E2D2B;display:grid;place-items:center;color:#fff;transition:border-color .2s,background .2s}
.nf-ftr__soc a:hover{border-color:#fff}
.nf-ftr__soc svg{width:18px;height:18px}
.nf-ftr__word{margin-top:72px;font-size:clamp(80px,13.5vw,300px);line-height:.8;font-weight:600;letter-spacing:-.06em;color:#1D1D1C;white-space:nowrap;overflow:hidden;user-select:none}
.nf-ftr__bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:28px 0 36px;border-top:1px solid #2B2A28;font-size:13px;color:#8F8B84}
.nf-ftr__bot a{color:#8F8B84}
@media (max-width:1200px){ .nf-ftr__g{grid-template-columns:1fr 1fr} }
@media (max-width:720px){ .nf-ftr{margin-top:64px;padding-top:48px} .nf-ftr__g{grid-template-columns:1fr;gap:32px} .nf-ftr__word{margin-top:40px} }

/* ---------- нижняя панель на телефоне ---------- */
.nf-mbar{display:none}
@media (max-width:720px){
  .nf-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;align-items:center;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));
    background:rgba(244,242,238,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .nf-mbar__ic{width:52px;height:52px;border-radius:999px;background:#fff;border:1px solid var(--field-2);display:grid;place-items:center;color:var(--ink);flex:none}
  .nf-mbar__ic svg{width:20px;height:20px}
  .nf-mbar .nf-btn{flex:1;justify-content:space-between}
  .nf-mbar__pr{line-height:1.15;flex:none;padding:0 6px}
  .nf-mbar__pr b{display:block;font-size:17px;font-weight:600}
  .nf-mbar__pr small{color:var(--muted);font-size:12px}
  .nf-mbar-sp{height:76px}
  /* скрываемая панель (кейс): появляется после цены, прячется у формы */
  .nf-mbar--auto{opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .3s,transform .35s var(--ease),visibility 0s .35s}
  .nf-mbar--auto.on{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .35s var(--ease)}
}

/* ---------- плашка cookie поверх нижней панели ---------- */
#cookieBar{z-index:60}

/* ---------- появление при прокрутке ---------- */
@media (prefers-reduced-motion:reduce){
  .nf-btn__ic,.nf-ph>img,.nf-wc__go{transition:none}
}
.nf-ftr__soc--light a{color:var(--ink);border-color:var(--field)}
.nf-ftr__soc--light a:hover{border-color:var(--ink)}
@media (max-width:720px){ .nf-mbar>.nf-btn--plain{justify-content:center} }

/* =====================================================================
   Страница кейса (views/work.ejs)
   ===================================================================== */
.nf-crumbs{padding:4px 0 20px}
.nf-crumbs .bc{max-width:none;margin:0;padding:0;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.nf-crumbs .bc a{color:var(--muted)}

.nf-ch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);gap:var(--gap)}
.nf-ch__card{position:relative;overflow:hidden;background:#fff;border-radius:var(--r-xl);padding:56px;display:flex;flex-direction:column}
.nf-ch__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px;position:relative}
.nf-ch .nf-h1{position:relative}
.nf-ch .nf-h1 .nf-acc{display:block}
.nf-ch__sub{margin-top:18px;color:var(--muted);font-size:16px;position:relative}
.nf-ch__price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:36px;position:relative}
.nf-ch__price b{font-size:clamp(32px,2.4vw,44px);font-weight:400;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.nf-ch__price span{color:var(--muted);font-size:14px}
.nf-ch__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;position:relative}
.nf-ch__facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:auto;padding-top:48px;position:relative}
.nf-ch__facts>div{border-top:1px solid var(--line);padding-top:18px}
.nf-ch__facts b{display:block;font-size:clamp(32px,2.4vw,44px);font-weight:400;letter-spacing:-.03em;line-height:1}
.nf-ch__facts span{display:block;margin-top:8px;font-size:13px;line-height:1.35;color:var(--muted)}
.nf-ch__card>.nf-ripple{right:-120px;bottom:-140px}

.nf-gal{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1.45fr) minmax(0,1fr);gap:var(--gap);min-height:640px}
.nf-gal .nf-ph{border-radius:var(--r-xl)}
.nf-gal .nf-ph:first-child{grid-column:1/-1}
.nf-gal__cap{position:absolute;left:20px;bottom:20px;padding:14px 18px;max-width:calc(100% - 40px);display:flex;flex-direction:column;gap:4px;z-index:1}
.nf-gal__cap b{font-weight:500;font-size:15px}
.nf-gal__more{position:absolute;right:16px;bottom:16px;z-index:1;display:inline-flex;align-items:center;gap:10px;padding:6px 6px 6px 16px;border-radius:999px;font-size:14px;font-weight:500}
.nf-gal__more i{width:32px;height:32px;border-radius:999px;background:#fff;color:var(--ink);display:grid;place-items:center}
.nf-gal__more i svg{width:14px;height:14px}

.nf-strip{display:none}

/* 01 задача */
.nf-task{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:64px}
.nf-task__lead{font-size:clamp(20px,1.5vw,28px);line-height:1.45;letter-spacing:-.01em;margin:0}
.nf-task__eq{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.nf-task__eq ul{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;font-size:15px}
.nf-task__eq li::before{content:"→ ";color:var(--accent)}
.nf-about{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.nf-about[hidden]{display:none}

/* 02 анализ */
.nf-an{background:#fff;border-radius:var(--r-xl);padding:20px 40px 12px;overflow-x:auto}
.nf-an table{width:100%;border-collapse:collapse;font-size:15px}
.nf-an th{text-align:left;padding:18px 16px;font-weight:400;border-bottom:1px solid var(--line)}
.nf-an td{padding:22px 16px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.nf-an tr:last-child td{border-bottom:0}
.nf-an td.sym{font-size:30px;font-weight:300;letter-spacing:-.02em;width:96px;white-space:nowrap}
.nf-an td.sym small{font-size:.5em}
.nf-an td.par{font-weight:500}
.nf-an th.v,.nf-an td.v{width:14%}
.nf-an th.n,.nf-an td.n{text-align:right;color:var(--muted);width:10%}
.nf-v.up,.nf-v.down{color:var(--warn);font-weight:600}
.nf-v .ar{margin-left:4px}
.nf-an tbody tr{transition:background .2s}
.nf-an tbody tr:hover{background:#FAF8F5}
.nf-bar{display:block;height:3px;border-radius:3px;background:linear-gradient(90deg,rgba(164,74,18,.2),var(--warn));margin-top:8px;width:calc(var(--r) * 100%);max-width:96px;transform-origin:left;transform:scaleX(0);transition:transform 1.1s var(--ease) .2s}
.in .nf-bar{transform:scaleX(1)}
.nf-anm{display:none}

/* 03 решение (тёмный) */
.nf-sol{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:64px;border-radius:var(--r-xl);padding:56px}
.nf-sol>.nf-ripple{left:-160px;bottom:-200px}
.nf-sol__map{list-style:none;margin:0;padding:0;border-top:1px solid #2B2A28;position:relative}
.nf-sol__map li{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1.6fr);align-items:center;gap:12px;padding:24px 0;border-bottom:1px solid #2B2A28}
.nf-sol__map .p{color:#A9A59E;font-size:14px}
.nf-sol__map .a{color:var(--accent-dk)}
.nf-sol__map .s{font-size:clamp(20px,1.7vw,32px);font-weight:300;letter-spacing:-.02em;line-height:1.15}

/* 04 шаги */
.nf-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.nf-step{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden}
.nf-step .nf-ph{border-radius:0;aspect-ratio:16/9;cursor:zoom-in}
.nf-step__ic{aspect-ratio:16/9;display:grid;place-items:center;color:var(--accent)}
.nf-step__ic svg{width:56px;height:56px;stroke-width:1.3}
.nf-step--mint{background:var(--mint)}
.nf-step--dark{background:var(--ink);color:#fff}
.nf-step--dark .nf-step__ic{color:var(--accent-dk)}
.nf-step__bd{display:flex;gap:14px;align-items:flex-start;padding:20px 22px 24px;font-size:15px;line-height:1.45}
.nf-step__n{flex:none;width:36px;height:36px;border-radius:999px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:'JetBrains Mono',monospace;font-size:12px}
.nf-step--mint .nf-step__n{background:var(--accent)}
.nf-step--dark .nf-step__n{background:#fff;color:var(--ink)}

/* 05 было → стало */
.nf-ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.nf-ba__card{background:#fff;border-radius:var(--r-lg);padding:8px 8px 20px}
.nf-ba__pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nf-ba__pair .nf-ph{aspect-ratio:4/5;border-radius:calc(var(--r-lg) - 8px)}
.nf-ba__pair .nf-tag{position:absolute;top:12px;left:12px;z-index:1;padding:6px 12px}
.nf-ba__lbl{padding:16px 12px 0;font-weight:500;font-size:16px}

/* 06 обслуживание и совет */
.nf-care{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.nf-care>div{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:48px;min-height:300px;display:flex;flex-direction:column;gap:16px}
.nf-care h3{font-size:clamp(24px,2vw,38px);font-weight:400;letter-spacing:-.03em;line-height:1.1;margin:0;position:relative}
.nf-care p{margin:0;font-size:15px;line-height:1.6;position:relative}
.nf-care .nf-mint p{color:var(--mint-ink-2)}
.nf-care .nf-dark p{color:#B8B4AD}
.nf-care .nf-ripple{right:-140px;top:-160px}

/* статьи */
.nf-read{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.nf-art{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink)}
.nf-art .nf-ph{border-radius:0;aspect-ratio:16/9}
.nf-art__bd{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.nf-art h3{font-size:18px;line-height:1.3;font-weight:500;margin:0}
.nf-art__go{margin-top:auto;color:var(--accent);font-weight:500;font-size:14px}
.nf-art:hover{color:var(--ink)} .nf-art:hover h3{text-decoration:underline;text-underline-offset:3px}

.nf-rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.nf-scroll-m{}

/* форма кейса: каналы КП и поля внутри белой карточки */
.nf-cta__box .space-y-4>*+*{margin-top:14px}

@media (max-width:1200px){
  .nf-ch,.nf-task,.nf-sol{grid-template-columns:minmax(0,1fr)}
  .nf-gal{min-height:560px}
  .nf-steps,.nf-read,.nf-rel{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .nf-crumbs{display:none}
  .nf-ch{gap:8px}
  .nf-gal{display:none}
  .nf-strip{display:block;order:-1}
  .nf-snapw{position:relative;border-radius:var(--r-xl);overflow:hidden}
  .nf-snap{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .nf-snap::-webkit-scrollbar{display:none}
  .nf-snap .nf-ph{flex:0 0 100%;scroll-snap-align:center;border-radius:0;aspect-ratio:4/5}
  .nf-snapw .nf-ch__tags{position:absolute;top:14px;left:14px;margin:0;z-index:2}
  .nf-cnt{position:absolute;right:14px;bottom:14px;z-index:2;padding:6px 12px;border-radius:999px;font-family:'JetBrains Mono',monospace;font-size:12px;pointer-events:none}
  .nf-thumbs{display:flex;gap:6px;overflow-x:auto;padding:8px 0 0;scrollbar-width:none}
  .nf-thumbs::-webkit-scrollbar{display:none}
  .nf-thumbs button{flex:0 0 72px;height:56px;border-radius:14px;overflow:hidden;border:2px solid transparent;padding:0;background:#E7E3DC;opacity:.6;transition:opacity .2s,border-color .2s}
  .nf-thumbs button.on{border-color:var(--ink);opacity:1}
  .nf-thumbs img{width:100%;height:100%;object-fit:cover}
  .nf-ch__card{padding:28px 20px}
  .nf-ch__card>.nf-ch__tags{display:none}
  .nf-ch__loc{display:block!important;margin-bottom:16px}
  .nf-ch__btns{display:none}
  .nf-ch__facts{grid-template-columns:1fr 1fr;gap:16px 20px;padding-top:28px}
  .nf-task{gap:20px}
  .nf-task__eq{background:#fff;border-radius:var(--r-md);padding:20px;border:0}
  .nf-task__eq ul{grid-template-columns:1fr;gap:10px}
  .nf-an{display:none}
  .nf-anm{display:block}
  .nf-sw{display:flex;gap:8px;margin-bottom:12px}
  .nf-sw button{flex:1;min-height:48px;border-radius:999px;border:1px solid var(--field);background:#fff;font:inherit;font-weight:500;font-size:15px;color:var(--ink);cursor:pointer}
  .nf-sw button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
  .nf-anm__card{background:#fff;border-radius:var(--r-lg)}
  .nf-anm__row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}
  .nf-anm__row:last-child{border-bottom:0}
  .nf-anm__row .sym{font-size:24px;font-weight:300}
  .nf-anm__row small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
  .nf-anm__row .nf-v{font-size:18px}
  .nf-sol{padding:28px 20px;gap:28px}
  .nf-sol__map li{grid-template-columns:1fr;gap:4px;padding:16px 0}
  .nf-sol__map .a{display:none}
  .nf-sol__map .p::after{content:" →";color:var(--accent-dk)}
  .nf-steps,.nf-read,.nf-rel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:12px;margin:0 -12px;padding:0 12px;scrollbar-width:none}
  .nf-steps::-webkit-scrollbar,.nf-read::-webkit-scrollbar,.nf-rel::-webkit-scrollbar{display:none}
  .nf-steps>*,.nf-read>*,.nf-rel>*{flex:0 0 280px;scroll-snap-align:start}
  .nf-ba{grid-template-columns:1fr}
  .nf-care{grid-template-columns:1fr}
  .nf-care>div{padding:28px 20px;min-height:0}
}

/* появление секций при прокрутке (кейс) */
.js-rv .rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js-rv .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){ .js-rv .rv{opacity:1;transform:none;transition:none} .nf-bar{transition:none;transform:none} }
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* шапка: круглая кнопка звонка — только на телефоне, на планшете телефон текстом */
.nf-hdr__rb--tel{display:none!important}
@media (max-width:720px){ .nf-hdr__rb--tel{display:grid!important} }
/* галерея кейса, когда фото меньше трёх */
.nf-gal--1{grid-template-rows:1fr}
.nf-gal--1 .nf-ph:first-child{grid-row:1/-1}
.nf-gal--2{grid-template-rows:1fr 1fr}
.nf-gal--2 .nf-ph{grid-column:1/-1}

/* =====================================================================
   Главная (views/index.ejs)
   ===================================================================== */
.nf-head__aside--row{flex-direction:row;align-items:center;max-width:720px;gap:32px}

/* hero */
.nf-hh{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);gap:var(--gap)}
.nf-hh__card{position:relative;overflow:hidden;background:#fff;border-radius:var(--r-xl);padding:56px;display:flex;flex-direction:column}
.nf-hh__card>.nf-ripple{right:-150px;bottom:-170px}
.nf-hh__tag{align-self:flex-start;position:relative}
.nf-hh__h1{margin-top:44px;position:relative}
.nf-hh__h1 .nf-acc{display:block}
.nf-hh__txt{margin-top:32px;max-width:560px;position:relative}
.nf-hh__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;position:relative}
.nf-hh__btns .nf-btn--plain{gap:10px}
.nf-hh__stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:56px;margin-top:auto;padding-top:56px;position:relative}
.nf-hh__stats b{display:block;font-size:clamp(36px,2.6vw,52px);font-weight:400;letter-spacing:-.04em;line-height:1}
.nf-hh__stats small{font-size:.42em;color:var(--muted);letter-spacing:0;font-weight:400}
.nf-hh__stats span{display:block;margin-top:10px;font-size:13px;color:var(--muted)}
.nf-hh__ph{border-radius:var(--r-xl);min-height:720px}
.nf-hh__ptag{position:absolute;top:24px;right:24px;z-index:1;border:0}
.nf-hh__ro{position:absolute;left:24px;bottom:24px;z-index:1;width:min(420px,calc(100% - 48px));padding:22px 24px}
.nf-hh__roh{display:flex;justify-content:space-between;margin-bottom:18px}
.nf-hh__rr{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:14px;font-weight:500}
.nf-hh__rr .nf-lbl{letter-spacing:.04em;font-size:12px}
.readrow+.readrow{margin-top:16px}
.nf-hh__line{position:relative;height:4px;background:rgba(18,18,18,.08);border-radius:4px}
.nf-hh__line .bar{position:absolute;left:0;top:0;bottom:0;width:92%;background:var(--ink);border-radius:4px;transition:background .4s}
.nf-hh__line i{position:absolute;right:0;top:-5px;width:2px;height:14px;background:var(--ink)}
.readrow.ok .bar{background:var(--accent)}
.readrow.ok .val{color:var(--accent)}
.nf-hh__rof{display:flex;align-items:center;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(18,18,18,.08);color:var(--accent);font-size:13px;font-weight:500}

/* 01 проблемы */
.nf-prob{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.nf-prob__c{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);padding:28px;min-height:420px;text-decoration:none;color:var(--ink);transition:transform .4s var(--ease)}
.nf-prob__c:hover{transform:translateY(-4px);color:var(--ink)}
.nf-prob__c.nf-dark:hover{color:#fff}
.nf-prob__top{display:flex;justify-content:space-between;align-items:flex-start}
.nf-prob__sym{font-size:clamp(64px,5vw,104px);font-weight:300;letter-spacing:-.05em;line-height:.9}
.nf-prob__sym sub{font-size:.4em;vertical-align:-.15em}
.nf-prob__sym small{font-size:.45em}
.nf-prob__num{text-align:right;line-height:1.5}
.nf-prob__scale{display:flex;justify-content:space-between;align-items:flex-end;height:22px;margin-top:auto;padding-top:40px}
.nf-prob__scale i{width:1px;height:12px;background:currentColor;opacity:.25}
.nf-prob__scale i.on{height:22px;width:2px;opacity:1;background:var(--accent)}
.nf-dark .nf-prob__scale i.on{background:var(--accent-dk)}
.nf-prob__norm{margin-top:14px;color:var(--accent)}
.nf-dark .nf-prob__norm{color:var(--accent-dk)}
.nf-prob__t{margin-top:12px;font-size:clamp(18px,1.3vw,22px);font-weight:500;letter-spacing:-.01em;line-height:1.25}
.nf-prob__ft{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.nf-dark .nf-prob__ft{border-color:#2B2A28;color:#B8B4AD}
.nf-prob__go{width:36px;height:36px;border-radius:999px;border:1px solid var(--field);display:grid;place-items:center;transition:background .2s,color .2s}
.nf-prob__go svg{width:14px;height:14px}
.nf-prob__c:hover .nf-prob__go{background:var(--ink);color:#fff;border-color:var(--ink)}
.nf-dark .nf-prob__go{background:#fff;color:var(--ink);border-color:#fff}
.nf-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px}

/* 02 направления */
.nf-dirs{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.nf-dir{border-radius:var(--r-xl);min-height:640px;color:#fff;text-decoration:none}
.nf-dir:hover{color:#fff}
.nf-dir__tag{position:absolute;top:24px;left:24px;z-index:1;border:0}
.nf-dir__g{position:absolute;left:20px;right:20px;bottom:20px;z-index:1;padding:36px;display:flex;flex-direction:column;gap:48px;min-height:46%}
.nf-dir__t{font-size:clamp(28px,2.2vw,44px);font-weight:400;letter-spacing:-.03em;line-height:1.05;max-width:420px}
.nf-dir__ft{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:auto;font-size:15px;line-height:1.5;color:#D4D0C9}
.nf-dir__ft>span:first-child{max-width:360px}
.nf-dir .nf-btn{flex:none}

/* 03 честно */
.nf-hon{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:64px;border-radius:var(--r-xl) var(--r-xl) 0 0}
.nf-hon__h,.nf-hon__r{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.nf-hon__h{padding-bottom:16px;border-bottom:1px solid var(--line)}
.nf-hon__r{border-bottom:1px solid var(--line);padding:22px 0}
.nf-hon__r:last-child{border-bottom:0}
.nf-hon__r p{display:flex;gap:14px;margin:0;font-size:15px;line-height:1.55}
.nf-hon__r .bad{color:var(--muted)}
.nf-hon__r .good{color:var(--ink);font-weight:500}
.nf-hon__r .bad>span:first-child{color:#B7B2AA}
.nf-hon__r .good>span:first-child{color:var(--accent)}
.nf-dis{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:64px;border-radius:var(--r-xl);margin-top:var(--gap)}
.nf-dis__l{list-style:none;margin:0;padding:0;border-top:1px solid #2B2A28}
.nf-dis__l li{padding:32px 0;border-bottom:1px solid #2B2A28}
.nf-dis__l s{display:inline-block;font-size:clamp(28px,2.6vw,52px);font-weight:300;letter-spacing:-.03em;line-height:1.1;text-decoration:none;position:relative}
.nf-dis__l s::after{content:"";position:absolute;left:-4px;right:-4px;top:54%;height:2px;background:var(--accent-dk);transform-origin:left;transform:scaleX(0);transition:transform .9s var(--ease) .3s}
.in .nf-dis__l s::after{transform:scaleX(1)}
.nf-dis__l p{margin:14px 0 0;color:#A9A59E;font-size:15px;line-height:1.55;max-width:560px}

/* 04 бенто */
.nf-bento{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);grid-auto-rows:minmax(340px,auto);gap:var(--gap)}
.nf-bento__f{grid-row:span 2;border-radius:var(--r-xl);color:#fff;text-decoration:none;min-height:700px}
.nf-bento__f::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,18,18,0) 40%,rgba(18,18,18,.82) 100%)}
.nf-bento__f:hover{color:#fff}
.nf-bento__tags{position:absolute;top:24px;left:24px;z-index:1;display:flex;gap:8px}
.nf-bento__tags .nf-tag{border:0}
.nf-bento__bd{position:absolute;left:32px;right:32px;bottom:32px;z-index:1;display:flex;flex-direction:column;gap:14px}
.nf-bento__t{font-size:clamp(28px,2.4vw,46px);font-weight:400;letter-spacing:-.035em;line-height:1.05;max-width:620px}
.nf-bento__x{font-size:15px;line-height:1.5;color:#D4D0C9;max-width:560px}
.nf-bento--1{grid-template-columns:1fr}

/* 05 директор */
.nf-dir2{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:var(--gap)}
.nf-dir2__ph{border-radius:var(--r-xl);min-height:640px}
.nf-dir2__ph img{object-position:center 20%}
.nf-dir2__cap{position:absolute;left:16px;right:16px;bottom:16px;z-index:1;padding:18px 22px;display:flex;flex-direction:column;gap:4px}
.nf-dir2__cap b{font-weight:600;font-size:16px}
.nf-dir2__cap span{font-size:13px;color:var(--ink-2)}
.nf-dir2__r{display:grid;grid-template-rows:auto 1fr;gap:var(--gap)}
.nf-guar{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.nf-guar>div{border-top:2px solid var(--ink);padding-top:18px}
.nf-guar>div:last-child{border-color:var(--accent)}
.nf-guar b{display:block;font-weight:500;font-size:17px}
.nf-guar p{margin:8px 0 0;font-size:14px;line-height:1.55;color:var(--muted)}
.nf-dir2__h{margin-top:18px;font-size:clamp(28px,2.4vw,46px);font-weight:400;letter-spacing:-.035em;color:var(--ink)}

/* 06 квиз */
.nf-quiz{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:64px;align-items:center}
.nf-quiz>.nf-ripple{left:-200px;top:-180px}
.nf-q{position:relative;background:#1B1B1A;border:1px solid #2B2A28;border-radius:var(--r-lg);padding:32px}
.nf-q__prog{display:flex;gap:6px;margin-bottom:28px}
.nf-q__bar{flex:1;height:3px;border-radius:3px;background:#2E2D2B;transition:background .3s}
.nf-q__bar.on{background:#fff}
.nf-q__t{font-size:clamp(22px,1.6vw,28px);font-weight:500;letter-spacing:-.02em;margin:10px 0 24px;color:#fff}
.nf-q__opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nf-q__opts--4{grid-template-columns:repeat(4,1fr)}
.nf-q__opt{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 18px;border-radius:18px;border:1px solid #33322F;background:transparent;color:#E8E5E0;font:inherit;font-size:15px;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
.nf-q__opt:hover{border-color:#6B6862}
.nf-q__opt.on{border-color:#fff;background:rgba(255,255,255,.06);color:#fff}
.nf-q__radio{flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid #6B6862;position:relative}
.nf-q__opt--multi .nf-q__radio{border-radius:5px}
.nf-q__opt.on .nf-q__radio{border-color:var(--accent-dk)}
.nf-q__opt.on .nf-q__radio::after{content:"";position:absolute;inset:3px;border-radius:inherit;background:var(--accent-dk)}
.nf-q__fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.nf-q__f{display:flex;flex-direction:column;gap:8px}
.nf-q__f input{min-height:52px;border-radius:16px;border:1px solid #33322F;background:transparent;color:#fff;padding:0 16px;font:inherit;font-size:15px;outline:none}
.nf-q__f input:focus{border-color:#fff}
.nf-q__f.bad input{border-color:#E8805A}
.nf-q__file{display:block;margin-top:12px;padding:18px;border:1px dashed #44433F;border-radius:16px;text-align:center;color:#B8B4AD;font-size:14px;cursor:pointer}
.nf-q__file:hover{border-color:#fff}
.nf-q__err{margin-top:16px;padding:12px 16px;border-radius:14px;border:1px solid rgba(232,128,90,.6);background:rgba(232,128,90,.1);color:#F5D5C8;font-size:14px}
.nf-q__nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px}
.nf-q__back{background:none;border:0;color:#8F8B84;font:inherit;font-size:14px;cursor:pointer;min-height:44px;padding:0 4px}
.nf-q__back:disabled{visibility:hidden}
.nf-q__back:hover{color:#fff}
.nf-q .nf-btn:disabled{opacity:.4;cursor:not-allowed}

/* 07 этапы */
.nf-proc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);counter-reset:none}
.nf-proc li{display:flex;flex-direction:column;gap:20px;position:relative}
.nf-proc li:not(:last-child)::before{content:"";position:absolute;top:24px;left:56px;right:-8px;border-top:1px dashed var(--field)}
.nf-proc__n{width:48px;height:48px;border-radius:999px;background:#fff;display:grid;place-items:center;font-family:'JetBrains Mono',monospace;font-size:13px;position:relative;z-index:1}
.nf-proc__n.first{background:var(--ink);color:#fff}
.nf-proc__n.last{background:var(--accent);color:#fff}
.nf-proc__c{background:#fff;border-radius:var(--r-md);padding:28px;flex:1}
.nf-proc__c b{display:block;font-size:20px;font-weight:500;letter-spacing:-.01em}
.nf-proc__c p{margin:10px 0 0;font-size:14px;line-height:1.55;color:var(--muted)}

/* 08 отзывы */
.nf-arrows{display:flex;gap:8px}
.nf-arr{width:52px;height:52px;border-radius:999px;border:1px solid var(--field);background:#fff;font-size:18px;cursor:pointer;color:var(--ink)}
.nf-arr--dark{background:var(--ink);border-color:var(--ink);color:#fff}
.nf-rev{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}
.nf-rev::-webkit-scrollbar{display:none}
.nf-rev__c{margin:0;display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);padding:36px;min-height:420px;scroll-snap-align:start}
.nf-rev__q{font-size:72px;line-height:.6;color:var(--accent);font-weight:600;height:36px}
.nf-dark .nf-rev__q{color:var(--accent-dk)}
.nf-rev__c blockquote{margin:24px 0 0;font-size:16px;line-height:1.6}
.nf-rev__c.short blockquote{font-size:clamp(22px,1.7vw,30px);line-height:1.3;letter-spacing:-.015em}
.nf-rev__c figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.nf-dark.nf-rev__c figcaption{border-color:#2B2A28;color:#A9A59E}
.nf-rev__c figcaption b{color:var(--ink);font-weight:600}
.nf-dark.nf-rev__c figcaption b{color:#fff}
.nf-rev__st{color:var(--accent);letter-spacing:.15em;font-size:12px;white-space:nowrap}
.nf-dark .nf-rev__st{color:var(--accent-dk)}
.nf-rev:has(>:nth-child(4)){grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3)}

/* 09 FAQ */
.nf-faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:64px;align-items:start}
.nf-faq__tel{display:inline-block;margin-top:20px;font-size:clamp(24px,1.8vw,34px);font-weight:500;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.nf-faq__l{display:flex;flex-direction:column;gap:10px}
.nf-faq__l details,.nf-seo__m{background:#fff;border-radius:var(--r-md)}
.nf-faq__l summary,.nf-seo__m summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;cursor:pointer;list-style:none;font-size:17px;font-weight:500}
.nf-faq__l summary::-webkit-details-marker,.nf-seo__m summary::-webkit-details-marker{display:none}
.nf-faq__l details p{margin:0;padding:0 24px 24px;font-size:15px;line-height:1.6;color:var(--ink-2);max-width:720px}
.nf-faq__pm{flex:none;width:40px;height:40px;border-radius:999px;background:var(--bg);position:relative;transition:background .2s}
.nf-faq__pm::before,.nf-faq__pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .3s}
.nf-faq__pm::after{transform:translate(-50%,-50%) rotate(90deg)}
details[open]>summary .nf-faq__pm{background:var(--ink);color:#fff}
details[open]>summary .nf-faq__pm::after{transform:translate(-50%,-50%) rotate(0)}

/* 10 блог */
.nf-blog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.nf-blog__c{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink)}
.nf-blog__c:hover{color:var(--ink)}
.nf-blog__c .nf-ph{aspect-ratio:16/10;margin-bottom:8px}
.nf-blog__ph{background:var(--accent);color:#fff;display:grid;place-items:center}
.nf-blog__ph .nf-lbl{position:absolute;top:20px;left:20px;color:rgba(255,255,255,.75)}
.nf-blog__ph b{font-size:clamp(56px,5vw,96px);font-weight:300;letter-spacing:-.04em}
.nf-blog__ph sub{font-size:.45em}
.nf-blog__t{font-size:clamp(18px,1.3vw,22px);font-weight:500;letter-spacing:-.01em;line-height:1.3}
.nf-blog__c:hover .nf-blog__t{text-decoration:underline;text-underline-offset:4px}
.nf-blog__x{font-size:14px;line-height:1.55;color:var(--muted)}

/* 11 география */
.nf-geo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;align-items:center}
.nf-geo__map{width:100%;height:auto}
.nf-geo__voda{display:flex;align-items:center;gap:14px;margin-top:28px;padding:18px 20px;border-radius:var(--r-md);background:var(--bg);text-decoration:none;color:var(--ink);max-width:560px}
.nf-geo__voda svg{flex:none;color:var(--accent)}
.nf-geo__voda b{display:block;font-weight:500;font-size:15px}
.nf-geo__voda small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.nf-geo__go{margin-left:auto;font-weight:500;font-size:14px;white-space:nowrap}
.nf-geo__voda:hover{color:var(--ink)} .nf-geo__voda:hover .nf-geo__go{color:var(--accent)}

/* CTA-форма */
.nf-form{display:flex;flex-direction:column;gap:12px}
.nf-form__2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nf-form__f{display:flex;flex-direction:column;gap:8px}
.nf-form__f input{min-height:52px;border-radius:16px;border:1px solid var(--field-2);background:#FAF9F7;padding:0 16px;font:inherit;font-size:15px;outline:none;color:var(--ink)}
.nf-form__f input:focus{border-color:var(--ink);background:#fff}
.nf-form__file{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:22px;border:1px dashed var(--field);border-radius:16px;font-size:14px;color:var(--ink-2);cursor:pointer}
.nf-form__file:hover{border-color:var(--ink)}
.nf-form__file [data-fname]{flex-basis:100%;text-align:center;margin-top:0}
.nf-form__note{margin:4px 0 0;font-size:12px;line-height:1.5;color:var(--muted);text-align:center}
.nf-form__note a{color:var(--muted)}

/* SEO */
.nf-seo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:64px;margin-top:120px;padding-top:56px;border-top:1px solid var(--field-2)}
.nf-seo__t{columns:2;column-gap:48px;font-size:14px;line-height:1.7;color:var(--ink-2)}
.nf-seo__t p{margin:0 0 14px;break-inside:avoid-column}
.nf-seo a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.nf-seo__m{display:none}

@media (max-width:1200px){
  .nf-hh,.nf-hon,.nf-dis,.nf-dir2,.nf-quiz,.nf-faq,.nf-geo,.nf-seo{grid-template-columns:minmax(0,1fr)}
  .nf-hh__ph{min-height:560px}
  .nf-prob,.nf-proc{grid-template-columns:1fr 1fr}
  .nf-proc li::before{display:none}
  .nf-bento{grid-template-columns:1fr 1fr}
  .nf-bento__f{grid-column:1/-1;grid-row:auto;min-height:480px}
  .nf-dir2__ph{min-height:560px}
  .nf-q__opts--4{grid-template-columns:1fr 1fr}
  .nf-rev{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 16px)/2)}
}
@media (max-width:720px){
  .nf-hh{gap:8px}
  .nf-hh__card{padding:28px 20px}
  .nf-hh__h1{margin-top:28px}
  .nf-hh__txt{margin-top:20px}
  .nf-hh__btns .nf-btn{width:100%;justify-content:space-between}
  .nf-hh__btns .nf-btn--plain{justify-content:center}
  .nf-hh__stats{display:none}
  .nf-hh__ph{min-height:440px}
  .nf-hh__ptag{display:none}
  .nf-hh__ro{left:12px;right:12px;bottom:12px;width:auto;padding:16px 18px}
  .nf-hh__mstats{display:grid!important}
  .nf-prob,.nf-dirs,.nf-proc,.nf-blog,.nf-bento{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:12px;margin:0 -12px;padding:0 12px;scrollbar-width:none}
  .nf-prob::-webkit-scrollbar,.nf-dirs::-webkit-scrollbar,.nf-proc::-webkit-scrollbar,.nf-blog::-webkit-scrollbar,.nf-bento::-webkit-scrollbar{display:none}
  .nf-prob>*,.nf-proc>*,.nf-blog>*,.nf-bento>*{flex:0 0 280px;scroll-snap-align:start}
  .nf-dirs{display:flex;flex-direction:column;overflow:visible;margin:0;padding:0}
  .nf-dir{min-height:520px}
  .nf-dir__g{padding:24px;gap:24px}
  .nf-dir__ft{flex-direction:column;align-items:stretch}
  .nf-dir__ft .nf-btn{justify-content:space-between}
  .nf-prob__c{min-height:360px}
  .nf-hon{gap:28px}
  .nf-hon__h{display:none}
  .nf-hon__r{grid-template-columns:1fr;gap:10px}
  .nf-dis{gap:28px}
  .nf-bento__f{flex-basis:300px;min-height:440px}
  .nf-bento__bd{left:20px;right:20px;bottom:20px}
  .nf-dir2__ph{min-height:480px}
  .nf-guar{grid-template-columns:1fr;gap:20px;margin-top:28px}
  .nf-quiz{gap:28px}
  .nf-q{padding:20px}
  .nf-q__opts,.nf-q__opts--4,.nf-q__fields{grid-template-columns:1fr}
  .nf-proc li::before{display:none}
  .nf-rev{grid-auto-columns:300px;margin:0 -12px;padding:0 12px;scroll-padding-inline:12px}
  .nf-rev__c{padding:24px;min-height:380px}
  .nf-arrows{display:none}
  .nf-faq{gap:24px}
  .nf-geo{gap:24px}
  .nf-form__2{grid-template-columns:1fr}
  .nf-seo{margin-top:56px;padding-top:0;border:0;display:block}
  .nf-seo>h2,.nf-seo__t{display:none}
  .nf-seo__m{display:block}
  .nf-seo__m summary{font-size:15px}
  .nf-seo__m div{padding:0 24px 20px;font-size:14px;line-height:1.7;color:var(--ink-2)}
}
/* тёмные варианты карточек: объявлены после белых, иначе их перебивает фон карточки */
.nf-prob__c.nf-dark,.nf-rev__c.nf-dark{background:var(--ink);color:#fff}
.nf-rev__c.nf-dark blockquote{color:#fff}
/* зачёркивание «отговариваем» — по каждой строке */
.nf-dis__l s{display:inline;background:linear-gradient(var(--accent-dk),var(--accent-dk)) no-repeat 0 58%/0% 2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size 1.1s var(--ease) .3s}
.nf-dis__l s::after{content:none}
.in .nf-dis__l s{background-size:100% 2px}
@media (prefers-reduced-motion:reduce){ .nf-dis__l s{background-size:100% 2px;transition:none} }
/* цифры hero на телефоне — плитками под фото */
@media (max-width:720px){
  .nf-hh__mstats{grid-template-columns:repeat(3,1fr);gap:8px}
  .nf-hh__mstats>div{background:#fff;border-radius:var(--r-md);padding:16px 14px}
  .nf-hh__mstats b{display:block;font-size:30px;font-weight:400;letter-spacing:-.04em;line-height:1}
  .nf-hh__mstats small{font-size:.45em;color:var(--muted)}
  .nf-hh__mstats .nf-dark small{color:#A9A59E}
  .nf-hh__mstats span{display:block;margin-top:8px;font-size:12px;line-height:1.3;color:var(--muted)}
  .nf-hh__mstats .nf-dark span{color:#A9A59E}
}
.nf-hh__mstats>.nf-dark{background:var(--ink);color:#fff}
@media (max-width:1200px){ .nf-dir__ft{flex-direction:column;align-items:flex-start} .nf-dir__ft>span:first-child{max-width:none} }

/* ---------- правки 28.10: формы на чёрном, кнопки с переносом, светлый квиз ---------- */
.nf-cta{background:var(--ink)}
.nf-cta::before{content:none}
.nf-cta .nf-ripple{right:-160px;top:-180px;color:var(--accent-dk)}
/* кнопка: длинный текст переносится, а не вылезает; иконка не сжимается */
.nf-btn{white-space:normal;text-align:left;max-width:100%;min-width:0}
.nf-btn--plain{text-align:center;justify-content:center}
.nf-btn>.nf-btn__ic{margin-left:auto}
.nf-hdr__cta,.nf-mbar .nf-btn{white-space:nowrap}
/* квиз: светлая панель на тёмном блоке */
.nf-q{background:#fff;border:0;color:var(--ink)}
.nf-q .nf-lbl{color:var(--muted)}
.nf-q__bar{background:var(--field-2)}
.nf-q__bar.on{background:var(--ink)}
.nf-q__t{color:var(--ink)}
.nf-q__opt{border-color:var(--field-2);color:var(--ink);background:#fff}
.nf-q__opt:hover{border-color:var(--ink)}
.nf-q__opt.on{border-color:var(--ink);background:var(--mint);color:var(--ink)}
.nf-q__radio{border-color:var(--field)}
.nf-q__opt.on .nf-q__radio{border-color:var(--accent)}
.nf-q__opt.on .nf-q__radio::after{background:var(--accent)}
.nf-q__f input{border-color:var(--field-2);background:#FAF9F7;color:var(--ink)}
.nf-q__f input:focus{border-color:var(--ink);background:#fff}
.nf-q__f.bad input{border-color:var(--warn)}
.nf-q__file{border-color:var(--field);color:var(--ink-2)}
.nf-q__file:hover{border-color:var(--ink)}
.nf-q__err{border-color:rgba(164,74,18,.4);background:#FBEFE8;color:var(--warn)}
.nf-q__back{color:var(--muted)}
.nf-q__back:hover{color:var(--ink)}
.nf-hon--solo{border-radius:var(--r-xl)}
.nf-hon__r .do{color:var(--ink-2)}
.nf-hon__n{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);min-width:22px;padding-top:2px}
.nf-head__aside--row .nf-btn,.nf-head>.nf-btn{flex:none}
@media (max-width:900px){ .nf-head__aside--row{flex-direction:column;align-items:flex-start;gap:16px} }
.nf-hh__h1{font-size:clamp(44px,4.1vw,88px)}
/* «Что поставили» — плашками (решение Евгения 27.10, сильнее макета) */
.nf-task__eq ul{display:flex;flex-wrap:wrap;gap:8px}
.nf-task__eq li{background:var(--mint);color:var(--mint-ink);border-radius:999px;padding:10px 16px;font-size:14px;line-height:1.35}
.nf-task__eq li::before{content:none}
@media (max-width:720px){ .nf-task__eq ul{display:flex} .nf-task__eq li{font-size:13px;padding:9px 14px} }

/* ---------- правки 28.10 утро: белые блоки, фото целиком ---------- */
/* фото целиком: снимок по центру (contain), поля — размытая копия того же снимка */
.nf-ph--fit::before{content:"";position:absolute;inset:-24px;background:var(--src) center/cover no-repeat;filter:blur(22px) saturate(1.1) brightness(.92);transform:scale(1.08)}
.nf-ph--fit>img{object-fit:contain}
.nf-ph--fit:hover>img{transform:none}
/* блок под пропорции снимка */
.nf-steps,.nf-ba,.nf-ba__pair{align-items:start}
/* шапка кейса: просмотрщик */
/* решение — белый блок */
.nf-sol{background:#fff;color:var(--ink)}
.nf-sol .nf-txt{color:var(--ink-2)}
.nf-sol .nf-acc{color:var(--accent)}
.nf-sol .nf-lbl{color:var(--muted)}
.nf-sol>.nf-ripple{color:var(--accent);opacity:.6}
.nf-sol__map{border-color:var(--line)}
.nf-sol__map li{border-color:var(--line)}
.nf-sol__map .p{color:var(--muted)}
.nf-sol__map .a{color:var(--accent)}
.nf-sol__map .s{color:var(--ink)}
@media (max-width:720px){ .nf-sol__map .p::after{color:var(--accent)} }
/* обслуживание и совет — белые */
.nf-care__c{background:#fff;color:var(--ink)}
.nf-care__c p{color:var(--ink-2)}
.nf-care__c--tip{border:1.5px solid var(--accent)}
.nf-care__c .nf-ripple{color:var(--accent);opacity:.5}

/* ---------- страница «Работы» (design/redesng/works) ---------- */
.nf-wh{position:relative;overflow:hidden;background:#fff;border-radius:var(--r-xl);padding:64px;display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:end}
.nf-wh>.nf-ripple{right:-200px;top:-300px}
.nf-wh__l{position:relative;display:flex;flex-direction:column;gap:28px;align-items:flex-start}
.nf-wh__h{font-size:clamp(56px,5.4vw,112px);line-height:.95;letter-spacing:-.05em}
.nf-wh__h .nf-acc{display:block}
.nf-wh__txt{margin:0;font-size:18px;line-height:1.6;color:var(--ink-2);max-width:640px}
.nf-wh__dir{display:flex;align-items:center;gap:12px;background:var(--bg);border-radius:999px;padding:6px 20px 6px 6px}
.nf-wh__dir img{width:48px;height:48px;border-radius:999px;object-fit:cover;object-position:center 15%}
.nf-wh__dir span{display:flex;flex-direction:column;gap:1px;font-size:15px}
.nf-wh__dir small{font-size:12px;color:var(--ink-2)}
.nf-wh__num{position:relative;display:flex;flex-direction:column;gap:8px;align-items:flex-end;text-align:right}
.nf-wh__num b{font-size:clamp(96px,10vw,200px);line-height:.85;font-weight:300;letter-spacing:-.06em}
.nf-wh__num i{font-style:normal;color:var(--accent)}
.nf-wh__num span{font-size:16px;color:var(--ink-2)}
.nf-wh__num--m{display:none}

.nf-wf{margin-top:32px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.nf-wf__tabs{display:flex;gap:4px;background:#fff;border-radius:999px;padding:5px;flex-wrap:wrap}
.nf-wf__tabs a{display:inline-flex;align-items:center;gap:6px;height:48px;padding:0 22px;border-radius:999px;color:var(--ink);text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap;transition:background .25s var(--ease),color .25s}
.nf-wf__tabs a span{color:#8A857D;font-weight:400}
.nf-wf__tabs a:hover{background:var(--bg);color:var(--ink)}
.nf-wf__tabs a.on{background:var(--ink);color:#fff}
.nf-wf__tabs a.on span{color:rgba(255,255,255,.55)}

.nf-wg{margin-top:24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.nf-wk{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);animation:nfWkIn .45s var(--ease) both}
.nf-wk[hidden]{display:none}
.nf-wk:hover{color:var(--ink)}
.nf-wk>.nf-ph{height:240px;border-radius:0;flex:none}
.nf-wk__tags{position:absolute;left:16px;top:16px;z-index:2;display:flex;gap:8px}
.nf-wk__tag,.nf-wk__new{border-radius:999px;padding:8px 12px;background:#fff;color:var(--ink)}
.nf-wk__tag--industrial{background:var(--ink);color:#fff}
.nf-wk__tag--service{background:var(--mint);color:var(--mint-ink)}
.nf-wk__new{background:var(--accent);color:#fff}
.nf-wk__bd{padding:22px 22px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.nf-wk__tm,.nf-wk__btn{display:none}
.nf-wk__t{font-size:19px;line-height:1.25;font-weight:500;letter-spacing:-.01em}
.nf-wk__s{font-size:14px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nf-wk__ft{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.nf-wk__pr{font-size:15px;font-weight:600;color:var(--accent)}
.nf-wk__pr--no{color:var(--ink);font-weight:500}
.nf-wk__go{flex:none;width:40px;height:40px;border-radius:999px;border:1px solid var(--field);display:grid;place-items:center;transition:background .3s var(--ease),color .3s,border-color .3s}
.nf-wk:hover .nf-wk__go{background:var(--ink);border-color:var(--ink);color:#fff}
/* крупная карточка — самый свежий кейс в текущем фильтре */
.nf-wk--f{grid-column:span 2;grid-row:span 2;position:relative;min-height:760px;border-radius:var(--r-xl);color:#fff;background:var(--ink)}
.nf-wk--f:hover{color:#fff}
.nf-wk--f>.nf-ph{position:absolute;inset:0;height:auto}
.nf-wk--f>.nf-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,18,18,0) 35%,rgba(18,18,18,.88) 100%)}
.nf-wk--f .nf-wk__tags{left:24px;top:24px}
.nf-wk--f .nf-wk__tag,.nf-wk--f .nf-wk__new{padding:10px 16px}
.nf-wk--f .nf-wk__bd{position:absolute;left:36px;right:36px;bottom:36px;padding:0;gap:14px;z-index:1}
.nf-wk--f .nf-wk__meta{color:#D6D3CD}
.nf-wk--f .nf-wk__t{font-size:clamp(30px,2.4vw,48px);line-height:1.05;letter-spacing:-.03em;max-width:820px}
.nf-wk--f .nf-wk__s{font-size:16px;line-height:1.55;color:#D6D3CD;max-width:640px}
.nf-wk--f .nf-wk__ft{display:none}
.nf-wk--f .nf-wk__btn{display:inline-flex;align-self:flex-start;margin-top:6px;border:0}
@keyframes nfWkIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.nf-wmap-s{margin-top:var(--gap)}
.nf-wmap{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:56px 64px;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;text-decoration:none}
.nf-wmap:hover{color:#fff}
.nf-wmap__l{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.nf-wmap__h{font-size:clamp(36px,3vw,60px);line-height:1;font-weight:500;letter-spacing:-.04em}
.nf-wmap__t{font-size:17px;line-height:1.6;color:#A9A59E;max-width:560px}
.nf-wmap .nf-btn{margin-top:8px}
.nf-wmap__svg{width:100%;max-height:360px;color:var(--accent-dk)}
.nf-wmap__svg g[fill="#fff"] circle{transition:fill .3s}
.nf-wmap:hover .nf-wmap__svg g[fill="#fff"] circle{fill:var(--accent-dk)}
.nf-wmap__pulse{transform-origin:400px 330px;animation:nfPulse 2.8s ease-out infinite}
@keyframes nfPulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(2.4);opacity:0}}

@media (max-width:1200px){
  .nf-wh{grid-template-columns:1fr;gap:40px;padding:48px}
  .nf-wh__num{align-items:flex-start;text-align:left}
  .nf-wg{grid-template-columns:1fr 1fr}
  .nf-wk--f{grid-row:auto;min-height:560px}
  .nf-wmap{grid-template-columns:1fr;padding:48px}
  .nf-wmap__svg{max-height:280px}
}
@media (max-width:720px){
  .nf-wh{padding:28px 20px;gap:0}
  .nf-wh__l{gap:20px}
  .nf-wh__h{font-size:48px}
  .nf-wh__h .nf-acc{display:inline}
  .nf-wh__txt{font-size:16px}
  .nf-wh>.nf-wh__num{display:none}
  .nf-wh__num--m{display:flex;flex-direction:row;align-items:center;gap:14px;text-align:left}
  .nf-wh__num--m b{font-size:64px}
  .nf-wh__num--m span{font-size:13px;line-height:1.35;max-width:170px}
  .nf-wh>.nf-ripple{right:-470px;top:-520px;opacity:.6}
  .nf-wf{margin-top:16px;margin-inline:-12px}
  .nf-wf__tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;background:none;padding:0 12px;gap:6px;min-width:0;flex:1 1 100%}
  .nf-wf__tabs::-webkit-scrollbar{display:none}
  .nf-wf__tabs a{background:#fff;height:44px;padding:0 18px}
  .nf-wf__sort{display:none}
  .nf-wg{grid-template-columns:1fr;margin-top:16px}
  .nf-wk--f{grid-column:auto;min-height:440px}
  .nf-wk--f .nf-wk__bd{left:20px;right:20px;bottom:20px;gap:10px}
  .nf-wk--f .nf-wk__t{font-size:26px}
  .nf-wk--f .nf-wk__s{font-size:14px}
  .nf-wk--f .nf-wk__tags{left:16px;top:16px}
  /* остальные — компактные строки */
  .nf-wk:not(.nf-wk--f){display:grid;grid-template-columns:112px 1fr;gap:14px;padding:8px;border-radius:22px}
  .nf-wk:not(.nf-wk--f)[hidden]{display:none}
  .nf-wk:not(.nf-wk--f)>.nf-ph{height:auto;min-height:124px;border-radius:16px}
  .nf-wk:not(.nf-wk--f) .nf-wk__tags{display:none}
  .nf-wk:not(.nf-wk--f) .nf-wk__bd{padding:6px 6px 6px 0;gap:6px}
  .nf-wk:not(.nf-wk--f) .nf-wk__tm{display:block;align-self:flex-start;padding:5px 10px;font-size:10px}
  .nf-wk:not(.nf-wk--f) .nf-wk__tm.nf-wk__tag--home{background:var(--bg)}
  .nf-wk:not(.nf-wk--f) .nf-wk__t{font-size:15px;line-height:1.28}
  .nf-wk:not(.nf-wk--f) .nf-wk__s,.nf-wk:not(.nf-wk--f) .nf-wk__go{display:none}
  .nf-wk:not(.nf-wk--f) .nf-wk__ft{padding-top:4px}
  .nf-wk:not(.nf-wk--f) .nf-wk__pr{font-size:13px}
  .nf-wmap{padding:28px 20px;gap:12px}
  .nf-wmap__svg{max-height:220px}
}
@media (prefers-reduced-motion:reduce){ .nf-wk,.nf-wmap__pulse{animation:none} .nf-wk__go,.nf-wf__tabs a{transition:none} }

/* шапка кейса: коллаж из 1–4 фото в своём формате (раскладка — services/workFields.js → collage) */
.nf-col{display:flex;flex-direction:column;gap:var(--gap);min-width:0}
.nf-col__row:last-child{flex:1 1 auto;align-items:stretch}   /* если карточка слева выше — нижний ряд дотягивается до её низа */
.nf-col__row{display:flex;gap:var(--gap);align-items:flex-start}
.nf-col__ph{border-radius:var(--r-lg);cursor:zoom-in;min-width:0}
.nf-col--mosaic{display:grid;gap:var(--gap)}
.nf-col--mosaic .nf-col__big{grid-column:1;grid-row:1/3}
.nf-col--mosaic .nf-col__sm{grid-column:2;grid-row:1}
.nf-col--mosaic .nf-col__sm:last-child{grid-row:2}
.nf-col__sp{grid-column:1/-1;grid-row:1/3;pointer-events:none}   /* задаёт высоту по формату фото; если карточка выше — блок тянется */
.nf-col .nf-gal__cap{z-index:1}
.nf-col__more{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:22px;color:#fff;background:linear-gradient(180deg,rgba(18,18,18,0) 30%,rgba(18,18,18,.78) 100%);transition:background .3s var(--ease)}
.nf-col__more b{font-size:clamp(32px,2.6vw,48px);font-weight:300;letter-spacing:-.04em;line-height:1}
.nf-col__more span{font-size:15px;font-weight:500}
.nf-col__ph:hover .nf-col__more{background:linear-gradient(180deg,rgba(18,18,18,.15) 0%,rgba(18,18,18,.85) 100%)}
@media (max-width:720px){
  .nf-col{display:none}
  .nf-snap{gap:6px}
  .nf-snap .nf-ph{flex:0 0 auto;height:min(112vw,480px);width:auto;scroll-snap-align:start;border-radius:var(--r-lg)}
}

/* «Ещё объекты»: снимки в основном вертикальные — карточка 4:5, фото почти без обрезки */
.nf-rel .nf-wc .nf-ph{aspect-ratio:4/5}
/* панель кейса на телефоне: длинная цена переносится, кнопка не уезжает за край */
@media (max-width:720px){ .nf-mbar--auto .nf-mbar__pr{flex:1 1 0;min-width:0} .nf-mbar--auto .nf-mbar__pr b{font-size:15px;line-height:1.2} .nf-mbar--auto .nf-btn{flex:none} }

/* =====================================================================
   «Для дома» (views/cottage.ejs) и «Для промышленности» (views/industry.ejs)
   design/redesng/house — общие блоки: hero, директор, пункты 3×2, каталог
   ===================================================================== */
.nf-page .nf-crumbs{padding-bottom:16px}

/* hero: плашка директора на фото, чек-лист, «до → после» */
.nf-hh--pg .nf-hh__card{padding:64px 64px 48px;min-height:720px}
.nf-hh--pg .nf-hh__stats{border-top:1px solid var(--line);padding-top:28px;gap:44px}
.nf-hh--pg .nf-hh__stats b{font-size:clamp(30px,2.1vw,40px)}
.nf-hh--pg .nf-hh__txt b{color:var(--ink);font-weight:600}
.nf-boss-pill{position:absolute;top:24px;left:24px;z-index:2;display:flex;align-items:center;gap:12px;padding:6px 20px 6px 6px;border-radius:999px;text-decoration:none;color:var(--ink);transition:transform .3s var(--ease)}
.nf-boss-pill:hover{color:var(--ink);transform:translateY(-2px)}
.nf-boss-pill img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:center 15%;flex:none}
.nf-boss-pill b{display:block;font-size:15px;font-weight:600;line-height:1.2}
.nf-boss-pill small{display:block;font-size:12px;color:var(--ink-2);line-height:1.3}
.nf-res{position:absolute;left:24px;bottom:24px;z-index:1;width:min(440px,calc(100% - 48px));padding:22px 24px;display:flex;flex-direction:column;gap:14px}
.nf-res__h{display:flex;justify-content:space-between;gap:12px}
.nf-res__r{display:grid;grid-template-columns:52px 1fr auto;align-items:baseline;gap:12px;border-top:1px solid rgba(18,18,18,.1);padding-top:14px}
.nf-res__s{font-size:28px;font-weight:300;letter-spacing:-.04em;line-height:1}
.nf-res__r s{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;color:var(--warn)}
.nf-res__r b{font-size:22px;font-weight:500;color:var(--accent);white-space:nowrap}
.nf-res__r b small{font-size:13px;color:var(--muted);font-weight:400}
.nf-pack{position:absolute;left:24px;bottom:24px;z-index:1;width:min(380px,calc(100% - 48px));padding:22px 24px}
.nf-pack ul{list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid rgba(18,18,18,.1);display:flex;flex-direction:column;gap:10px}
.nf-pack li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500}
.nf-pack li svg{flex:none;color:var(--accent)}
.js-rv .nf-pack li{opacity:0;transform:translateX(-8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.js-rv .nf-pack.in li{opacity:1;transform:none}
.nf-pack.in li:nth-child(2){transition-delay:.12s}.nf-pack.in li:nth-child(3){transition-delay:.24s}.nf-pack.in li:nth-child(4){transition-delay:.36s}

/* 01 проблемы — 6 карточек 3×2 */
.nf-prob--6{grid-template-columns:repeat(3,minmax(0,1fr))}
.nf-prob--6 .nf-prob__c{min-height:320px;padding:32px;justify-content:space-between;gap:28px}
.nf-prob--6 .nf-prob__sym{font-size:clamp(64px,5vw,96px);line-height:.8}
.nf-prob--6 .nf-prob__sym svg{width:96px;height:76px;display:block}
.nf-prob--6 .nf-prob__num{color:var(--accent)}
.nf-prob--6 .nf-dark .nf-prob__num{color:var(--accent-dk)}
.nf-prob__bd{display:flex;flex-direction:column;gap:10px}
.nf-prob__bd b{font-size:clamp(20px,1.4vw,24px);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.nf-prob__bd span{font-size:15px;line-height:1.55;color:var(--ink-2)}
.nf-prob--6 .nf-dark .nf-prob__bd span{color:#A9A59E}

/* пункты 3×2 с моно-номерами («Как мы считаем», «Что вы получаете») */
.nf-pts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:64px;padding:64px}
.nf-pts ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}
.nf-pts li{border-top:1px solid var(--line);padding:28px 0;display:flex;flex-direction:column;gap:10px}
.nf-pts li .nf-lbl{color:var(--accent)}
.nf-pts li b{font-size:21px;font-weight:500;letter-spacing:-.01em}
.nf-pts li p{margin:0;font-size:15px;line-height:1.55;color:var(--ink-2)}
.nf-pts li.no .nf-lbl{color:var(--warn)}
.nf-pts li.no b{text-decoration:line-through;text-decoration-color:var(--accent);text-decoration-thickness:2px}

/* директор сам выезжает */
.nf-boss{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:var(--gap);margin-top:var(--gap);scroll-margin-top:110px}
.nf-boss .nf-dir2__ph{min-height:600px}
.nf-boss .nf-block{display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.nf-boss .nf-block>div:first-child{display:flex;flex-direction:column;gap:18px}
.nf-boss .nf-block p{margin:0;font-size:18px;line-height:1.6;color:#3A3834;max-width:760px}
.nf-boss .nf-guar{margin-top:0;gap:32px}
.nf-boss .nf-guar b{font-weight:600;font-size:19px}
.nf-boss .nf-guar p{font-size:15px;color:var(--ink-2)}
.nf-boss .nf-guar a{font-weight:600;color:var(--ink);text-decoration:none;font-size:17px}
.nf-boss .nf-guar a:hover{color:var(--accent)}

/* 03 каталог готовых решений */
.nf-tabs{display:inline-flex;gap:4px;background:#fff;border-radius:999px;padding:5px}
.nf-tabs button{height:48px;padding:0 22px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s,color .2s}
.nf-tabs button:hover{background:var(--bg)}
.nf-tabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.nf-cat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.nf-cat[hidden]{display:none}
.nf-sc{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;border:0;padding:0;font:inherit;color:var(--ink);text-align:left;cursor:pointer;transition:transform .4s var(--ease)}
.nf-sc:hover{transform:translateY(-4px)}
.nf-sc--top{outline:2px solid var(--accent);outline-offset:-2px}
.nf-sc .nf-ph{border-radius:0;height:340px;background:#E8E7E5}
.nf-sc .nf-ph>img{object-fit:contain}
.nf-sc:hover .nf-ph>img{transform:scale(1.04)}
.nf-sc__b{position:absolute;left:20px;top:20px;z-index:1;background:#fff;color:var(--ink);border-radius:999px;padding:9px 14px}
.nf-sc__b--acc{background:var(--accent);color:#fff}
.nf-sc__b--ink{background:var(--ink);color:#fff}
.nf-sc__bd{padding:28px;display:flex;flex-direction:column;gap:10px;flex:1}
.nf-sc__t{font-size:clamp(20px,1.4vw,24px);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.nf-sc__x{font-size:15px;line-height:1.55;color:var(--ink-2)}
.nf-sc__ft{margin-top:auto;padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.nf-sc__pr{font-size:22px;font-weight:500;letter-spacing:-.02em}
.nf-sc__pr small{font-size:15px;color:var(--muted);font-weight:400}
.nf-sc__go{width:48px;height:48px;border-radius:999px;background:var(--ink);color:#fff;display:grid;place-items:center;flex:none;transition:transform .3s var(--ease),background .2s}
.nf-sc__go svg{width:18px;height:18px}
.nf-sc:hover .nf-sc__go{transform:rotate(45deg);background:var(--accent)}
.nf-sc-cta{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:40px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:420px;text-decoration:none}
.nf-sc-cta:hover{color:#fff}
.nf-sc-cta>.nf-ripple{right:-160px;top:-160px}
.nf-sc-cta__t{position:relative;font-size:clamp(30px,2.4vw,46px);line-height:1.02;font-weight:500;letter-spacing:-.03em}
.nf-sc-cta p{position:relative;margin:16px 0 24px;font-size:15px;line-height:1.55;color:#A9A59E}
.nf-sc-cta .nf-btn{position:relative;border:0}
/* промышленные решения: 2×2 горизонтальные карточки */
.nf-cat--rows{grid-template-columns:1fr 1fr}
.nf-cat--rows .nf-sc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:330px}
.nf-cat--rows .nf-sc .nf-ph{height:auto;min-height:100%}
.nf-cat--rows .nf-sc .nf-ph>img{object-fit:cover}
.nf-cat--rows .nf-sc__t{font-size:clamp(22px,1.6vw,28px)}
.nf-cat--rows .nf-sc__bd .nf-lbl{color:var(--accent)}
.nf-cat--rows .nf-sc__pr{font-size:15px;font-weight:500}
.nf-cat--rows .nf-sc.nf-dark{background:var(--ink);color:#fff}
.nf-cat--rows .nf-sc.nf-dark .nf-sc__x{color:#A9A59E}
.nf-cat--rows .nf-sc.nf-dark .nf-lbl{color:var(--accent-dk)}
.nf-cat--rows .nf-sc.nf-dark .nf-sc__go{background:#fff;color:var(--ink)}

/* 04 «что меняется после установки» */
.nf-after{position:relative;overflow:hidden;padding:72px}
.nf-after>.nf-ripple{right:-300px;top:-300px}
.nf-after__rows{position:relative;margin-top:48px}
.nf-after__r{display:grid;grid-template-columns:160px minmax(0,1fr) 80px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;padding:32px 0;border-top:1px solid #2B2A28}
.nf-after__r:last-child{border-bottom:1px solid #2B2A28}
.nf-after__s{font-size:72px;font-weight:300;letter-spacing:-.05em;line-height:1}
.nf-after__v{display:flex;flex-direction:column;gap:4px}
.nf-after__v b{font-size:clamp(40px,3.4vw,64px);font-weight:300;letter-spacing:-.04em;line-height:1.05}
.nf-after__v b small{font-size:18px;color:#8F8B84;letter-spacing:0;font-weight:400}
.nf-after__v.was b{color:#E39A6E}
.nf-after__v.now b{font-weight:500;color:#fff}
.nf-after__v.now .nf-lbl{color:var(--accent-dk)}
.nf-after__v.txt b{font-size:22px;letter-spacing:0;line-height:1.3}
.nf-after__arr{color:var(--accent-dk)}
.nf-after__n{text-align:right}
.nf-after__note{position:relative;margin:28px 0 0;font-size:15px;color:#A9A59E}
.nf-after__note a{color:#fff}
.nf-after__note a:hover{color:var(--accent-dk)}

/* 06 что дальше с системой */
.nf-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.nf-next>*{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:32px;min-height:340px;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--ink);background:#fff}
.nf-next>a:hover{color:var(--ink)}
.nf-next>a:hover .nf-next__v{color:var(--accent)}
.nf-next__v{margin-top:auto;font-size:clamp(48px,3.8vw,72px);font-weight:400;letter-spacing:-.045em;line-height:1;transition:color .3s}
.nf-next__v small{font-size:.32em;color:var(--muted);letter-spacing:0}
.nf-next__h{margin-top:auto;font-size:clamp(28px,2.2vw,40px);font-weight:400;letter-spacing:-.03em;line-height:1.1}
.nf-next p{margin:0;font-size:14px;line-height:1.55;color:var(--ink-2)}
.nf-next .nf-mint{background:var(--mint)}
.nf-next .nf-mint p,.nf-next .nf-mint .nf-lbl{color:var(--mint-ink-2)}
.nf-next .nf-dark{background:var(--ink);color:#fff}
.nf-next .nf-dark p{color:#A9A59E}

/* промка: 01 кому подходит — отрасли строкой */
.nf-inds{position:relative;overflow:hidden;padding:56px 64px 72px}
.nf-inds>.nf-ripple{right:-120px;bottom:-200px}
.nf-inds__h{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;position:relative}
.nf-inds__l{position:relative;margin:48px 0 0;font-size:clamp(40px,4.2vw,88px);font-weight:300;letter-spacing:-.04em;line-height:1.12}
.nf-inds__l a{color:#fff;text-decoration:none;background:linear-gradient(currentColor,currentColor) no-repeat 0 92%/0 2px;transition:background-size .5s var(--ease),color .2s}
.nf-inds__l a:hover{background-size:100% 2px;color:#fff}
.nf-inds__l a.hl{color:var(--accent-dk)}
.nf-inds__l i{font-style:normal;color:#3A3936;padding:0 .18em}

/* промка: 02 бенто — крупный + широкий + 2 */
.nf-bento--ind .nf-wide{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#fff;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink)}
.nf-bento--ind .nf-wide:hover{color:var(--ink)}
.nf-wide .nf-ph{border-radius:0;min-height:100%}
.nf-wide__bd{padding:28px;display:flex;flex-direction:column;gap:12px}
.nf-wide__t{font-size:clamp(20px,1.5vw,26px);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.nf-wide__x{font-size:14px;line-height:1.55;color:var(--ink-2)}
.nf-wide .nf-sc__go{margin-top:auto;align-self:flex-end;width:44px;height:44px}
.nf-wide:hover .nf-sc__go{transform:rotate(45deg);background:var(--accent)}

/* промка: 05 семь шагов */
.nf-seven{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:64px;align-items:start}
.nf-seven__h{position:sticky;top:120px}
.nf-seven__h .nf-txt{margin-top:20px;max-width:380px}
.nf-seven ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--field-2)}
.nf-seven li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding:28px 0;border-bottom:1px solid var(--field-2)}
.nf-seven__n{font-size:clamp(44px,3.4vw,64px);font-weight:300;letter-spacing:-.04em;line-height:.9;color:var(--accent)}
.nf-seven li:last-child .nf-seven__n{color:var(--ink)}
.nf-seven b{display:block;font-size:20px;font-weight:500;letter-spacing:-.01em}
.nf-seven p{margin:8px 0 0;font-size:15px;line-height:1.6;color:var(--ink-2);max-width:640px}

/* промквиз — те же стили, что у квиза главной */
.nf-q__opts--3{grid-template-columns:repeat(3,1fr)}
.nf-q__sub{margin:22px 0 10px;font-size:14px;color:var(--muted)}
.nf-q__f input[type=number]{-moz-appearance:textfield}
.nf-q__note{margin:14px 0 0;font-size:14px;color:var(--ink-2)}
.nf-q__fields--3{grid-template-columns:1fr 1fr}
.nf-q__fields--3 .nf-q__f:last-child{grid-column:1/-1}

@media (max-width:1200px){
  .nf-hh--pg .nf-hh__card{min-height:0}
  .nf-prob--6,.nf-next{grid-template-columns:1fr 1fr}
  .nf-pts,.nf-boss,.nf-seven{grid-template-columns:minmax(0,1fr)}
  .nf-pts ol,.nf-cat{grid-template-columns:1fr 1fr}
  .nf-cat--rows{grid-template-columns:1fr}
  .nf-after__r{grid-template-columns:110px minmax(0,1fr) 56px minmax(0,1fr)}
  .nf-after__n{display:none}
  .nf-seven__h{position:static}
  .nf-bento--ind .nf-wide{grid-column:1/-1}
}
@media (max-width:720px){
  .nf-hh--pg .nf-hh__card{padding:28px 20px}
  .nf-boss-pill{left:12px;right:12px;top:12px;padding-right:14px}
  .nf-boss-pill img{width:42px;height:42px}
  .nf-res,.nf-pack{left:12px;right:12px;bottom:12px;width:auto;padding:16px 18px}
  .nf-res__r b{font-size:19px}
  .nf-prob--6 .nf-prob__c{min-height:300px;padding:24px}
  .nf-pts{padding:28px 20px;gap:20px}
  .nf-pts ol{grid-template-columns:1fr}
  .nf-pts li{padding:20px 0}
  .nf-pts li b{font-size:19px}
  .nf-boss .nf-dir2__ph{min-height:440px}
  .nf-boss .nf-block p{font-size:16px}
  .nf-boss .nf-guar{gap:20px}
  .nf-tabs{width:100%}
  .nf-tabs button{flex:1;padding:0 10px}
  .nf-cat{grid-template-columns:1fr 1fr;gap:8px}
  .nf-sc .nf-ph{height:150px}
  .nf-sc__b{left:10px;top:10px;padding:6px 9px;font-size:9px;letter-spacing:.08em}
  .nf-sc__bd{padding:14px 14px 16px;gap:6px}
  .nf-sc__t{font-size:16px}
  .nf-cat .nf-sc__x{display:none}
  .nf-sc__ft{padding-top:8px}
  .nf-sc__pr{font-size:16px}
  .nf-sc__pr small{font-size:12px}
  .nf-sc__go{width:36px;height:36px}
  .nf-sc__go svg{width:14px;height:14px}
  .nf-sc-cta{grid-column:1/-1;min-height:0;padding:28px 22px}
  .nf-cat--rows{grid-template-columns:1fr}
  .nf-cat--rows .nf-sc{grid-template-columns:130px minmax(0,1fr);min-height:0}
  .nf-cat--rows .nf-sc .nf-ph{height:auto}
  .nf-cat--rows .nf-sc__t{font-size:18px}
  .nf-cat--rows .nf-sc__x{display:none}
  .nf-after{padding:28px 20px}
  .nf-after__rows{margin-top:28px}
  .nf-after__r{grid-template-columns:56px minmax(0,1fr) 28px minmax(0,1fr);gap:10px;padding:20px 0}
  .nf-after__s{font-size:36px}
  .nf-after__s svg{width:36px;height:36px}
  .nf-after__v b{font-size:30px}
  .nf-after__v b small{font-size:12px}
  .nf-after__v.txt b{font-size:15px}
  .nf-after__arr svg{width:28px}
  .nf-next{display:flex;flex-direction:column;gap:8px}
  .nf-next>*{min-height:220px;padding:24px}
  .nf-inds{padding:28px 20px 36px}
  .nf-inds__l{margin-top:28px;font-size:34px;line-height:1.18}
  .nf-bento--ind .nf-wide{display:flex;flex-direction:column;flex:0 0 280px}
  .nf-wide .nf-ph{aspect-ratio:16/10;min-height:0}
  .nf-seven{gap:28px}
  .nf-seven li{grid-template-columns:56px minmax(0,1fr);gap:14px;padding:20px 0}
  .nf-seven__n{font-size:36px}
  .nf-seven b{font-size:18px}
  .nf-q__opts--3,.nf-q__fields--3{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){ .nf-sc,.nf-sc__go,.nf-boss-pill{transition:none} .js-rv .nf-pack li{opacity:1;transform:none;transition:none} }
/* дом/промка: правки после скринов */
.nf-page #resheniya .nf-head__aside{margin-left:auto}
@media (max-width:720px){
  .nf-hh--pg .nf-hh__tag{white-space:normal;line-height:1.5}
  .nf-hh--pg~.nf-hh__mstats b,.nf-hh--pg .nf-hh__mstats b{font-size:24px;white-space:nowrap}
  .nf-after>.nf-ripple{display:none}
  .nf-page #resheniya .nf-head__aside{align-items:flex-start!important;margin-left:0}
  .nf-page #resheniya .nf-head__aside p{text-align:left!important}
}

/* ---------- блог: список статей (design/redesng/blog) ---------- */
.nf-bh{position:relative;overflow:hidden;background:#fff;border-radius:var(--r-xl);padding:64px;display:grid;grid-template-columns:1.3fr 1fr;gap:80px}
.nf-bh>.nf-ripple{left:-260px;bottom:-380px}
.nf-bh__l{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:40px;align-items:flex-start}
.nf-bh__top{display:flex;flex-direction:column;gap:28px}
.nf-bh__h{font-size:clamp(52px,4.3vw,104px);line-height:.95;letter-spacing:-.05em}
.nf-bh__h .nf-acc{display:block}
.nf-bh__txt{margin:0;font-size:18px;line-height:1.6;color:var(--ink-2);max-width:620px}
.nf-bh__topics{position:relative;display:flex;flex-direction:column;justify-content:flex-end}
.nf-bh__topics .nf-lbl{padding-bottom:14px}
.nf-bh__topics a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--line);text-decoration:none;font-size:clamp(24px,1.9vw,36px);font-weight:300;letter-spacing:-.03em;color:var(--ink);transition:color .25s,padding .35s var(--ease)}
.nf-bh__topics a:last-child{border-bottom:1px solid var(--line)}
.nf-bh__topics a i{font-style:normal;font-size:18px;transition:transform .35s var(--ease)}
.nf-bh__topics a:hover{color:var(--accent);padding-left:8px}
.nf-bh__topics a:hover i{transform:translateX(4px)}
.nf-bh__topics a.on{font-weight:500}
.nf-bh__topics a.on i{width:10px;height:10px;border-radius:999px;background:var(--accent)}
.nf-bchips{display:none}
.nf-btag{margin-top:16px;display:flex;align-items:center;gap:10px}
.nf-btag span{background:#fff;border-radius:999px;padding:10px 16px;font-size:14px}
.nf-btag a{width:36px;height:36px;border-radius:999px;background:#fff;display:grid;place-items:center;color:var(--ink);text-decoration:none}

.nf-bmeta{display:flex;flex-wrap:wrap;gap:6px 14px}
.nf-bmeta .nf-lbl{color:#8A857D}
.nf-bmeta .nf-bcat{color:var(--accent)}
.nf-btags{display:flex;flex-wrap:wrap;gap:6px}
.nf-btags span{font-size:12px;color:var(--ink-2);background:var(--bg);border-radius:999px;padding:6px 10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.nf-bf-s{margin-top:var(--gap)}
.nf-bf{display:grid;grid-template-columns:1.3fr 1fr;min-height:520px;background:#fff;border-radius:var(--r-xl);overflow:hidden;text-decoration:none;color:var(--ink)}
.nf-bf:hover{color:var(--ink)}
.nf-bf>.nf-ph{border-radius:0;min-height:360px}
.nf-bf__new{position:absolute;left:24px;top:24px;z-index:1;background:var(--accent);color:#fff!important;border-radius:999px;padding:10px 16px}
.nf-bf__bd{padding:56px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.nf-bf__top{display:flex;flex-direction:column;gap:18px}
.nf-bf__t{font-size:clamp(34px,2.8vw,56px);line-height:1.02;font-weight:500;letter-spacing:-.035em}
.nf-bf__x{font-size:17px;line-height:1.6;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.nf-bf__ft{display:flex;justify-content:space-between;align-items:center;gap:16px}
.nf-bf__ft .nf-btn{flex:none}

.nf-bg{margin-top:var(--gap);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.nf-bp{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);animation:nfWkIn .45s var(--ease) both}
.nf-bp[hidden]{display:none}
.nf-bp:hover{color:var(--ink)}
.nf-bp>.nf-ph{height:230px;border-radius:0;flex:none}
.nf-bp__bd{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.nf-bp__t{font-size:20px;line-height:1.25;font-weight:500;letter-spacing:-.01em;transition:color .25s}
.nf-bp:hover .nf-bp__t{color:var(--accent)}
.nf-bp__x{font-size:14px;line-height:1.55;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nf-bp .nf-btags{margin-top:auto;padding-top:6px}
.nf-bask{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:32px;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;gap:24px;min-height:440px}
.nf-bask:hover{color:#fff}
.nf-bask>.nf-ripple{right:-160px;top:-160px}
.nf-bask__bd{position:relative;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.nf-bask__t{font-size:30px;line-height:1.05;font-weight:500;letter-spacing:-.03em}
.nf-bask__x{font-size:14px;line-height:1.55;color:#A9A59E}
.nf-bmore{margin-top:32px;display:flex;justify-content:center}
.nf-btn__ic--down svg{transform:rotate(90deg)}
.nf-bempty{margin-top:var(--gap);background:#fff;border-radius:var(--r-xl);padding:64px;display:flex;flex-direction:column;align-items:center;gap:20px}

.nf-bcta{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:80px 72px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
.nf-bcta>.nf-ripple{left:50%;top:50%;transform:translate(-50%,-50%)}
.nf-bcta>:not(.nf-ripple){position:relative}
.nf-bcta p{margin:0;font-size:18px;line-height:1.6;color:#A9A59E;max-width:560px}
.nf-bcta .nf-btn{margin-top:8px}

@media (max-width:1200px){
  .nf-bh{grid-template-columns:1fr;gap:40px;padding:48px}
  .nf-bf{grid-template-columns:1fr}
  .nf-bg{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .nf-bh{padding:28px 20px;gap:0}
  .nf-bh__l{gap:24px}
  .nf-bh__top{gap:18px}
  .nf-bh__h{font-size:46px}
  .nf-bh__h .nf-acc{display:inline}
  .nf-bh__txt{font-size:16px}
  .nf-bh__topics{display:none}
  .nf-bh>.nf-ripple{left:auto;right:-470px;bottom:-520px;opacity:.6}
  .nf-bchips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-top:12px;padding:0 12px;width:100%}
  .nf-bchips::-webkit-scrollbar{display:none}
  .nf-bchips a{flex:none;display:inline-flex;align-items:center;height:44px;padding:0 18px;border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap}
  .nf-bchips a.on{background:var(--ink);color:#fff}
  .nf-bf-s{margin-top:12px}
  .nf-bf>.nf-ph{min-height:0;aspect-ratio:4/3}
  .nf-bf__bd{padding:22px 20px 20px;gap:20px}
  .nf-bf__t{font-size:28px}
  .nf-bf__x{font-size:15px;-webkit-line-clamp:3}
  .nf-bf__ft .nf-btags{display:none}
  .nf-bf__ft .nf-btn{flex:1}
  .nf-bg{grid-template-columns:1fr}
  /* остальные — компактные строки */
  .nf-bp{display:grid;grid-template-columns:112px 1fr;gap:14px;padding:8px;border-radius:22px}
  .nf-bp>.nf-ph{height:auto;min-height:112px;border-radius:16px}
  .nf-bp__bd{padding:6px 6px 6px 0;gap:6px}
  .nf-bp__t{font-size:15px;line-height:1.28}
  .nf-bp__x,.nf-bp .nf-btags{display:none}
  .nf-bmeta .nf-lbl{font-size:10px}
  .nf-bask{min-height:0;padding:22px 20px;flex-direction:row;align-items:center}
  .nf-bask>.nf-lbl,.nf-bask__x{display:none}
  .nf-bask__bd{flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:12px}
  .nf-bask__t{font-size:22px}
  .nf-bask .nf-btn{min-height:48px;font-size:14px}
  .nf-bcta{padding:48px 20px}
  .nf-bcta p{font-size:16px}
}
@media (prefers-reduced-motion:reduce){ .nf-bp{animation:none} .nf-bh__topics a,.nf-bh__topics a i{transition:none} }
.nf-bcta>.nf-ripple{opacity:.35}
.nf-bh>.nf-ripple{opacity:.55}

/* ---------- блог: статья ---------- */
.nf-ah{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--gap)}
.nf-ah__card{position:relative;overflow:hidden;background:#fff;border-radius:var(--r-xl);padding:56px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-height:620px}
.nf-ah__card>.nf-ripple{right:-240px;bottom:-280px;opacity:.6}
.nf-ah__top{position:relative;display:flex;flex-direction:column;gap:26px}
.nf-ah__nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nf-ah__back{font-size:14px;font-weight:500;background:var(--bg);border-radius:999px;padding:9px 16px;text-decoration:none;color:var(--ink);transition:background .25s}
.nf-ah__back:hover{background:var(--mint);color:var(--ink)}
.nf-ah__cat{background:var(--mint);color:var(--mint-ink)!important;border-radius:999px;padding:9px 14px;text-decoration:none}
.nf-ah__h{margin:0;font-size:clamp(40px,3.6vw,76px);line-height:1;font-weight:600;letter-spacing:-.045em}
.nf-ah__h .nf-acc{display:block}
.nf-ah__lead{margin:0;font-size:17px;line-height:1.6;color:var(--ink-2);max-width:560px}
.nf-ah__meta{position:relative;display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px}
.nf-ah__meta>span{display:flex;flex-direction:column;gap:2px}
.nf-ah__meta .nf-lbl{color:#8A857D}
.nf-ah__meta b,.nf-ah__meta time{font-size:16px;font-weight:500}
.nf-ah__ph{border-radius:var(--r-xl);min-height:620px}

.nf-ab{margin-top:72px;display:grid;grid-template-columns:260px minmax(0,780px) 380px;justify-content:space-between;gap:56px;align-items:start}
.nf-ab--notoc{grid-template-columns:minmax(0,780px) 380px}
.nf-toc{position:sticky;top:24px}
.nf-toc__m{display:none}
.nf-toc__d{display:flex;flex-direction:column}
.nf-toc__d .nf-lbl{padding-bottom:14px}
.nf-toc a{display:block;padding:10px 0 10px 16px;border-left:2px solid #E3DFD8;text-decoration:none;font-size:15px;line-height:1.4;color:var(--muted);transition:color .2s,border-color .2s}
.nf-toc a:hover{color:var(--ink)}
.nf-toc a.on{border-left-color:var(--accent);color:var(--ink);font-weight:500}

.nf-atext{font-size:18px;line-height:1.72;color:#2E2C29;min-width:0}
.nf-atext>:first-child{margin-top:0}
.nf-atext p{margin:0 0 22px}
.nf-atext h2{margin:64px 0 22px;font-size:36px;line-height:1.1;font-weight:500;letter-spacing:-.03em;color:var(--ink);scroll-margin-top:24px}
.nf-atext h3{margin:36px 0 14px;font-size:22px;line-height:1.25;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.nf-atext a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.nf-atext strong,.nf-atext b{color:var(--ink);font-weight:600}
.nf-atext ol,.nf-atext ul:not(.nf-check){margin:0 0 22px;padding-left:24px}
.nf-atext li{margin-bottom:8px}
.nf-atext img{border-radius:var(--r-lg);margin:8px 0 22px;height:auto}
.nf-akinds{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.nf-akind{background:#fff;border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.6;color:var(--ink-2)}
.nf-akind .nf-lbl{color:var(--accent)}
.nf-akind h3{margin:0;font-size:19px;font-weight:600}
.nf-akind p{margin:0}
.nf-check{list-style:none;margin:0 0 22px;padding:0}
.nf-check li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:16px 0;margin:0;border-top:1px solid #E3DFD8;font-size:17px;line-height:1.55}
.nf-check li:last-child{border-bottom:1px solid #E3DFD8}
.nf-check svg{width:22px;height:22px;margin-top:2px;color:var(--accent)}
.nf-check--x svg{width:20px;height:20px;color:#A44A12}
.nf-callout{background:var(--mint);border-radius:28px;padding:32px 34px;margin:0 0 22px;font-size:19px;line-height:1.6;color:#22403D}
.nf-callout p:last-child{margin:0}
.nf-tbl{overflow-x:auto;margin:0 0 22px;background:#fff;border-radius:20px}
.nf-tbl table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.nf-tbl th,.nf-tbl td{padding:14px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.nf-tbl th{font-weight:600;color:var(--ink);background:#FAF9F6}
.nf-afaqs{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.nf-afaq{background:#fff;border-radius:22px;padding:0 26px}
.nf-afaq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:72px;font-size:18px;font-weight:500;color:var(--ink);cursor:pointer}
.nf-afaq summary::-webkit-details-marker{display:none}
.nf-afaq summary i{flex:none;width:40px;height:40px;border-radius:999px;background:var(--bg);display:grid;place-items:center;font-style:normal;transition:background .25s,color .25s}
.nf-afaq summary i::before{content:"+";font-size:20px;line-height:1}
.nf-afaq[open] summary i{background:var(--ink);color:#fff}
.nf-afaq[open] summary i::before{content:"−"}
.nf-afaq>div{font-size:16px;line-height:1.65;color:var(--ink-2);padding-bottom:22px}
.nf-afaq>div p:last-child{margin:0}
.nf-acta{margin:40px 0 0}
.nf-amsg{margin-top:40px}
.nf-amsg__h{margin:10px 0 0;font-size:26px;line-height:1.15;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.nf-amsg__p{margin:10px 0 0!important;font-size:16px}
.nf-amsg__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.nf-amsg__btns a{text-decoration:none!important;display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:12px 20px;font-size:15px;font-weight:500;background:#fff;color:var(--ink)!important}
.nf-amsg__btns a:first-child{background:var(--ink);color:#fff!important}
.nf-atags{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}
.nf-atags a{font-size:13px;color:var(--ink-2)!important;background:#fff;border-radius:999px;padding:8px 14px;text-decoration:none!important;transition:background .2s}
.nf-atags a:hover{background:var(--mint)}

.nf-aside{position:sticky;top:24px;display:flex;flex-direction:column;gap:var(--gap)}
.nf-adir{background:#fff;border-radius:var(--r-lg);overflow:hidden}
.nf-adir__ph{border-radius:0;aspect-ratio:4/3}
.nf-adir__ph img{object-position:center 20%}
.nf-adir__bd{padding:22px 24px 24px;display:flex;flex-direction:column;gap:6px}
.nf-adir__bd b{font-size:18px;font-weight:600}
.nf-adir__role{font-size:13px;color:var(--muted)}
.nf-adir__bd p{margin:8px 0 14px;font-size:15px;line-height:1.55;color:var(--ink-2)}
.nf-adir__bd .nf-btn{justify-content:space-between}
.nf-adir__tel{margin-top:10px;text-align:center;font-weight:500;color:var(--ink);text-decoration:none}
.nf-atopic{background:#fff;border-radius:var(--r-lg);padding:22px 24px;display:flex;flex-direction:column}
.nf-atopic .nf-lbl{padding-bottom:10px}
.nf-atopic a{padding:12px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.4;color:var(--ink);text-decoration:none}
.nf-atopic a i{font-style:normal;color:var(--accent)}
.nf-atopic a:hover{color:var(--accent)}

@media (max-width:1400px){ .nf-ab{grid-template-columns:220px minmax(0,1fr) 320px;gap:40px} .nf-ab--notoc{grid-template-columns:minmax(0,1fr) 320px} }
@media (max-width:1200px){
  .nf-ah{grid-template-columns:1fr}
  .nf-ah__card,.nf-ah__ph{min-height:0}
  .nf-ah__ph{aspect-ratio:16/9}
  .nf-ab,.nf-ab--notoc{grid-template-columns:minmax(0,1fr);margin-top:40px;gap:32px}
  .nf-toc,.nf-aside{position:static}
  .nf-toc__d{display:none}
  .nf-toc__m{display:block;background:#fff;border-radius:22px;padding:0 22px}
  .nf-toc__m summary{list-style:none;min-height:60px;display:flex;align-items:center;justify-content:space-between;font-weight:500;cursor:pointer}
  .nf-toc__m summary::-webkit-details-marker{display:none}
  .nf-toc__m summary::after{content:"+";font-size:20px}
  .nf-toc__m[open] summary::after{content:"−"}
  .nf-toc__m a{border-left:0;padding:12px 0;border-top:1px solid var(--line)}
  .nf-toc__m[open]{padding-bottom:10px}
  .nf-aside{display:grid;grid-template-columns:1fr 1fr;align-items:start}
}
@media (max-width:720px){
  .nf-ah__card{padding:28px 20px;gap:28px}
  .nf-ah__h{font-size:36px}
  .nf-ah__lead{font-size:16px}
  .nf-ah__meta{gap:20px}
  .nf-ah__ph{aspect-ratio:4/3}
  .nf-atext{font-size:17px}
  .nf-atext h2{font-size:28px;margin-top:48px}
  .nf-akinds{grid-template-columns:1fr}
  .nf-callout{padding:24px 22px;font-size:17px}
  .nf-afaq{padding:0 18px}
  .nf-afaq summary{font-size:16px;min-height:64px}
  .nf-aside{grid-template-columns:1fr}
  .nf-acta .nf-btn{width:100%;justify-content:space-between}
}
.nf-atext a.nf-btn{text-decoration:none}
.nf-atext a.nf-btn--dark{color:#fff}
.nf-toc,.nf-aside{top:108px}
.nf-atext h2{scroll-margin-top:110px}
.nf-ah__lead{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:720px){
  .nf-ah__lead{-webkit-line-clamp:3}
  .nf-rel .nf-bp{display:flex;padding:0;border-radius:var(--r-lg)}
  .nf-rel .nf-bp>.nf-ph{height:180px;min-height:0;border-radius:0}
  .nf-rel .nf-bp__bd{padding:18px 20px 20px}
}

/* ---------- общая шапка страницы (Услуги, Контакты) ---------- */
.nf-pgh{position:relative;overflow:hidden;background:#fff;border-radius:var(--r-xl);padding:64px;display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.nf-pgh>.nf-ripple{right:-180px;top:-300px}
.nf-pgh>:not(.nf-ripple){position:relative}
.nf-pgh__h{font-size:clamp(48px,4.6vw,96px);line-height:.98;letter-spacing:-.05em;max-width:1400px}
.nf-pgh__txt{margin:0;font-size:18px;line-height:1.6;color:var(--ink-2);max-width:680px}
.nf-pgh__btns{display:flex;flex-wrap:wrap;gap:10px}
.nf-ico{flex:none;width:48px;height:48px;border-radius:14px;background:var(--ink);color:#fff;display:grid;place-items:center}
.nf-ico svg{width:22px;height:22px;stroke-width:1.7}

/* ---------- Услуги ---------- */
.nf-svcs{margin-top:var(--gap);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.nf-svc{background:#fff;border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--ink);min-height:340px;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.nf-svc:hover{color:var(--ink);transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(18,18,18,.25)}
.nf-svc .nf-ico{margin-bottom:22px}
.nf-svc__t{font-size:clamp(24px,1.7vw,32px);font-weight:500;letter-spacing:-.03em;line-height:1.1}
.nf-svc__x{font-size:15px;line-height:1.55;color:var(--muted)}
.nf-svc__ft{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}
.nf-svc__ft>span:first-child{display:flex;flex-direction:column;gap:4px}
.nf-svc__ft b{font-size:20px;font-weight:500;color:var(--accent);letter-spacing:-.01em}
.nf-svc__ft .nf-lbl{color:#8A857D}
.nf-svc__go{flex:none;width:44px;height:44px;border-radius:999px;background:var(--ink);color:#fff;display:grid;place-items:center;transition:transform .35s var(--ease),background .3s}
.nf-svc:hover .nf-svc__go{transform:rotate(45deg);background:var(--accent)}
.nf-why{background:#fff;border-radius:var(--r-xl);padding:64px;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,2fr);gap:64px}
.nf-why__h .nf-acc{display:block}
.nf-why__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}
.nf-why__g>div{border-top:1px solid var(--line);padding:28px 0 36px;display:flex;flex-direction:column;gap:12px}
.nf-why__g .nf-ico{width:40px;height:40px;border-radius:12px;margin-bottom:8px}
.nf-why__g .nf-ico svg{width:18px;height:18px}
.nf-why__g b{font-size:18px;font-weight:600}
.nf-why__g p{margin:0;font-size:15px;line-height:1.55;color:var(--muted)}
.nf-svc__tag{position:absolute;top:14px;left:14px;z-index:1}
.nf-rel--svc .nf-wc__t{font-size:19px}
.nf-rel--svc .nf-wk__s{margin-top:-2px}

@media (max-width:1200px){
  .nf-pgh{padding:48px}
  .nf-svcs{grid-template-columns:1fr 1fr}
  .nf-why{grid-template-columns:1fr;gap:32px;padding:48px}
  .nf-why__g{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .nf-pgh{padding:28px 20px;gap:20px}
  .nf-pgh>.nf-ripple{right:-470px;top:-520px;opacity:.6}
  .nf-pgh__h{font-size:40px}
  .nf-pgh__txt{font-size:16px}
  .nf-pgh__btns{width:100%}
  .nf-pgh__btns .nf-btn{flex:1 1 100%;justify-content:space-between}
  .nf-svcs{grid-template-columns:1fr}
  .nf-svc{padding:24px 20px;min-height:0}
  .nf-svc .nf-ico{margin-bottom:8px}
  .nf-why{padding:28px 20px}
  .nf-why__g{grid-template-columns:1fr}
  .nf-why__g>div{padding:20px 0 24px}
}
@media (prefers-reduced-motion:reduce){ .nf-svc,.nf-svc__go{transition:none} .nf-svc:hover{transform:none} }
.nf-rel--svc .nf-wc .nf-ph{aspect-ratio:4/3}
/* Услуги: этапы на телефоне — вертикальной линией (ТЗ), на главной остаются лентой */
@media (max-width:720px){
  .nf-svcp .nf-proc{display:flex;flex-direction:column;overflow:visible;margin:0;padding:0;gap:12px}
  .nf-svcp .nf-proc>*{flex:none}
  .nf-svcp .nf-proc li{flex-direction:row;gap:14px}
  .nf-svcp .nf-proc li:not(:last-child)::before{display:block;content:"";top:52px;bottom:-12px;left:24px;right:auto;border-top:0;border-left:1px dashed var(--field)}
  .nf-svcp .nf-proc__c{padding:20px}
  .nf-svcp .nf-proc__c b{font-size:18px}
}

/* ---------- Контакты ---------- */
.nf-ct{margin-top:var(--gap);display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.nf-ct-s{margin-top:var(--gap)}
.nf-ct__card{background:#fff;border-radius:var(--r-xl);padding:48px 56px}
.nf-ct__list{display:flex;flex-direction:column}
.nf-ct__row{display:flex;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.nf-ct__row:first-child{padding-top:0}
.nf-ct__row>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.nf-ct__row a,.nf-ct__row b{font-size:19px;font-weight:500;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.nf-ct__row a:hover{color:var(--accent)}
.nf-ct__row small{font-size:13px;color:var(--muted)}
.nf-ct__row--tel a{font-size:clamp(30px,2.4vw,44px);font-weight:400;letter-spacing:-.03em;line-height:1.1}
.nf-ct__msgs{padding-top:24px;display:flex;flex-direction:column;gap:12px}
.nf-ct__msgs>div{display:flex;gap:10px}
.nf-msg{width:52px;height:52px;border-radius:999px;border:1px solid var(--field);display:grid;place-items:center;color:var(--ink);transition:background .25s,color .25s,border-color .25s}
.nf-msg svg{width:20px;height:20px}
.nf-msg b{font-size:16px}
.nf-msg:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.nf-ct__fh{margin:0;font-size:clamp(32px,2.4vw,46px);font-weight:500;letter-spacing:-.035em}
.nf-ct__fs{margin:10px 0 24px;font-size:15px;color:var(--muted)}
.nf-prep{margin-top:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.nf-prep>div{border-top:2px solid var(--ink);padding-top:20px}
.nf-prep b{font-size:18px;font-weight:600}
.nf-prep p{margin:8px 0 0;font-size:15px;line-height:1.55;color:var(--muted)}
.nf-req{margin:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.nf-req>div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--line)}
.nf-req>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
.nf-req dt{color:var(--muted)}
.nf-req dd{margin:0;font-weight:500;text-align:right;font-variant-numeric:tabular-nums}
.nf-zone{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;align-items:stretch}
.nf-zone__l{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.nf-zone__l .nf-acc{display:block}
.nf-zone__l .nf-txt{margin:0;max-width:560px}
.nf-zone__c{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px;width:100%;font-size:15px}
.nf-zone__c li{display:flex;align-items:center;gap:8px}
.nf-zone__c svg{width:15px;height:15px;color:var(--accent);flex:none}
.nf-zone__l .nf-btn{margin-top:10px}
.nf-zone__map{border-radius:var(--r-xl);overflow:hidden;background:#E7E3DC;min-height:520px}
.nf-zone__map iframe{display:block;border:0;width:100%;height:100%;min-height:520px}

@media (max-width:1200px){
  .nf-ct{grid-template-columns:1fr}
  .nf-ct__card{padding:40px}
  .nf-prep{grid-template-columns:1fr 1fr}
  .nf-zone{grid-template-columns:1fr;gap:32px}
}
@media (max-width:720px){
  .nf-ct__card{padding:24px 20px}
  .nf-ct__row{gap:14px;padding:16px 0}
  .nf-ct__row a,.nf-ct__row b{font-size:16px}
  .nf-ct__row--tel a{font-size:28px}
  .nf-prep{grid-template-columns:1fr;gap:18px}
  .nf-prep>div{border-top-width:1px;padding-top:14px}
  .nf-req{grid-template-columns:1fr}
  .nf-req>div:nth-last-child(2){border-bottom:0}
  .nf-zone__c{grid-template-columns:1fr 1fr}
  .nf-zone__l .nf-btn{width:100%;justify-content:space-between}
  .nf-zone__map,.nf-zone__map iframe{min-height:380px}
}
.nf-ctp .nf-pgh>.nf-ripple{right:-280px;top:-400px;opacity:.6}

/* ---------- Карта воды (/voda) ---------- */
.vd{--ok:#1F6F6B;--warn:#B7791F;--bad:#C1483B;overflow-x:hidden}
.vd-h{position:relative;overflow:hidden;background:#fff;border-radius:var(--r-xl);padding:64px;display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:end}
.vd-h>.nf-ripple{right:-200px;top:-320px;opacity:.7}
.vd-h__l,.vd-h__r{position:relative;display:flex;flex-direction:column;gap:24px;min-width:0}
.vd-h__l{align-items:flex-start}
.vd-h__r{align-items:flex-end;text-align:right}
.vd-h__h{font-size:clamp(52px,4.8vw,104px);line-height:.95;letter-spacing:-.05em}
.vd-h__h .nf-acc{display:block}
.vd-h__txt{margin:0;font-size:18px;line-height:1.6;color:var(--ink-2);max-width:640px}
.vd-search{position:relative;width:100%;max-width:640px}
.vd-search svg{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:var(--muted)}
.vd-search input{width:100%;height:64px;padding:0 22px 0 56px;font:inherit;font-size:17px;border:1px solid var(--field);border-radius:999px;background:var(--bg);outline:none;transition:border-color .2s,background .2s,box-shadow .2s}
.vd-search input:focus{border-color:var(--ink);background:#fff;box-shadow:0 0 0 4px rgba(31,111,107,.12)}
.vd-geo{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:15px;color:var(--accent);background:none;border:0;cursor:pointer;padding:4px 0;margin-top:-8px}
.vd-geo:hover{text-decoration:underline;text-underline-offset:3px}
.vd-note{background:var(--mint);color:var(--mint-ink-2);border-radius:22px;padding:18px 22px;font-size:14px;line-height:1.55;text-align:left;max-width:420px}
.vd-note b{color:var(--mint-ink)}
.vd-note a{color:var(--mint-ink);text-decoration:underline;text-underline-offset:3px}

.vd-x{margin-top:var(--gap);display:grid;grid-template-columns:300px minmax(0,1.2fr) minmax(0,1fr);gap:var(--gap);height:660px}
.vd .list{background:#fff;border-radius:var(--r-lg);overflow-y:auto;scrollbar-width:thin;min-height:0}
.vd .item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);cursor:pointer;font:inherit;color:var(--ink);transition:background .15s}
.vd .item:last-child{border-bottom:0}
.vd .item:hover{background:#FAF9F6}
.vd .item.active{background:var(--ink);color:#fff}
.vd .item.active .sub{color:#B8B4AD}
.vd .item .nm{font-weight:500;font-size:16px}
.vd .item .sub{font-size:12px;color:var(--muted);margin-top:2px}
.vd .pill{flex:none;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:999px;white-space:nowrap}
.vd .pill.ok{background:var(--mint);color:var(--mint-ink)}
.vd .pill.warn{background:#F6E8D2;color:#8A5A12}
.vd .pill.bad{background:#F6DCD7;color:#9E3326}
.vd .empty{padding:28px 20px;text-align:center;color:var(--muted);font-size:14px}
.vd .detail{background:#fff;border-radius:var(--r-lg);padding:32px;overflow-y:auto;min-height:0;scrollbar-width:thin}
.vd .detail .place{margin-top:10px;font-size:clamp(26px,2vw,36px);font-weight:500;letter-spacing:-.03em;line-height:1.1}
.vd .detail .sub{margin-top:6px;font-size:14px;color:var(--muted)}
.vd .detail table{width:100%;border-collapse:collapse;margin-top:22px;font-size:14px;table-layout:fixed}
.vd .detail th{text-align:left;font-family:'JetBrains Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8A857D;font-weight:400;padding:0 8px 10px}
.vd .detail td{padding:12px 8px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.vd .detail td.val{font-family:'JetBrains Mono',monospace;font-weight:500;font-variant-numeric:tabular-nums}
.vd .detail td.vd-norm{color:var(--muted);font-weight:400}
.vd .st{font-size:12px;font-weight:600}
.vd .st.ok{color:var(--ok)} .vd .st.warn{color:var(--warn)} .vd .st.bad{color:var(--bad)}
.vd .summary{margin-top:20px;padding:16px 18px;border-radius:18px;background:var(--bg);font-size:14px;line-height:1.55}
.vd-acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:20px}
.vd-more{font-size:14px;font-weight:500;color:var(--accent)}
.vd .ph{display:grid;place-items:center;height:100%;color:var(--muted);text-align:center;font-size:15px;padding:20px}
.vd-mapw{position:relative;min-height:0;border-radius:var(--r-lg);overflow:hidden;background:#E7E3DC}
.vd #vmap{position:absolute;inset:0;z-index:1}
.vd .leaflet-tile-pane{filter:grayscale(1) contrast(.92) brightness(1.04)}
.vd .leaflet-container{font-family:'Inter Tight',system-ui,sans-serif;background:#E7E3DC}
.vd .leaflet-control-zoom{border:0!important;box-shadow:none!important;margin:16px!important}
.vd .leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important;border-radius:999px!important;border:0!important;margin-bottom:6px;color:var(--ink)!important;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.vd .leaflet-popup-content-wrapper{border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.vd .leaflet-popup-content{margin:14px 16px}
.vd .pop-nm{font-weight:600;font-size:14px;margin-bottom:6px}
.vd .pop-row{display:flex;justify-content:space-between;gap:16px;font-size:12px;padding:2px 0}
.vd .pop-row b{font-family:'JetBrains Mono',monospace}
.vd .legend{position:absolute;z-index:2;left:16px;bottom:16px;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:999px;padding:9px 16px;max-width:calc(100% - 32px)}
.vd .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.vd-chips{display:flex;flex-wrap:wrap;gap:8px}
.vd-chips a{background:#fff;border-radius:999px;padding:11px 18px;font-size:15px;color:var(--ink);text-decoration:none;transition:background .2s,color .2s}
.vd-chips a:hover{background:var(--ink);color:#fff}

@media (max-width:1200px){
  .vd-h{grid-template-columns:1fr;gap:32px;padding:48px}
  .vd-h__r{align-items:flex-start;text-align:left}
  .vd-x{grid-template-columns:300px minmax(0,1fr);height:auto}
  .vd .list,.vd .detail{height:560px}
  .vd-mapw{grid-column:1/-1;height:520px}
}
@media (max-width:720px){
  .vd-h{padding:28px 20px;gap:24px}
  .vd-h>.nf-ripple{right:-470px;top:-520px;opacity:.5}
  .vd-h__h{font-size:44px}
  .vd-h__h .nf-acc{display:inline}
  .vd-h__txt{font-size:16px}
  .vd-search input{height:56px;font-size:16px}
  .vd-h__r .nf-wh__num{flex-direction:row;align-items:center;gap:14px}
  .vd-h__r .nf-wh__num b{font-size:64px}
  .vd-h__r .nf-wh__num span{font-size:13px;max-width:200px}
  .vd-x{grid-template-columns:1fr}
  .vd .list{height:340px}
  .vd .detail{height:auto;padding:24px 20px}
  .vd .detail table{font-size:13px}
  .vd .detail td{padding:10px 5px}
  .vd .detail th{padding:0 5px 8px}
  .vd-mapw{height:420px}
  .vd .legend{border-radius:16px;font-size:11px;gap:6px 12px}
  .vd-acts .nf-btn{width:100%;justify-content:space-between}
  .vd-chips a{padding:9px 14px;font-size:14px}
}
.vd .detail td.val{white-space:nowrap}
@media (max-width:1400px){ .vd .detail{padding:26px 24px} .vd .detail table{font-size:13px} }

/* ---------- страница услуги (/services/<slug>) ---------- */
.nf-svh{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--gap)}
.nf-svh__card{position:relative;overflow:hidden;background:#fff;border-radius:var(--r-xl);padding:56px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-height:540px}
.nf-svh__card>.nf-ripple{right:-240px;bottom:-280px;opacity:.6}
.nf-svh__card>:not(.nf-ripple){position:relative}
.nf-svh__top{display:flex;flex-direction:column;gap:26px}
.nf-svh__lead{margin:0;font-size:18px;line-height:1.6;color:var(--ink-2);max-width:760px}
.nf-svh__side{border-radius:var(--r-xl);padding:40px;display:flex;flex-direction:column;gap:28px}
.nf-svh__side .nf-lbl{color:var(--mint-ink)}
.nf-svh__pt{display:flex;flex-wrap:wrap;gap:20px 40px;padding-bottom:26px;border-bottom:1px solid rgba(31,95,91,.18)}
.nf-svh__pt>div{display:flex;flex-direction:column;gap:6px}
.nf-svh__pt b{font-size:clamp(28px,2.2vw,40px);font-weight:400;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.nf-svh__inc{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column}
.nf-svh__inc li{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:12px 0;border-top:1px solid rgba(31,95,91,.14);font-size:16px;color:var(--ink)}
.nf-svh__inc svg{width:20px;height:20px;color:var(--accent);margin-top:1px}
.nf-svfaq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:64px;align-items:start}
.nf-svfaq .nf-afaqs{margin:0}
.nf-svcs--mini{margin-top:0}
.nf-svcs--mini .nf-svc{min-height:0;padding:28px}
.nf-svcs--mini .nf-ico{margin-bottom:6px}
.nf-svcs--mini .nf-svc__t{font-size:clamp(20px,1.4vw,26px)}

@media (max-width:1200px){
  .nf-svh{grid-template-columns:1fr}
  .nf-svh__card{min-height:0;padding:48px}
  .nf-svfaq{grid-template-columns:1fr;gap:28px}
  .nf-svpg .nf-proc{grid-template-columns:1fr 1fr!important}
}
@media (max-width:720px){
  .nf-svh__card{padding:28px 20px;gap:28px}
  .nf-svh__lead{font-size:16px}
  .nf-svh__side{padding:28px 20px}
  .nf-svpg .nf-pgh__btns .nf-btn{flex:1 1 100%;justify-content:space-between}
  .nf-svpg .nf-proc{display:flex!important;flex-direction:column;overflow:visible;margin:0;padding:0;gap:12px}
  .nf-svpg .nf-proc>*{flex:none}
  .nf-svpg .nf-proc li{flex-direction:row;gap:14px}
  .nf-svpg .nf-proc li:not(:last-child)::before{display:block;content:"";top:52px;bottom:-12px;left:24px;right:auto;border-top:0;border-left:1px dashed var(--field)}
  .nf-svpg .nf-proc__c{padding:20px}
  .nf-svcs--mini .nf-svc{padding:22px 20px}
}

/* ---------- страница района (/voda/<район>) ---------- */
.vdd-h{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--gap)}
.vdd-h__card{position:relative;overflow:hidden;background:#fff;border-radius:var(--r-xl);padding:56px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-height:600px}
.vdd-h__card>.nf-ripple{right:-240px;bottom:-280px;opacity:.6}
.vdd-h__card>:not(.nf-ripple){position:relative}
.vdd-h__top{display:flex;flex-direction:column;gap:26px}
.vdd-h__txt{margin:0;font-size:18px;line-height:1.6;color:var(--ink-2);max-width:720px}
.vdd-h__txt b{color:var(--ink)}
.vdd-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.vdd-top__i{border-radius:22px;padding:18px 20px;display:flex;flex-direction:column;gap:6px;background:var(--bg)}
.vdd-top__i b{font-size:clamp(26px,2vw,36px);font-weight:400;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}
.vdd-top__i b small{font-size:.45em;letter-spacing:0;color:var(--muted)}
.vdd-top__i>span:last-child{font-size:13px;color:var(--muted)}
.vdd-top__i em{font-style:normal;font-weight:600}
.vdd-top__i--bad em{color:var(--bad)} .vdd-top__i--warn em{color:var(--warn)}
.vdd-top__i--bad{background:#FBEFEC} .vdd-top__i--warn{background:#FBF3E6}
.vdd-h__map{position:relative;border-radius:var(--r-xl);overflow:hidden;background:#E7E3DC;min-height:420px}
.vdd-h__map #dmap{position:absolute;inset:0;z-index:1}
.vdd-h__cap{position:absolute;z-index:2;left:16px;right:16px;bottom:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:16px;padding:10px 14px;font-size:12px;color:var(--ink-2)}
.vdd-b{margin-top:var(--gap);display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--gap);align-items:start}
.vdd-b .detail{overflow:visible}
.vdd-side{display:flex;flex-direction:column;gap:var(--gap)}
.vdd-rec{border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.vdd-rec .nf-lbl{color:var(--mint-ink)}
.vdd-rec b{font-size:clamp(24px,1.8vw,32px);font-weight:500;letter-spacing:-.025em;line-height:1.15;color:var(--ink)}
.vdd-rec p{margin:0 0 8px;font-size:15px;line-height:1.55}

@media (max-width:1200px){
  .vdd-h,.vdd-b{grid-template-columns:1fr}
  .vdd-h__card{min-height:0;padding:48px}
}
@media (max-width:720px){
  .vdd-h__card{padding:28px 20px;gap:28px}
  .vdd-h__txt{font-size:16px}
  .vdd-top{grid-template-columns:1fr;gap:8px}
  .vdd-top__i{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between;padding:14px 16px}
  .vdd-top__i .nf-lbl{width:100%}
  .vdd-h__map{min-height:340px}
  .vdd-rec{padding:24px 20px}
  .vdd-rec .nf-btn{width:100%;justify-content:space-between}
}
@media (max-width:720px){ .vd .detail td.val{white-space:normal} .vd .detail td.val:nth-child(2){padding-right:10px} }

/* ---------- документы и 404 ---------- */
.nf-doc{margin-top:var(--gap)}
.nf-doc__t{background:#fff;border-radius:var(--r-xl);padding:56px 64px;max-width:none}
.nf-doc__t>*{max-width:820px}
.nf-doc__t h2{font-size:28px;margin-top:44px}
.nf-doc__t ul{padding-left:22px}
.nf-doc__back{margin-top:24px}
.nf-e404{position:relative;overflow:hidden;background:#fff;border-radius:var(--r-xl);padding:80px 64px;min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px}
.nf-e404>.nf-ripple{left:50%;top:50%;transform:translate(-50%,-50%);opacity:.5}
.nf-e404>:not(.nf-ripple){position:relative}
.nf-e404__n{font-size:clamp(120px,16vw,260px);font-weight:300;letter-spacing:-.07em;line-height:.85}
.nf-e404__n span{color:var(--accent)}
.nf-e404 .nf-txt{margin:0;max-width:480px}
.nf-e404 .nf-pgh__btns{justify-content:center;margin-top:8px}
@media (max-width:720px){
  .nf-doc__t{padding:28px 20px}
  .nf-doc__t h2{font-size:22px}
  .nf-e404{padding:48px 20px;min-height:0}
}
.nf-atext ul:not(.nf-check){list-style:disc}
.nf-atext ol{list-style:decimal}
.nf-atext li::marker{color:var(--accent)}

/* ---------- правки 28.10 вечер: фото кейса компактнее — превью одного формата, снимок целиком открывается по клику ---------- */
.nf-steps,.nf-ba{align-items:stretch}
.nf-step .nf-ph,.nf-step__ic{aspect-ratio:4/3}
.nf-step__bd{flex:1}
.nf-ba__pair .nf-ph{aspect-ratio:1/1}
.nf-rel .nf-wc .nf-ph{aspect-ratio:4/3}
@media (min-width:1201px){ .nf-steps{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (min-width:900px) and (max-width:1200px){ .nf-steps{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:721px){ .nf-ba{grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr))} }
/* боковая колонка статьи и услуги: вместо портрета — карточка статьи или кейса */
.nf-apick{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink)}
.nf-apick:hover{color:var(--ink)}
.nf-apick .nf-ph{border-radius:0;aspect-ratio:4/3}
.nf-apick__bd{padding:20px 24px 22px;display:flex;flex-direction:column;gap:10px}
.nf-apick__bd b{font-size:18px;line-height:1.3;font-weight:600}
.nf-apick__go{font-size:14px;font-weight:500;color:var(--accent)}
.nf-apick__go i{font-style:normal;display:inline-block;transition:transform .3s var(--ease)}
.nf-apick:hover .nf-apick__go i{transform:translateX(4px)}
@media (min-width:1201px){ .nf-steps--3{grid-template-columns:repeat(3,minmax(0,1fr))} }
/* логотип MAX — залитый, чуть меньше контурных иконок, чтобы не казался тяжелее */
.nf-max svg{width:17px;height:17px}
/* страница района: «как проявляется в доме» и статьи по воде района */
.vdd-signs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--gap)}
.vdd-sign{background:#fff;border-radius:var(--r-lg);padding:26px 26px 28px;display:flex;flex-direction:column;gap:14px}
.vdd-sign .nf-lbl{color:var(--warn)}
.vdd-sign p{margin:0;font-size:16px;line-height:1.55;color:var(--ink-2)}
.vdd-reads{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:var(--gap)}
.vdd-reads .nf-apick .nf-ph{aspect-ratio:16/10}
/* кейс → страница района на Карте воды */
.nf-arealink{display:inline-flex;gap:8px;margin-top:20px;font-size:15px;font-weight:500;color:var(--accent);text-decoration:none}
.nf-arealink i{font-style:normal;transition:transform .3s var(--ease)}
.nf-arealink:hover{color:var(--accent)} .nf-arealink:hover i{transform:translateX(4px)}
