:root { --kb-radius: 12px; }
* { box-sizing: border-box; }
.kb-body { margin: 0; background: #f5f7fa; color: #172033; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.kb-shell { width: min(1120px, calc(100% - 48px)); margin: 0 auto; }
.kb-header { position: sticky; top: 0; z-index: 20; background: #111b2e; color: #fff; border-bottom: 1px solid rgba(255,255,255,.1); }
.kb-header__inner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.kb-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font-size: 21px; font-weight: 760; }
.kb-brand img { width: 32px; height: 32px; }
.kb-header__nav { display: flex; align-items: center; gap: 24px; }
.kb-header__nav a { color: #dce5f5; text-decoration: none; font-size: 14px; font-weight: 600; }
.kb-header__nav a:hover { color: #fff; }
.kb-header__nav .kb-lang { display: grid; place-items: center; width: 38px; height: 34px; border: 1px solid #5e6a7f; border-radius: 8px; }
.kb-hero { background: #111b2e; color: #fff; padding: 68px 0 76px; }
.kb-breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; color: #8fa0bc; font-size: 13px; margin-bottom: 38px; }
.kb-breadcrumbs a { color: #b8c6dc; text-decoration: none; }
.kb-eyebrow { margin: 0 0 13px; color: #448ff7; font-size: 12px; line-height: 1.4; text-transform: uppercase; font-weight: 800; letter-spacing: .08em; }
.kb-hero h1 { max-width: 780px; margin: 0; font-size: clamp(38px, 5vw, 64px); line-height: 1.02; letter-spacing: 0; }
.kb-hero__lead { max-width: 680px; margin: 22px 0 0; color: #bdc9da; font-size: 19px; line-height: 1.65; }
.kb-content { min-height: 420px; padding-top: 72px; padding-bottom: 100px; }
.kb-category-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #cfd6e0; border-left: 1px solid #cfd6e0; }
.kb-category { min-height: 270px; padding: 28px; color: inherit; text-decoration: none; background: #fff; border-right: 1px solid #cfd6e0; border-bottom: 1px solid #cfd6e0; transition: background .18s ease; }
.kb-category:hover { background: #edf5ff; }
.kb-category__number { display: block; color: #7b8798; font-size: 12px; font-weight: 750; }
.kb-category h2 { margin: 42px 0 12px; font-size: 23px; line-height: 1.2; }
.kb-category p { min-height: 72px; margin: 0; color: #667286; font-size: 15px; line-height: 1.6; }
.kb-category__link { display: inline-block; margin-top: 22px; color: #176fd1; font-size: 14px; font-weight: 750; }
.kb-list-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 22px; border-bottom: 1px solid #cfd6e0; }
.kb-list-head h2 { margin: 0; font-size: 30px; }
.kb-list-head > span { color: #6d7888; font-size: 14px; }
.kb-article-row { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 30px 0; color: inherit; text-decoration: none; border-bottom: 1px solid #cfd6e0; }
.kb-article-row:hover h2 { color: #176fd1; }
.kb-article-row__type { color: #176fd1; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.kb-article-row h2 { margin: 8px 0; font-size: 23px; transition: color .18s ease; }
.kb-article-row p { margin: 0; color: #697589; line-height: 1.55; }
.kb-article-row__arrow { font-size: 30px; color: #176fd1; }
.kb-empty { padding: 72px 0; color: #6d7888; border-bottom: 1px solid #cfd6e0; }
.kb-footer { padding: 28px 0; background: #111b2e; color: #9eabc0; }
.kb-footer .kb-shell { display: flex; gap: 28px; flex-wrap: wrap; }
.kb-footer a { color: #d9e3f1; text-decoration: none; }
.kb-body .site-footer__brand { color: #fff; }
.kb-article-hero { padding: 54px 0 60px; background: #111b2e; color: #fff; }
.kb-article-hero .kb-breadcrumbs { margin-bottom: 34px; }
.kb-article-hero h1 { max-width: 820px; margin: 0; font-size: clamp(36px, 5vw, 58px); line-height: 1.06; }
.kb-article-hero > .kb-shell > p:last-child { margin: 20px 0 0; color: #bdc9da; font-size: 18px; }
.kb-article-layout { display: grid; grid-template-columns: 220px minmax(0, 760px); justify-content: space-between; gap: 72px; padding-top: 64px; padding-bottom: 100px; }
.kb-toc { position: sticky; top: 96px; align-self: start; }
.kb-toc strong { display: block; padding-bottom: 14px; color: #29364b; font-size: 13px; text-transform: uppercase; }
.kb-toc nav { display: grid; border-top: 1px solid #d4dae3; }
.kb-toc a { padding: 10px 0; color: #6b7688; font-size: 13px; line-height: 1.35; text-decoration: none; border-bottom: 1px solid #e1e5eb; }
.kb-toc a:hover { color: #176fd1; }
.kb-article { min-width: 0; }
.kb-article section { scroll-margin-top: 92px; padding-bottom: 52px; margin-bottom: 52px; border-bottom: 1px solid #d6dce5; }
.kb-article section:last-child { margin-bottom: 0; }
.kb-article h2 { margin: 0 0 24px; color: #172033; font-size: 30px; line-height: 1.2; }
.kb-article h3 { margin: 30px 0 12px; color: #28354a; font-size: 19px; }
.kb-article p, .kb-article li { color: #536075; font-size: 16px; line-height: 1.75; }
.kb-article p { margin: 0 0 17px; }
.kb-article ul, .kb-article ol { margin: 0 0 22px; padding-left: 24px; }
.kb-article li { padding-left: 5px; margin-bottom: 8px; }
.kb-article strong { color: #26344a; }
.kb-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 28px 0; }
.kb-two-col > div { padding: 22px; background: #fff; border: 1px solid #d4dae3; border-radius: var(--kb-radius); }
.kb-two-col h3 { margin-top: 0; }
.kb-two-col ul { margin-bottom: 0; }
.kb-note { padding: 18px 20px; background: #eaf3ff; border-left: 3px solid #2580e8; border-radius: 0 var(--kb-radius) var(--kb-radius) 0; }
@media (max-width: 860px) { .kb-article-layout { grid-template-columns: 1fr; gap: 34px; } .kb-toc { position: static; } .kb-toc nav { grid-template-columns: repeat(2, 1fr); column-gap: 20px; } }
@media (max-width: 800px) { .kb-category-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .kb-shell { width: min(100% - 32px, 1120px); } .kb-header__nav a:first-child { display: none; } .kb-header__nav { gap: 14px; } .kb-hero { padding: 42px 0 52px; } .kb-breadcrumbs { margin-bottom: 28px; } .kb-content { padding-top: 44px; padding-bottom: 70px; } .kb-category-grid { grid-template-columns: 1fr; } .kb-category { min-height: 230px; } .kb-article-layout { padding-top: 42px; padding-bottom: 70px; } .kb-toc nav { grid-template-columns: 1fr; } .kb-two-col { grid-template-columns: 1fr; } .kb-article h2 { font-size: 26px; } }
