:root{
  --lime:#A5DB3F;
  --lime-dark:#8CC02A;
  --ink:#101010;
  --ink-2:#2a2a2a;
  --muted:#6a6a6a;
  --line:#e6e6e6;
  --bg:#ffffff;
  --bg-alt:#f5f5f5;
  --card:#f2f2f2;
  --radius:6px;
  --wrap:1240px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--lime-dark)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}

/* header */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:50}
.header-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;flex-wrap:nowrap}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{height:22px;width:auto}
.nav{display:flex;gap:18px;flex-wrap:nowrap;white-space:nowrap;min-width:0;overflow:hidden}
.nav a{font-size:14px;color:var(--ink-2);font-weight:500;letter-spacing:.01em;white-space:nowrap}
.nav a:hover{color:var(--ink)}
.header-wrap .btn{flex-shrink:0;white-space:nowrap}
@media (max-width:1080px){.nav{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:4px;font-weight:600;font-size:15px;line-height:1;transition:transform .1s ease,background .15s ease,color .15s ease;border:1px solid transparent;cursor:pointer}
.btn-sm{padding:10px 16px;font-size:14px}
.btn-block{width:100%}
.btn-primary{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.btn-primary:hover{background:var(--lime-dark);border-color:var(--lime-dark);color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}

/* hero */
.hero{padding:64px 0 40px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.eyebrow{font-size:12px;letter-spacing:.24em;color:var(--muted);font-weight:600;text-transform:uppercase;margin-bottom:24px}
.hero-copy h1{font-size:clamp(48px,7vw,96px);line-height:1;letter-spacing:-.02em;margin:0 0 20px;font-weight:800}
.rule{width:180px;height:3px;background:var(--lime);margin:8px 0 24px}
.hero-lead{font-size:22px;line-height:1.35;color:var(--ink);margin:0 0 6px;font-weight:500}
.hero-sub{font-size:15px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;margin:0 0 32px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.hero-meta{font-size:13px;color:var(--muted)}
.hero-visual{display:grid;gap:16px}
.hero-logo-tile{background:var(--lime);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;padding:36px;aspect-ratio:16/9;overflow:hidden}
.hero-logo-tile img{max-height:180px;width:auto}
.hero-photo{background:#f4f4f4;border-radius:var(--radius);padding:12px;display:flex;align-items:center;justify-content:center}
.hero-photo img{max-height:320px;object-fit:contain}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:32px}
  .hero-copy h1{font-size:56px}
}

/* sections */
.section{padding:88px 0;border-bottom:1px solid var(--line)}
.section-alt{background:var(--bg-alt)}
.section h2{font-size:clamp(32px,4vw,44px);line-height:1.1;margin:0 0 8px;font-weight:700;letter-spacing:-.01em}
.section-sub{color:var(--muted);font-size:17px;margin:0 0 48px}
.section-sub em{font-style:italic}
.section-note{color:var(--muted);font-size:14px;margin-top:32px;text-align:center;max-width:900px;margin-left:auto;margin-right:auto}

/* grids */
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.grid-3,.grid-4{grid-template-columns:1fr}}

/* cards */
.card{background:var(--card);border-radius:var(--radius);padding:32px 28px;position:relative}
.card h3{font-size:20px;margin:14px 0 12px;font-weight:600}
.card p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.55}
.card-num{font-size:44px;font-weight:700;color:var(--lime-dark);line-height:1;margin-bottom:12px}
.tick{width:36px;height:3px;background:var(--lime);border-radius:2px;margin-bottom:18px}

/* callout */
.callout{margin-top:40px;text-align:center;font-size:17px;line-height:1.5;color:var(--ink-2);font-style:italic}
.callout strong{color:var(--ink);font-style:normal}
.callout-block{background:var(--card);border-radius:var(--radius);padding:28px 32px;margin-top:32px;text-align:left;display:flex;flex-direction:column;gap:8px;font-style:normal}
.callout-block strong{display:block;font-size:17px;color:var(--ink);margin-bottom:4px}
.callout-block span{color:var(--ink-2);font-size:15px}

/* complex */
.complex-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;margin-bottom:40px}
.complex-photo{background:#f4f4f4;border-radius:var(--radius);padding:24px;display:flex;align-items:center;justify-content:center}
.complex-photo img{max-height:360px;object-fit:contain}
.feature-list{list-style:none;margin:0;padding:0}
.feature-list li{padding:14px 0 14px 18px;border-left:3px solid var(--lime);margin-bottom:12px}
.feature-list h4{font-size:17px;margin:0 0 6px;font-weight:600}
.feature-list p{margin:0;color:var(--ink-2);font-size:15px}
@media (max-width:900px){.complex-grid{grid-template-columns:1fr;gap:32px}}

/* KPI */
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}
.kpi{background:var(--card);border-radius:var(--radius);padding:24px 22px}
.kpi-val{font-size:28px;font-weight:700;color:var(--lime-dark);line-height:1;margin-bottom:8px}
.kpi-lbl{font-size:13px;color:var(--muted);text-transform:lowercase}
@media (max-width:800px){.kpi-row{grid-template-columns:repeat(2,1fr)}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.step{background:var(--card);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.step-num{background:var(--lime);color:var(--ink);font-size:28px;font-weight:700;text-align:center;padding:18px 0;line-height:1}
.step h3{font-size:16px;margin:20px 24px 10px;font-weight:600}
.step p{margin:0 24px 20px;color:var(--ink-2);font-size:14px;line-height:1.5}
.step-img{margin-top:auto;background:#ffffff;padding:16px;display:flex;align-items:center;justify-content:center;min-height:140px}
.step-img img{max-height:130px;object-fit:contain}
@media (max-width:1000px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.steps{grid-template-columns:1fr}}

/* products */
.product-card{background:var(--card);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column}
.product-tag{font-size:11px;letter-spacing:.2em;color:var(--lime-dark);font-weight:700;text-transform:uppercase;margin-bottom:12px}
.product-img{background:#fff;border-radius:4px;height:160px;display:flex;align-items:center;justify-content:center;padding:14px;margin-bottom:16px}
.product-img img{max-height:130px;object-fit:contain}
.product-card h3{font-size:19px;margin:0 0 6px;font-weight:600}
.product-sub{color:var(--lime-dark);font-size:14px;margin-bottom:12px;font-weight:500}
.product-card p{color:var(--ink-2);font-size:14px;margin:0;line-height:1.5}

/* compare table */
.table-wrap{overflow-x:auto;border-radius:var(--radius)}
.compare{width:100%;border-collapse:collapse;background:#fff;font-size:14px;min-width:820px}
.compare th,.compare td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.compare thead th{background:transparent;border-bottom:none;padding-bottom:0}
.compare .th-img{height:110px;display:flex;align-items:center;justify-content:center;background:#f7f7f7;border-radius:4px;padding:8px}
.compare .th-img img{max-height:100px;object-fit:contain}
.compare tr.th-title th{background:var(--lime-dark);color:#fff;font-weight:600;padding:12px 14px}
.compare tr.th-title th.row-head{background:var(--lime-dark)}
.compare .row-head{background:#fafafa;font-weight:500;color:var(--ink);width:22%}
.compare tbody tr:hover{background:#fafafa}

/* NSU */
.nsu-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start;margin-bottom:32px}
.nsu-photo{background:#f4f4f4;border-radius:var(--radius);padding:24px;display:flex;align-items:center;justify-content:center}
.nsu-photo img{max-height:300px;object-fit:contain}
@media (max-width:900px){.nsu-grid{grid-template-columns:1fr;gap:24px}}
.badge-block{background:var(--card);border-radius:var(--radius);padding:24px 28px;border-left:4px solid var(--lime)}
.badge-title{font-weight:600;font-size:17px;margin-bottom:6px}
.badge-text{color:var(--ink-2);font-size:15px}

/* partners price cards */
.card-price .price-val{font-size:22px;color:var(--lime-dark);font-weight:700;margin-bottom:14px}

/* contact */
.section-contact{background:var(--ink);color:#fff;border-bottom:none}
.section-contact h2{color:#fff}
.section-contact .rule{background:var(--lime)}
.section-contact .accent{color:var(--lime)}
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:32px}}
.check-list{list-style:none;padding:0;margin:24px 0}
.check-list li{padding:10px 0 10px 28px;position:relative;color:#e6e6e6;font-size:16px}
.check-list li::before{content:"";position:absolute;left:0;top:16px;width:14px;height:2px;background:var(--lime)}
.contact-info{margin-top:24px;font-size:15px;color:#c9c9c9;display:grid;gap:6px}
.contact-info a{color:#fff;border-bottom:1px dotted #6a6a6a}
.contact-info a:hover{color:var(--lime);border-color:var(--lime)}

.contact-form{background:#fff;color:var(--ink);border-radius:var(--radius);padding:32px;display:grid;gap:14px}
.form-title{font-size:20px;font-weight:600;margin-bottom:4px}
.contact-form label{display:grid;gap:6px;font-size:13px;color:var(--muted);font-weight:500}
.contact-form input{padding:12px 14px;border:1px solid var(--line);border-radius:4px;font-size:15px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .15s ease}
.contact-form input:focus{outline:none;border-color:var(--lime-dark)}
.form-ok{background:#f0f7e0;color:#3d5c00;padding:12px 14px;border-radius:4px;font-size:14px;text-align:center}
.form-note{font-size:12px;color:var(--muted);text-align:center;margin-top:4px}

/* footer */
.site-footer{background:#fff;border-top:1px solid var(--line);padding:32px 0}
.footer-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-brand{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted)}
.footer-brand img{height:20px;width:auto}
.footer-links{display:flex;gap:20px;font-size:14px}
.footer-links a{color:var(--ink-2)}
.footer-links a:hover{color:var(--lime-dark)}

/* Telegram CTA */
.telegram-cta{margin-top:14px}
.btn-telegram{background:#0088cc;color:#fff;border-color:#0088cc;padding:12px 18px;font-size:14px}
.btn-telegram:hover{background:#0077b5;border-color:#0077b5;color:#fff}
.btn-telegram::before{content:"";display:inline-block;width:16px;height:16px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M9.78 18.65l.28-4.23 7.68-6.92c.34-.31-.07-.46-.52-.19L7.74 13.3 3.64 12c-.88-.25-.89-.86.2-1.3l15.97-6.16c.73-.33 1.43.18 1.15 1.3l-2.72 12.81c-.19.91-.74 1.13-1.5.71L12.6 16.3l-1.99 1.93c-.23.23-.42.42-.83.42z'/></svg>") no-repeat center/contain;vertical-align:-3px;margin-right:2px}

/* Cookie notice */
.cookie-notice{position:fixed;left:0;right:0;bottom:0;z-index:100;background:rgba(16,16,16,.96);color:#fff;padding:14px 0;box-shadow:0 -4px 16px rgba(0,0,0,.15);backdrop-filter:blur(6px)}
.cookie-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cookie-text{font-size:14px;color:#e6e6e6;flex:1;min-width:280px;line-height:1.5}
.cookie-text a{color:var(--lime);border-bottom:1px dotted rgba(165,219,63,.6)}
.cookie-text a:hover{color:var(--lime-dark)}
.cookie-notice .btn{flex-shrink:0}

/* Legal pages */
.legal-page{padding:56px 0 96px}
.legal-page h1{font-size:clamp(28px,3.6vw,40px);line-height:1.15;margin:0 0 12px;font-weight:700;letter-spacing:-.01em}
.legal-page .rule{margin-bottom:32px}
.legal-body{max-width:820px;font-size:15px;line-height:1.65;color:var(--ink-2)}
.legal-body h2{font-size:20px;margin:32px 0 12px;color:var(--ink);font-weight:600}
.legal-body p{margin:0 0 12px}
.legal-body a{color:var(--lime-dark);border-bottom:1px dotted var(--lime-dark)}
.legal-body a:hover{color:var(--ink)}
