/* Общие стили сайта. Палитра, шрифты и отступы — как на главной (build/green.dc.html). */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:124px}
body{font-family:'Onest',system-ui,sans-serif;color:#1A1916;background:#F6F4EF;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:#1F7A54;color:#fff}
img{max-width:100%;height:auto;display:block}
a{color:#1F7A54}
.nl-main{overflow-x:hidden}
.nl-wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.nl-narrow{max-width:880px}

/* кнопки */
.nl-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#1F7A54;color:#fff;font-weight:700;font-size:17px;line-height:1.2;padding:16px 26px;border-radius:13px;text-decoration:none;border:0;cursor:pointer;box-shadow:0 12px 28px -12px rgba(31,122,84,0.5);transition:transform .15s,background .15s}
.nl-btn:hover{background:#1A6747;transform:translateY(-1px)}
.nl-btn-ghost{background:#fff;color:#1A1916;border:1px solid #E0DACF;box-shadow:none;font-weight:600}
.nl-btn-ghost:hover{background:#fff;border-color:#1F7A54}
.nl-btn-sm{font-size:15px;padding:11px 18px;border-radius:11px;box-shadow:none}
.nl-btn-wide{width:100%}

/* шапка */
.nl-header{position:sticky;top:0;z-index:50;background:rgba(246,244,239,0.9);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid #E6E1D8}
.nl-header-row{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"logo . cta" "nav nav nav";align-items:center;column-gap:28px;padding-top:12px}
.nl-header-row > .nl-logo{grid-area:logo}
.nl-header-row > .nl-header-cta{grid-area:cta}
.nl-header-row > .nl-burger{grid-area:cta}
.nl-logo{display:flex;align-items:center;gap:11px;color:#1A1916;text-decoration:none;flex:0 0 auto}
.nl-logo i{width:34px;height:34px;border-radius:10px;background:#1F7A54;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:17px;font-style:normal}
.nl-logo span{font-weight:800;font-size:17px;letter-spacing:-0.02em}
.nl-logo-dark span{color:#F6F4EF}
.nl-nav{grid-area:nav;display:flex;align-items:center;gap:2px 0;flex-wrap:wrap;margin-top:6px;padding:2px 0 4px}
.nl-nav-i:first-child .nl-nav-a{padding-left:0}
.nl-nav-cta{display:none}
.nl-nav-i{position:relative}
.nl-nav-a{display:flex;align-items:center;gap:5px;color:#56524B;font-size:15px;font-weight:500;text-decoration:none;padding:10px 8px;border-radius:9px;white-space:nowrap}
.nl-nav-a:hover,.nl-nav-a.nl-on{color:#1A1916}
.nl-nav-a svg{color:#1F7A54}
.nl-sub-t{display:none}
.nl-sub{display:none;position:absolute;z-index:10;top:100%;left:0;min-width:280px;background:#fff;border:1px solid #E6E1D8;border-radius:14px;padding:8px;box-shadow:0 24px 48px -24px rgba(26,25,22,0.35)}
.nl-sub a{display:block;padding:10px 12px;border-radius:9px;color:#1A1916;text-decoration:none;font-size:15px;line-height:1.35}
.nl-sub a:hover{background:#F6F4EF;color:#1F7A54}
.nl-has-sub:hover .nl-sub,.nl-has-sub:focus-within .nl-sub{display:block}
.nl-burger{display:none;width:42px;height:42px;border-radius:10px;border:1px solid #E0DACF;background:#fff;align-items:center;justify-content:center;cursor:pointer;color:#1A1916;flex:0 0 auto;margin-left:auto}

/* хлебные крошки */
.nl-crumbs{font-size:14px;color:#76726A;padding:18px 0 0}
.nl-crumbs a{color:#76726A;text-decoration:none}
.nl-crumbs a:hover{color:#1F7A54}
.nl-crumbs span[aria-current]{color:#1A1916}
.nl-crumb-sep{margin:0 8px;color:#C9C3B7}

/* секции */
.nl-sec{padding:84px 0;border-top:1px solid #EDE8DF}
.nl-main > .nl-sec:first-child{border-top:0}
.nl-bg-beige{background:#F6F4EF}
.nl-bg-white{background:#fff}
.nl-bg-green{background:#E9F1EB;border-top-color:#D5E6DA}
.nl-h1{font-weight:800;font-size:52px;line-height:1.05;letter-spacing:-0.035em;margin-bottom:22px;text-wrap:balance}
.nl-h2{font-weight:800;font-size:40px;line-height:1.08;letter-spacing:-0.03em;margin-bottom:14px;text-wrap:balance;max-width:900px}
.nl-sub{font-size:18px;color:#56524B;margin-bottom:8px;max-width:760px}
.nl-h2 + .nl-steps,.nl-h2 + .nl-cards,.nl-h2 + .nl-faq,.nl-h2 + .nl-prices,.nl-h2 + .nl-calc{margin-top:36px}
.nl-sub + .nl-steps,.nl-sub + .nl-cards,.nl-sub + .nl-faq,.nl-sub + .nl-prices,.nl-sub + .nl-calc{margin-top:32px}

/* первый экран */
.nl-hero{background:#F6F4EF;padding:64px 0 72px}
.nl-hero-plain{padding:44px 0 8px}
.nl-hero-plain .nl-h1{margin-bottom:0}
.nl-hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center}
.nl-hero-solo{grid-template-columns:1fr}
.nl-hero-solo > div{max-width:860px}
.nl-kicker{display:inline-block;font-size:13px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:#1F7A54;background:#E9F1EB;border:1px solid #D5E6DA;border-radius:20px;padding:5px 12px;margin-bottom:18px}
.nl-lead{font-size:19px;color:#56524B;max-width:600px;margin-bottom:32px;text-wrap:pretty}
.nl-btns{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.nl-note{font-size:14px;color:#76726A;margin-top:16px}
.nl-note p + p{margin-top:8px}
.nl-hero-img img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:22px;border:1px solid #E0DACF}

/* текст */
.nl-text h2{font-size:32px;line-height:1.15;letter-spacing:-0.02em;font-weight:800;margin:44px 0 16px}
.nl-text h3{font-size:22px;line-height:1.25;font-weight:700;margin:32px 0 12px}
.nl-text h4{font-size:18px;font-weight:700;margin:24px 0 10px}
.nl-text > :first-child{margin-top:0}
.nl-text p{font-size:17px;color:#3A3833;margin-bottom:18px}
.nl-text ul,.nl-text ol{margin:0 0 22px 22px}
.nl-text li{font-size:17px;color:#3A3833;margin-bottom:9px}
.nl-text blockquote{border-left:3px solid #1F7A54;padding:6px 0 6px 18px;margin:0 0 22px;color:#56524B}
.nl-text img{margin:26px 0;border-radius:16px}
.nl-text figure{margin:26px 0}
.nl-text figcaption{font-size:14px;color:#76726A;margin-top:8px}
.nl-text hr{border:0;border-top:1px solid #E6E1D8;margin:36px 0}
.nl-table{overflow-x:auto;margin-bottom:24px}
.nl-text table{border-collapse:collapse;width:100%;min-width:480px}
.nl-text th,.nl-text td{border:1px solid #E6E1D8;padding:10px 12px;text-align:left;font-size:15.5px;vertical-align:top}
.nl-text th{background:#EDE8DF;font-weight:700}

/* этапы */
.nl-steps{list-style:none;display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:22px;counter-reset:none}
.nl-step-num{width:50px;height:50px;border-radius:50%;background:#fff;border:2px solid #D5E6DA;display:flex;align-items:center;justify-content:center;font-weight:700;color:#1F7A54;font-size:17px;margin-bottom:18px}
.nl-step:first-child .nl-step-num{background:#1F7A54;border-color:#1F7A54;color:#fff}
.nl-bg-white .nl-step-num{background:#F6F4EF}
.nl-bg-white .nl-step:first-child .nl-step-num{background:#1F7A54}
.nl-step-t{font-weight:700;font-size:17px;color:#1A1916;margin-bottom:6px;line-height:1.3}
.nl-step p{font-size:15px;color:#76726A;line-height:1.5}

/* карточки */
.nl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.nl-card{background:#fff;border:1px solid #E6E1D8;border-radius:22px;padding:30px;display:flex;flex-direction:column;gap:10px}
.nl-bg-white .nl-card{background:#F6F4EF;border-color:#EDE8DF}
.nl-card-t{font-weight:800;font-size:21px;line-height:1.2;letter-spacing:-0.015em;color:#1A1916}
.nl-card p{font-size:15.5px;color:#56524B;line-height:1.55}
.nl-card-link{text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.nl-card-link:hover{border-color:#1F7A54;transform:translateY(-2px)}
.nl-more{margin-top:auto;padding-top:6px;font-weight:600;font-size:15px;color:#1F7A54}

/* цены */
.nl-prices{border-top:1px solid #E6E1D8}
.nl-price{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:20px 0;border-bottom:1px solid #E6E1D8}
.nl-price-n{font-weight:700;font-size:18px;color:#1A1916}
.nl-price-note{font-size:14.5px;color:#76726A;margin-top:3px}
.nl-price-v{font-weight:800;font-size:19px;color:#1F7A54;text-align:right;white-space:nowrap}
.nl-footnote{font-size:14px;color:#76726A;margin-top:18px}

/* вопрос-ответ */
.nl-faq{border-top:1px solid #E6E1D8}
.nl-faq-i{border-bottom:1px solid #E6E1D8}
.nl-faq-i summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-weight:700;font-size:19px;color:#1A1916}
.nl-faq-i summary::-webkit-details-marker{display:none}
.nl-faq-i summary svg{flex:0 0 auto;color:#1F7A54;transition:transform .2s}
.nl-faq-i[open] summary svg{transform:rotate(180deg)}
.nl-faq-i summary:hover{opacity:.75}
.nl-faq-a{padding:0 0 24px;max-width:700px}
.nl-faq-a p{font-size:17px;color:#3A3833}
.nl-faq-a p + p{margin-top:12px}

/* калькулятор */
.nl-calc{background:#fff;border:1px solid #E6E1D8;border-radius:22px;padding:32px;box-shadow:0 30px 60px -40px rgba(26,25,22,0.35)}
.nl-bg-white .nl-calc{background:#F6F4EF}
.nl-calc-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.nl-calc label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:14.5px;color:#56524B}
.nl-calc select,.nl-calc input{font:inherit;font-size:17px;color:#1A1916;padding:13px 14px;border:1px solid #D8D2C6;border-radius:12px;background:#fff;width:100%}
.nl-calc select:focus,.nl-calc input:focus{outline:2px solid #1F7A54;outline-offset:1px;border-color:#1F7A54}
.nl-calc-res{background:#E9F1EB;border:1px solid #D5E6DA;border-radius:14px;padding:18px 20px;margin-bottom:20px;font-size:16px;color:#1A5B3C;min-height:62px}
.nl-calc-res b{display:block;font-size:30px;font-weight:800;color:#1A1916;letter-spacing:-0.02em;line-height:1.2}
.nl-warn{background:#FFF6E0;border:1px solid #F0DDA8;color:#6B5313;border-radius:14px;padding:16px 18px;font-size:15px}

/* призыв */
.nl-cta{background:#E9F1EB;border-top-color:#D5E6DA}
.nl-cta-grid{display:grid;grid-template-columns:1fr 0.9fr;gap:56px;align-items:center}
.nl-cta .nl-h2{margin-bottom:26px}
.nl-points{list-style:none;display:flex;flex-direction:column;gap:14px}
.nl-points li{display:flex;align-items:center;gap:14px;font-weight:600;font-size:17px;color:#1A1916}
.nl-ico{width:38px;height:38px;flex:0 0 auto;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;color:#1F7A54}
.nl-cta-card{background:#fff;border:1px solid #E6E1D8;border-radius:22px;padding:34px;box-shadow:0 30px 60px -40px rgba(26,25,22,0.4)}
.nl-cta-card p{font-size:16px;color:#56524B;margin-bottom:22px;text-align:center}

/* футер */
.nl-footer{background:#1A1916;color:#A8A294}
.nl-footer-grid{display:grid;grid-template-columns:1.3fr 1.2fr 0.8fr;gap:44px;padding-top:60px;padding-bottom:44px}
.nl-f-note{font-size:13px;color:#7C776E;max-width:340px;line-height:1.6;margin-top:18px}
.nl-f-h{font-weight:700;font-size:13px;color:#D8D3C9;margin-bottom:16px;letter-spacing:0.03em;text-transform:uppercase}
.nl-f-links{display:flex;flex-direction:column;gap:10px;font-size:15px}
.nl-f-links a{color:#A8A294;text-decoration:none}
.nl-f-links a:hover{color:#5CC08C}
.nl-f-bottom{border-top:1px solid rgba(246,244,239,0.08);font-size:13px;color:#7C776E}
.nl-f-bottom .nl-wrap{padding-top:22px;padding-bottom:22px}

/* планшет и телефон */
@media (max-width:960px){
  html{scroll-padding-top:76px}
  .nl-header-row{grid-template-columns:auto 1fr auto;grid-template-areas:"logo . cta";min-height:64px;padding-top:0}
  .nl-header-cta{display:none}
  .nl-burger{display:flex}
  .nl-nav-cta{display:flex;margin-top:14px}
  .nl-nav-i:first-child .nl-nav-a{padding-left:0}
  .nl-nav{margin-top:0;display:none;position:absolute;top:100%;left:0;right:0;background:#F6F4EF;border-bottom:1px solid #E6E1D8;box-shadow:0 24px 40px -24px rgba(26,25,22,0.35);flex-direction:column;align-items:stretch;gap:0;padding:6px 20px 18px;max-height:calc(100vh - 66px);overflow-y:auto}
  .nl-nav.nl-open{display:flex}
  .nl-nav-i{border-bottom:1px solid #EDE8DF;display:flex;flex-wrap:wrap;align-items:center}
  .nl-nav-a{flex:1 1 auto;padding:14px 0;font-size:17px;font-weight:600;color:#1A1916;white-space:normal}
  .nl-nav-a svg{display:none}
  .nl-sub-t{display:flex;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:0;color:#1F7A54;cursor:pointer}
  .nl-sub-t svg{width:18px;height:18px;transition:transform .2s}
  .nl-nav-i.nl-sub-open .nl-sub-t svg{transform:rotate(180deg)}
  .nl-sub{position:static;display:none;flex:1 1 100%;min-width:0;border:0;box-shadow:none;background:transparent;padding:0 0 10px 12px}
  .nl-has-sub:hover .nl-sub,.nl-has-sub:focus-within .nl-sub{display:none}
  .nl-nav-i.nl-sub-open .nl-sub{display:block}
  .nl-sub a{padding:9px 0;color:#56524B}
  .nl-hero-grid,.nl-cta-grid{grid-template-columns:1fr;gap:36px}
  .nl-cards{grid-template-columns:1fr 1fr}
  .nl-steps{grid-template-columns:1fr 1fr;row-gap:28px}
  .nl-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .nl-wrap{padding:0 20px}
  .nl-header-row{min-height:60px}
  .nl-text table{min-width:0}
  .nl-sec{padding:56px 0}
  .nl-hero{padding:36px 0 52px}
  .nl-hero-plain{padding:28px 0 4px}
  .nl-h1{font-size:34px}
  .nl-h2{font-size:28px}
  .nl-lead{font-size:17px}
  .nl-btns .nl-btn{flex:1 1 100%}
  .nl-cards,.nl-steps,.nl-calc-row,.nl-footer-grid{grid-template-columns:1fr}
  .nl-card,.nl-calc,.nl-cta-card{padding:24px 20px}
  .nl-text h2{font-size:25px}
  .nl-text h3{font-size:20px}
  .nl-text p,.nl-text li,.nl-faq-a p{font-size:16px}
  .nl-faq-i summary{font-size:17px;padding:20px 0}
  .nl-price{flex-wrap:wrap;gap:4px 16px}
  .nl-price-v{white-space:normal;text-align:left}
  .nl-calc-res b{font-size:26px}
}
