:root{
  --ink:#16202b; --ink-2:#4a5a6a; --line:#dfe5ec; --bg:#ffffff; --bg-2:#f5f7fa;
  --brand:#1d3557; --brand-2:#457b9d; --accent:#e07a5f; --ok:#2a9d8f;
  --tg:#2aabee; --wa:#25d366; --max:#5b4bd6;
  --radius:14px; --wrap:1080px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#e8edf3; --ink-2:#a4b2c0; --line:#2a3542; --bg:#131a22; --bg-2:#1a232d;
    --brand:#8fb3d9; --brand-2:#a8dadc;
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-text-size-adjust:100%}
img{max-width:100%;height:auto}
a{color:var(--brand-2)}
main{max-width:var(--wrap);margin:0 auto;padding:0 20px}

/* шапка */
.site-head{display:flex;align-items:center;gap:18px;max-width:var(--wrap);
  margin:0 auto;padding:18px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.logo{font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;letter-spacing:-.2px}
.site-head nav{display:flex;gap:16px;margin-left:auto;flex-wrap:wrap}
.site-head nav a{color:var(--ink-2);text-decoration:none;font-size:15px}
.site-head nav a:hover{color:var(--brand-2)}
.head-cta{background:var(--brand);color:#fff;text-decoration:none;padding:8px 16px;
  border-radius:999px;font-size:15px}

/* герой */
.hero{padding:56px 0 30px}
.hero h1{font-size:clamp(30px,5vw,46px);line-height:1.15;margin:0 0 16px;letter-spacing:-.5px}
.hero-lead{font-size:19px;color:var(--ink-2);max-width:60ch;margin:0 0 26px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}

/* кнопки */
.btn{display:inline-block;padding:11px 20px;border-radius:999px;text-decoration:none;
  border:1px solid var(--line);color:var(--ink);background:var(--bg-2);font-size:15px;
  cursor:pointer;font-family:inherit}
.btn:hover{border-color:var(--brand-2)}
.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn-tg{background:var(--tg);color:#fff;border-color:var(--tg)}
.btn-wa{background:var(--wa);color:#08351b;border-color:var(--wa)}
.btn-max{background:var(--max);color:#fff;border-color:var(--max)}

/* баннер контактов */
.banner{display:flex;gap:20px;align-items:center;justify-content:space-between;
  flex-wrap:wrap;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--radius);padding:22px 24px;margin:36px 0}
.banner-compact{padding:16px 20px;margin:28px 0}
.banner-text{display:flex;flex-direction:column;gap:4px;max-width:56ch}
.banner-text strong{font-size:18px}
.banner-text span{color:var(--ink-2);font-size:15px}
.banner-btns{display:flex;gap:10px;flex-wrap:wrap}

/* услуги */
.svcs{margin:48px 0}
.svcs h2,.how h2,.related h2{font-size:26px;margin:0 0 20px;letter-spacing:-.3px}
.svc-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.svc{border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.svc h3{margin:0 0 8px;font-size:18px}
.svc p{margin:0;color:var(--ink-2);font-size:15px}

/* шаги */
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:14px}
.steps li{counter-increment:s;position:relative;padding-left:46px;color:var(--ink-2)}
.steps li strong{color:var(--ink)}
.steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:32px;height:32px;
  border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:15px}

/* форма */
.leadform{border:1px solid var(--line);border-radius:var(--radius);padding:26px;
  margin:40px 0;background:var(--bg-2)}
.leadform h2{margin:0 0 6px;font-size:24px}
.lf-note{margin:0 0 18px;color:var(--ink-2);font-size:15px}
.lf{display:grid;gap:14px}
.lf-row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.lf label{display:grid;gap:6px;font-size:14px;color:var(--ink-2)}
.lf input,.lf select,.lf textarea{font:inherit;font-size:16px;padding:11px 13px;
  border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);width:100%}
.lf textarea{resize:vertical}
.lf button{justify-self:start}
.lf-privacy{font-size:13px;color:var(--ink-2);margin:0}
.lf-status{margin:0;font-size:15px;padding:11px 14px;border-radius:10px}
.lf-status.ok{background:rgba(42,157,143,.14);color:var(--ok)}
.lf-status.err{background:rgba(224,122,95,.14);color:var(--accent)}

/* статья */
.article{max-width:74ch;margin:0 auto;padding:34px 0}
.crumbs{font-size:14px;color:var(--ink-2);margin-bottom:18px}
.crumbs a{color:var(--ink-2)}
.kicker{text-transform:uppercase;letter-spacing:1.6px;font-size:13px;color:var(--brand-2);margin:0 0 8px}
.article h1{font-size:clamp(27px,4.4vw,40px);line-height:1.18;margin:0 0 10px;letter-spacing:-.4px}
.a-meta{color:var(--ink-2);font-size:14px;margin:0 0 22px}
.a-cover{border-radius:var(--radius);display:block;margin:0 0 26px}
.lead{font-size:19px;color:var(--ink);border-left:3px solid var(--brand-2);
  padding-left:16px;margin:0 0 28px}
.toc{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 22px;margin:0 0 32px}
.toc p{margin:0 0 8px;font-weight:600;font-size:15px}
.toc ol{margin:0;padding-left:20px;color:var(--ink-2)}
.toc a{color:var(--ink-2);text-decoration:none}
.toc a:hover{color:var(--brand-2);text-decoration:underline}
.a-sec{margin:0 0 30px}
.a-sec h2{font-size:25px;margin:34px 0 12px;letter-spacing:-.3px}
.a-sec p{margin:0 0 14px}
.a-list{padding-left:22px;color:var(--ink)}
.a-list li{margin-bottom:8px}
.t-wrap{overflow-x:auto;margin:18px 0}
table{border-collapse:collapse;width:100%;font-size:15px}
th,td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
th{background:var(--bg-2);font-weight:600}
.faq-item{border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:10px}
.faq-item summary{cursor:pointer;font-weight:600}
.faq-item div{padding-top:10px;color:var(--ink-2)}

/* карточки */
.related{margin:48px 0}
.cards{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  text-decoration:none;color:inherit;display:flex;flex-direction:column}
.card:hover{border-color:var(--brand-2)}
.card img{display:block;width:100%}
.card-body{padding:16px 18px}
.card-kicker{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--brand-2)}
.card h3{margin:6px 0 8px;font-size:18px;line-height:1.3}
.card p{margin:0;color:var(--ink-2);font-size:14px}

.page-head{padding:44px 0 8px}
.page-head h1{font-size:clamp(28px,4.6vw,40px);margin:0 0 12px;letter-spacing:-.4px}
.page-head p{color:var(--ink-2);max-width:66ch;margin:0}
.contacts-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:28px 0}
.contacts-grid div{border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.contacts-grid h3{margin:0 0 6px;font-size:16px}
.contacts-grid p{margin:0;color:var(--ink-2)}

/* подвал */
.site-foot{border-top:1px solid var(--line);margin-top:56px;padding:30px 20px;
  display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  max-width:var(--wrap);margin-left:auto;margin-right:auto;color:var(--ink-2);font-size:14px}
.site-foot p{margin:4px 0}
.foot-legal{font-size:13px}
