:root{
  --indigo:#4f46e5;--violet:#7c3aed;--amber:#f59e0b;--amber-dark:#d97706;
  --green:#16a34a;--ink:#1b2230;--muted:#667085;--bg:#fff;--soft:#f5f7fb;
  --line:#e6eaf1;--radius:14px;--shadow:0 10px 30px rgba(31,41,99,.08);
}
*{box-sizing:border-box}
html{font-size:17px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.65;background:var(--bg)}
.container{width:100%;max-width:1040px;margin:0 auto;padding:0 20px}
a{color:var(--indigo);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:2.4rem;line-height:1.15;margin:.4em 0 .35em;letter-spacing:-.5px}
h2{font-size:1.7rem;margin:0 0 .6em;letter-spacing:-.3px}
h3{font-size:1.18rem;margin:0 0 .35em}
p,li{font-size:1.04rem}
.muted{color:var(--muted);font-size:.92rem}
section{margin:56px 0}

/* header */
.site-header{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.site-header .container{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:13px 20px}
.brand{display:inline-flex;align-items:center}
.brand-logo{display:block;height:32px;width:auto}
.brand-logo--dark{display:none}
.theme-toggle{margin-left:14px;background:transparent;border:1px solid var(--line);border-radius:10px;width:40px;height:36px;cursor:pointer;font-size:1.05rem;line-height:1;color:var(--ink);display:inline-flex;align-items:center;justify-content:center}
.theme-toggle:hover{border-color:var(--violet)}
.theme-toggle .i-dark{display:none}
.main-nav{display:flex;gap:18px;flex-wrap:wrap;margin-left:auto}
.main-nav a{color:var(--ink);font-size:.96rem;font-weight:500}

/* buttons */
.cta-btn{display:inline-block;background:linear-gradient(90deg,var(--amber),var(--amber-dark));color:#fff;padding:11px 20px;border-radius:10px;font-weight:700;white-space:nowrap;box-shadow:0 6px 16px rgba(217,119,6,.32);transition:transform .12s ease,box-shadow .12s ease}
.cta-btn:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 22px rgba(217,119,6,.4)}
.cta-btn.big{font-size:1.18rem;padding:16px 34px;border-radius:12px}
.cta-block{margin:48px 0;padding:34px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);text-align:center}
.cta-block p{margin:0 0 14px;font-size:1.1rem;font-weight:600}

/* hero */
.hero{position:relative;color:#fff;border-radius:0 0 30px 30px;margin-top:0;padding:64px 0 70px;
  background:radial-gradient(1200px 500px at 80% -10%,rgba(245,158,11,.35),transparent 60%),linear-gradient(135deg,var(--indigo),var(--violet))}
.hero .container{max-width:880px;text-align:center}
.hero h1{color:#fff;font-size:3rem}
.hero .lead{font-size:1.25rem;opacity:.95;max-width:680px;margin:0 auto 8px}
.hero .lead p{font-size:1.25rem}
.badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:26px 0 30px}
.badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;padding:9px 16px;border-radius:999px;font-weight:600;font-size:.98rem;backdrop-filter:blur(4px)}

/* steps */
.steps{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.step .num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--indigo),var(--violet));color:#fff;font-weight:800;margin-bottom:12px}

/* feature / service cards */
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.tile{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;color:var(--ink);box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease}
.tile:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--violet)}
.tile .ico{font-size:1.8rem;display:block;margin-bottom:10px}
.tile strong{display:block;font-size:1.1rem;margin-bottom:6px}
.tile span{color:var(--muted);font-size:.95rem}
.tile .price{display:block;margin-top:12px;font-weight:800;font-style:normal;color:var(--indigo);font-size:.98rem}

/* блок гарантий */
.guarantees-wrap{margin-top:36px}
.guarantees{list-style:none;padding:0;margin:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.guarantees li{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.guarantees .g-ico{font-size:1.5rem;display:block;margin-bottom:7px}
.guarantees strong{display:block;margin-bottom:3px;font-size:1.02rem}
.guarantees span{color:var(--muted);font-size:.92rem}

/* card-list (articles) */
.card-list{list-style:none;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.card-list a{display:block;padding:20px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease}
.card-list a:hover{border-color:var(--violet);text-decoration:none;transform:translateY(-3px)}
.card-list strong{display:block;margin-bottom:6px;color:var(--indigo)}
.card-list span{font-size:.92rem;color:var(--muted)}

/* generic content */
.page,.article{padding:24px 0 8px;max-width:820px}
.section-head{text-align:center;max-width:680px;margin:0 auto 32px}
.section-head p{color:var(--muted)}
blockquote{margin:1em 0;padding:.6em 1.1em;border-left:4px solid var(--violet);color:#33414f;background:var(--soft);border-radius:0 8px 8px 0}
table{border-collapse:collapse;width:100%;margin:1em 0}
th,td{border:1px solid var(--line);padding:9px 11px;text-align:left}
th{background:var(--soft)}
ol li,ul li{margin:.25em 0}
.sample-note{margin:0 0 20px;padding:13px 17px;background:var(--soft);border-radius:10px;font-size:.93rem;color:var(--muted)}
.related{max-width:820px;margin:2.6em auto 0;padding-top:1.3em;border-top:1px solid var(--line)}
.related ul{columns:2;column-gap:28px;padding-left:1.1em}
@media(max-width:640px){.related ul{columns:1}}

/* footer */
.site-footer{margin-top:64px;background:var(--ink);color:#c7cedb;padding:36px 0;font-size:.93rem}
.site-footer a{color:#fff}
.site-footer p{margin:.35em 0}
.site-footer .muted{color:#8a93a6}

@media(max-width:640px){
  html{font-size:16px}
  .hero{padding:46px 0 50px}
  .hero h1{font-size:2.1rem}
  .hero .lead,.hero .lead p{font-size:1.1rem}
  h1{font-size:1.8rem}h2{font-size:1.4rem}
  .site-header .container{gap:10px;padding:11px 16px}
  .brand-logo{height:28px}
  .theme-toggle{margin-left:auto}
  .main-nav{order:3;width:100%;margin-left:0;gap:14px}
  .site-header .cta-btn{order:4;width:100%;margin-left:0;text-align:center}
  table{display:block;overflow-x:auto;white-space:nowrap}
}

/* ===== ТЁМНАЯ ТЕМА ===== */
/* значения переменных в тёмном контексте */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --indigo:#8b9cff;--violet:#b08bff;--ink:#e7ebf2;--muted:#9aa3b4;
    --bg:#0f1319;--soft:#1a2130;--line:#27303d;--shadow:0 12px 32px rgba(0,0,0,.5);
  }
}
:root[data-theme="dark"]{
  --indigo:#8b9cff;--violet:#b08bff;--ink:#e7ebf2;--muted:#9aa3b4;
  --bg:#0f1319;--soft:#1a2130;--line:#27303d;--shadow:0 12px 32px rgba(0,0,0,.5);
}
/* переопределения захардкоженных цветов в тёмном контексте */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .site-header{background:rgba(15,19,25,.92)}
  :root:not([data-theme="light"]) .step,
  :root:not([data-theme="light"]) .tile,
  :root:not([data-theme="light"]) .card-list a{background:#161c27}
  :root:not([data-theme="light"]) blockquote{color:#c5cdd9}
  :root:not([data-theme="light"]) .site-footer{background:#0a0d12;color:#aeb6c5}
  :root:not([data-theme="light"]) .brand-logo--light{display:none}
  :root:not([data-theme="light"]) .brand-logo--dark{display:block}
  :root:not([data-theme="light"]) .theme-toggle .i-light{display:none}
  :root:not([data-theme="light"]) .theme-toggle .i-dark{display:inline}
}
:root[data-theme="dark"] .site-header{background:rgba(15,19,25,.92)}
:root[data-theme="dark"] .step,
:root[data-theme="dark"] .tile,
:root[data-theme="dark"] .card-list a{background:#161c27}
:root[data-theme="dark"] blockquote{color:#c5cdd9}
:root[data-theme="dark"] .site-footer{background:#0a0d12;color:#aeb6c5}
:root[data-theme="dark"] .brand-logo--light{display:none}
:root[data-theme="dark"] .brand-logo--dark{display:block}
:root[data-theme="dark"] .theme-toggle .i-light{display:none}
:root[data-theme="dark"] .theme-toggle .i-dark{display:inline}
