:root{
    --ink:#1c1917; --charcoal:#57534d; --stone:#79716b; --canvas:#f7f5f2; --card:#ffffff;
    --border:rgba(28,25,23,0.10); --border-soft:rgba(28,25,23,0.06);
    --accent:#f97316; --accent-dark:#ea580c; --accent-wash:#fff1e6;
    --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  }
*{ box-sizing:border-box; }
body{ margin:0; background:var(--canvas); color:var(--charcoal); font-family:var(--sans); }
a{ text-decoration:none; }
/* ===== NAV ===== */
  .ks-nav{ position:sticky; top:0; z-index:50; background:rgba(247,245,242,0.92); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border); }
.ks-nav__row{ max-width:1200px; margin:0 auto; padding:14px 24px; display:flex; align-items:center;
    justify-content:space-between; gap:20px; }
.ks-nav__logo{ font-weight:800; font-size:18px; color:var(--ink); letter-spacing:-0.01em; }
.ks-nav__logo span{ color:var(--accent); }
.ks-nav__powered{ font-family:var(--mono); font-size:10.5px; color:var(--stone); border-left:1px solid var(--border);
    padding-left:10px; margin-left:2px; white-space:nowrap; }
.ks-nav__powered:hover{ color:var(--accent-dark); }
.ks-nav__left{ display:flex; align-items:center; gap:2px; }
.ks-nav__trigger{ position:relative; }
.ks-nav__trigger > button, .ks-nav__bloglink{ font:inherit; font-size:14px; font-weight:700; color:var(--ink); background:none;
    border:none; padding:10px 14px; border-radius:8px; cursor:pointer; display:flex; align-items:center; gap:6px; }
.ks-nav__trigger > button:hover, .ks-nav__trigger.is-open > button, .ks-nav__bloglink:hover{ background:var(--accent-wash); color:var(--accent-dark); }
.ks-nav__trigger > button::after{ content:"▾"; font-size:9px; opacity:0.6; }
.ks-nav__mentor{ font-size:13.5px; font-weight:700; color:#fff !important; background:var(--accent); padding:10px 18px;
    border-radius:99px; white-space:nowrap; }
/* мега-панель: домены слева, подтемы справа */
  .ks-mega{ position:absolute; top:calc(100% + 8px); left:0; background:var(--card); border:1px solid var(--border);
    border-radius:16px; box-shadow:0 12px 32px rgba(28,25,23,0.10); display:none; overflow:hidden; }
.ks-nav__trigger.is-open .ks-mega{ display:flex; }
.ks-mega__domains{ width:200px; padding:10px; border-right:1px solid var(--border); display:flex; flex-direction:column; gap:2px; }
.ks-mega__domains button{ font:inherit; font-size:13.5px; font-weight:600; color:var(--charcoal); background:none;
    border:none; text-align:left; padding:9px 10px; border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; }
.ks-mega__domains button:hover, .ks-mega__domains button.is-active{ background:var(--accent-wash); color:var(--accent-dark); }
.ks-mega__sub{ width:260px; padding:14px; display:none; flex-direction:column; gap:2px; }
.ks-mega__sub.is-active{ display:flex; }
.ks-mega__sub a{ font-size:13px; color:var(--charcoal); padding:7px 8px; border-radius:8px; }
.ks-mega__sub a:hover{ background:var(--accent-wash); color:var(--accent-dark); }
.ks-mega__sub .all-link{ margin-top:6px; padding-top:10px; border-top:1px solid var(--border-soft); font-weight:700; color:var(--accent-dark); }
.ks-nav__burger{ display:none; background:none; border:1px solid var(--border); border-radius:8px; width:38px; height:38px;
    align-items:center; justify-content:center; cursor:pointer; }
.ks-nav__burger span, .ks-nav__burger span::before, .ks-nav__burger span::after{ display:block; width:16px; height:2px;
    background:var(--ink); position:relative; }
.ks-nav__burger span::before, .ks-nav__burger span::after{ content:""; position:absolute; left:0; }
.ks-nav__burger span::before{ top:-5px; }
.ks-nav__burger span::after{ top:5px; }
.ks-nav__mobile{ display:none; }
@media (max-width:860px){
    .ks-nav__trigger, .ks-nav__bloglink.desktop-only, .ks-nav__mentor.desktop-only{ display:none; }
    .ks-nav__burger{ display:flex; }
    .ks-nav__mobile{ display:none; flex-direction:column; gap:2px; padding:10px 16px 18px; border-top:1px solid var(--border); }
    .ks-nav.is-open .ks-nav__mobile{ display:flex; }
    .ks-nav__mgroup > button{ width:100%; text-align:left; font:inherit; font-weight:700; font-size:14px; color:var(--ink);
      background:none; border:none; padding:12px 4px; display:flex; justify-content:space-between; cursor:pointer; }
    .ks-nav__msub{ display:none; flex-direction:column; padding-left:6px; }
    .ks-nav__mgroup.is-open .ks-nav__msub{ display:flex; }
    .ks-nav__msub a{ font-size:13.5px; color:var(--charcoal); padding:8px 4px; }
    .ks-nav__mentor.mobile-only{ display:block; margin-top:10px; text-align:center; }
    .ks-nav__bloglink.mobile-only{ display:block; font-weight:700; color:var(--ink); padding:12px 4px; }
  }
.ks-nav__mentor.mobile-only, .ks-nav__bloglink.mobile-only{ display:none; }
/* ===== HERO (заглушка) ===== */
  .hero{ max-width:900px; margin:0 auto; padding:64px 24px 40px; text-align:center; }
.hero h1{ font-size:38px; font-weight:800; color:var(--ink); letter-spacing:-0.02em; margin:0 0 14px; line-height:1.15; }
.hero p{ font-size:17px; color:var(--stone); margin:0; }
.section{ max-width:1200px; margin:0 auto; padding:0 24px 56px; }
.section__head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:18px; flex-wrap:wrap; gap:10px; }
.section__title{ font-size:20px; font-weight:800; color:var(--ink); letter-spacing:-0.01em; }
.section__eyebrow{ font-family:var(--mono); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em;
    color:var(--accent-dark); display:block; margin-bottom:4px; }
/* ===== КАРУСЕЛЬ ДОМЕНОВ + БЛОГ (2 ряда, горизонтальный скролл) ===== */
  .carousel-wrap{ position:relative; }
.carousel{ display:grid; grid-auto-flow:column; grid-template-rows:repeat(2,1fr); gap:12px;
    overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 4px 14px; scrollbar-width:thin; }
.carousel::-webkit-scrollbar{ height:6px; }
.carousel::-webkit-scrollbar-thumb{ background:var(--border); border-radius:99px; }
.fcard{ scroll-snap-align:start; width:230px; background:var(--card); border:1px solid var(--border); border-radius:16px;
    padding:16px; display:flex; flex-direction:column; gap:6px; transition:border-color .15s, transform .15s; }
.fcard:hover{ border-color:var(--accent); transform:translateY(-2px); }
.fcard.is-blog{ background:var(--ink); border-color:var(--ink); }
.fcard.is-blog .fcard__label, .fcard.is-blog .fcard__desc, .fcard.is-blog .fcard__count{ color:#fff !important; opacity:.9; }
.fcard.is-blog .fcard__icon{ background:rgba(255,255,255,0.14); color:#fff; }
.fcard__icon{ width:32px; height:32px; border-radius:8px; background:var(--accent-wash); display:flex; align-items:center;
    justify-content:center; font-size:13px; color:var(--accent-dark); font-weight:800; }
.fcard__label{ font-size:14.5px; font-weight:700; color:var(--ink); margin-top:4px; }
.fcard__desc{ font-size:12px; color:var(--stone); line-height:1.4; }
.fcard__count{ font-family:var(--mono); font-size:10px; color:var(--stone); margin-top:auto; }
.carousel-arrow{ position:absolute; top:50%; transform:translateY(-50%); width:36px; height:36px; border-radius:50%;
    background:var(--card); border:1px solid var(--border); box-shadow:0 4px 12px rgba(0,0,0,0.08); cursor:pointer;
    display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--ink); z-index:5; }
.carousel-arrow.left{ left:-6px; }
.carousel-arrow.right{ right:-6px; }
@media (max-width:700px){ .carousel-arrow{ display:none; } }
/* ===== ЛЕНТА МАТЕРИАЛОВ ===== */
  .filters{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.filter-chip{ font-size:13px; font-weight:600; padding:8px 14px; border-radius:99px; border:1px solid var(--border);
    background:var(--card); color:var(--charcoal); cursor:pointer; }
.filter-chip.is-active{ background:var(--ink); border-color:var(--ink); color:#fff; }
.materials-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:900px){ .materials-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .materials-grid{ grid-template-columns:1fr; } }
.mcard{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px; display:flex;
    flex-direction:column; gap:8px; }
.mcard__meta{ display:flex; gap:6px; align-items:center; }
.mcard__domain{ font-family:var(--mono); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em;
    color:var(--accent-dark); }
.mcard__format{ font-size:10px; font-weight:600; color:var(--stone); background:var(--canvas); border:1px solid var(--border);
    padding:2px 8px; border-radius:99px; }
.mcard__title{ font-size:15px; font-weight:700; color:var(--ink); line-height:1.35; }
.mcard__title a{ color:inherit; }
.mcard__excerpt{ font-size:13px; color:var(--stone); line-height:1.5; }
.load-more{ display:block; margin:22px auto 0; font:inherit; font-size:14px; font-weight:700; color:var(--ink);
    background:var(--card); border:1px solid var(--border); border-radius:99px; padding:11px 24px; cursor:pointer; }
.load-more:hover{ border-color:var(--accent); color:var(--accent-dark); }
/* ===== FOOTER ===== */
  .footer{ border-top:1px solid var(--border); margin-top:20px; }
.footer__inner{ max-width:1200px; margin:0 auto; padding:40px 24px; display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:28px; }
@media (max-width:800px){ .footer__inner{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .footer__inner{ grid-template-columns:1fr; } }
.footer__logo{ font-weight:800; font-size:17px; color:var(--ink); margin-bottom:8px; }
.footer__logo span{ color:var(--accent); }
.footer__desc{ font-size:13px; color:var(--stone); line-height:1.5; max-width:280px; }
.footer__col h4{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink);
    margin:0 0 12px; }
.footer__col a{ display:block; font-size:13.5px; color:var(--charcoal); padding:5px 0; }
.footer__col a:hover{ color:var(--accent-dark); }
.footer__bottom{ border-top:1px solid var(--border-soft); padding:16px 24px; max-width:1200px; margin:0 auto;
    font-size:12px; color:var(--stone); display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
body{ background:var(--canvas) !important; }
#ksNav, #ksNav *, .ks-list-wrap, .ks-list-wrap *, .ks-footer, .ks-footer *{
    font-family: var(--sans);
    box-sizing: border-box;
  }
@media (prefers-reduced-motion: no-preference){ html{ scroll-behavior:smooth; } }
a:focus-visible, button:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
/* ===== NAV — идентично главной странице ===== */
  .ks-nav{ position:sticky; top:0; z-index:100; background:rgba(247,245,242,0.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); }
.ks-nav__logo{ font-weight:800; font-size:18px; color:var(--ink); letter-spacing:-0.01em; text-decoration:none; }
.ks-nav__trigger > button, .ks-nav__bloglink{ font:inherit; font-size:14px; font-weight:700; color:var(--ink); background:none; border:none; padding:10px 14px; border-radius:8px; cursor:pointer; display:flex; align-items:center; gap:6px; text-decoration:none; }
.ks-nav__mentor{ font-size:13.5px; font-weight:700; color:#fff !important; background:var(--accent); padding:10px 18px; border-radius:99px; white-space:nowrap; text-decoration:none; }
.ks-mega{ position:absolute; top:calc(100% + 8px); left:0; background:var(--card); border:1px solid var(--border); border-radius:16px; box-shadow:0 12px 32px rgba(28,25,23,0.10); display:none; overflow:hidden; }
.ks-mega__sub a{ font-size:13px; color:var(--charcoal); padding:7px 8px; border-radius:8px; text-decoration:none; }
@media (max-width:860px){
    .ks-nav__trigger, .ks-nav__bloglink.desktop-only, .ks-nav__mentor.desktop-only{ display:none; }
    .ks-nav__burger{ display:flex; }
    .ks-nav__mobile{ display:none; flex-direction:column; gap:2px; padding:10px 16px 18px; border-top:1px solid var(--border); }
    .ks-nav.is-open .ks-nav__mobile{ display:flex; }
    .ks-nav__mgroup > button{ width:100%; text-align:left; font:inherit; font-weight:700; font-size:14px; color:var(--ink); background:none; border:none; padding:12px 4px; display:flex; justify-content:space-between; cursor:pointer; }
    .ks-nav__msub{ display:none; flex-direction:column; padding-left:6px; }
    .ks-nav__mgroup.is-open .ks-nav__msub{ display:flex; }
    .ks-nav__msub a{ font-size:13.5px; color:var(--charcoal); padding:8px 4px; text-decoration:none; }
    .ks-nav__mentor.mobile-only{ display:block; margin-top:10px; text-align:center; }
    .ks-nav__bloglink.mobile-only{ display:block; font-weight:700; color:var(--ink); padding:12px 4px; text-decoration:none; }
  }
/* СПИСОК/ЛЕНТА */
  .ks-list-wrap{ max-width:1000px; margin:0 auto; padding:48px 24px 88px; }
.ks-list__back{ margin:0 0 20px !important; }
.ks-list__back a{ color:var(--stone); font-size:13.5px; font-weight:600; text-decoration:none; }
.ks-list__back a:hover{ color:var(--ink); }
.ks-list__title{ color:var(--ink) !important; font-size:clamp(24px,3.4vw,34px) !important; font-weight:700 !important; letter-spacing:-0.02em !important; margin:0 0 40px !important; }
.ks-list__grid.wp-block-post-template{ display:grid !important; grid-template-columns:repeat(2,1fr); gap:18px; list-style:none; margin:0; padding:0; }
@media (max-width:700px){ .ks-list__grid.wp-block-post-template{ grid-template-columns:1fr; } }
.ks-list__grid > li{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:22px; list-style:none; transition:border-color .15s ease; }
.ks-list__grid > li:hover{ border-color:var(--accent); }
.ks-card__cat{ margin:0 0 10px !important; }
.ks-card__cat a{ display:inline-block; background:var(--accent-wash); color:var(--accent-dark) !important; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.3px; padding:3px 10px; border-radius:99px; text-decoration:none; }
.ks-card__title{ margin:0 0 8px !important; }
.ks-card__title a{ color:var(--ink) !important; font-size:17px !important; font-weight:700 !important; line-height:1.35; text-decoration:none !important; letter-spacing:-0.01em; }
.ks-card__title a:hover{ color:var(--accent-dark) !important; }
.ks-card__excerpt{ color:var(--charcoal) !important; font-size:13.5px !important; line-height:1.6 !important; margin:0 0 14px !important; }
.ks-card__meta{ color:var(--stone) !important; font-size:12px !important; }
.ks-list__empty{ color:var(--stone); font-size:14px; padding:32px 0; }
.ks-list__empty a{ color:var(--accent-dark); font-weight:600; }
.wp-block-query-pagination{ margin-top:36px !important; justify-content:center !important; gap:8px !important; }
.wp-block-query-pagination a, .wp-block-query-pagination span{ color:var(--charcoal) !important; font-size:13.5px !important; padding:8px 14px; border-radius:99px; text-decoration:none !important; }
.wp-block-query-pagination .current{ background:var(--ink) !important; color:#fff !important; }
.wp-block-query-pagination a:hover{ background:var(--border-soft) !important; }
/* ===== FOOTER — идентично главной странице ===== */
  .ks-footer{ border-top:1px solid var(--border); margin-top:24px; }
.ks-footer__inner{ max-width:1200px; margin:0 auto; padding:40px 24px; display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:28px; }
.ks-footer__logo{ font-weight:800; font-size:17px; color:var(--ink); margin-bottom:8px; }
.ks-footer__logo span{ color:var(--accent); }
.ks-footer__brand p{ font-size:13px; color:var(--stone); line-height:1.5; max-width:280px; margin:0 0 14px; }
.ks-footer__col h4{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink); margin:0 0 12px; }
.ks-footer__col a{ display:block; font-size:13.5px; color:var(--charcoal); text-decoration:none; padding:5px 0; }
.ks-footer__col a:hover{ color:var(--accent-dark); }
.ks-footer__icons{ display:flex; gap:8px; }
.ks-footer__icons a{ display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:var(--border-soft); color:var(--charcoal); }
.ks-footer__icons a:hover{ background:var(--ink); color:#fff; }
.ks-footer__bottom{ border-top:1px solid var(--border-soft); padding:16px 24px; max-width:1200px; margin:0 auto; font-size:12px; color:var(--stone); display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
@media (max-width:800px){ .ks-footer__inner{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .ks-footer__inner{ grid-template-columns:1fr; } }
/* СПИСОК/ЛЕНТА (архив, индекс, поиск) */
  .ks-list-wrap{ max-width:1000px; margin:0 auto; padding:48px 24px 88px; }
.ks-list__title.wp-block-query-title{ color:var(--ink) !important; font-size:clamp(24px,3.4vw,34px) !important; font-weight:700 !important; letter-spacing:-0.02em !important; margin:0 0 40px !important; }
#ksNav, #ksNav *, .ks-post-wrap, .ks-post-wrap *, .ks-footer, .ks-footer *{
    font-family: var(--sans);
    box-sizing: border-box;
  }
/* СТАТЬЯ */
  .ks-post-wrap{ max-width:720px; margin:0 auto; padding:48px 24px 88px; }
.ks-post__back{ margin:0 0 24px !important; }
.ks-post__back a{ color:var(--stone); font-size:13.5px; font-weight:600; text-decoration:none; }
.ks-post__back a:hover{ color:var(--ink); }
.ks-post__tag{ margin:0 0 16px !important; }
.ks-post__tag a, .wp-block-post-terms a{ display:inline-block; background:var(--accent-wash); color:var(--accent-dark) !important; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.3px; padding:4px 12px; border-radius:99px; text-decoration:none; }
h1.ks-post__title{ color:var(--ink) !important; font-size:clamp(28px,4vw,40px); line-height:1.2; font-weight:700; letter-spacing:-0.02em; margin:0 0 16px !important; }
.ks-post__meta{ display:flex; align-items:center; gap:8px; color:var(--stone); font-size:13.5px; margin:0 0 32px !important; }
.ks-post__meta time{ color:var(--stone); font-size:13.5px; }
.ks-post__dot{ color:var(--border); }
.ks-post__readtime{ color:var(--stone); font-size:13.5px; }
.ks-post__cover{ margin:0 0 32px !important; }
.ks-post__cover img{ width:100%; border-radius:16px; display:block; }
.ks-post__content{ color:var(--charcoal); font-size:16px; line-height:1.75; }
.ks-post__content p{ margin:0 0 20px; }
.ks-post__content h2{ color:var(--ink); font-size:22px; font-weight:700; margin:40px 0 16px; letter-spacing:-0.01em; }
.ks-post__content h3{ color:var(--ink); font-size:19px; font-weight:700; margin:32px 0 14px; }
.ks-post__content a{ color:var(--accent-dark); text-decoration:underline; }
.ks-post__content strong{ color:var(--ink); }
.ks-post__content ul, .ks-post__content ol{ margin:0 0 20px; padding-left:22px; }
.ks-post__content li{ margin-bottom:8px; }
.ks-post__content img{ max-width:100%; border-radius:8px; }
.ks-post__content iframe{ max-width:100%; border-radius:8px; }
.ks-post__content .wp-block-button__link{ background:var(--ink); color:#fff; border-radius:99px; padding:12px 24px; text-decoration:none; font-weight:600; display:inline-block; }
.ks-list__title.wp-block-query-title{ color:var(--ink) !important; font-size:clamp(22px,3.2vw,30px) !important; font-weight:700 !important; letter-spacing:-0.02em !important; margin:0 0 8px !important; }
.ks-list__search-form{ margin:0 0 40px !important; max-width:420px; }
.ks-list__search-form input[type="search"]{ width:100%; border:1px solid var(--border); border-radius:99px; padding:11px 18px; font-size:14px; color:var(--ink); background:var(--card); }
.ks-list__search-form input[type="search"]:focus{ outline:none; border-color:var(--accent); }
.ks-list__search-form button{ display:none; }
.ks-list__empty{ background:var(--card); border:1px solid var(--border); border-radius:16px; color:var(--charcoal); font-size:14px; line-height:1.7; padding:28px; }
#ksNav, #ksNav *, .ks-page-wrap, .ks-page-wrap *, .ks-footer, .ks-footer *{
    font-family: var(--sans);
    box-sizing: border-box;
  }
/* СТРАНИЦА */
  .ks-page-wrap{ max-width:760px; margin:0 auto; padding:56px 24px 88px; }
h1.ks-page__title{ color:var(--ink) !important; font-size:clamp(28px,4vw,40px) !important; line-height:1.2 !important; font-weight:700 !important; letter-spacing:-0.02em !important; margin:0 0 32px !important; }
.ks-page__cover{ margin:0 0 32px !important; }
.ks-page__cover img{ width:100%; border-radius:16px; display:block; }
.ks-page__content{ color:var(--charcoal); font-size:16px; line-height:1.75; }
.ks-page__content p{ margin:0 0 20px; }
.ks-page__content h2{ color:var(--ink); font-size:22px; font-weight:700; margin:40px 0 16px; letter-spacing:-0.01em; }
.ks-page__content h3{ color:var(--ink); font-size:19px; font-weight:700; margin:32px 0 14px; }
.ks-page__content a{ color:var(--accent-dark); text-decoration:underline; }
.ks-page__content strong{ color:var(--ink); }
.ks-page__content ul, .ks-page__content ol{ margin:0 0 20px; padding-left:22px; }
.ks-page__content li{ margin-bottom:8px; }
.ks-page__content img{ max-width:100%; border-radius:8px; }
.ks-page__content .wp-block-button__link{ background:var(--ink); color:#fff; border-radius:99px; padding:12px 24px; text-decoration:none; font-weight:600; display:inline-block; }
#ksNav, #ksNav *, .ks-404, .ks-404 *, .ks-footer, .ks-footer *{
    font-family: var(--sans);
    box-sizing: border-box;
  }
/* 404 */
  .ks-404{ max-width:600px; margin:0 auto; padding:96px 24px 100px; text-align:center; }
.ks-404__code{ color:var(--accent); font-size:14px; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin:0 0 16px !important; }
.ks-404__title{ color:var(--ink) !important; font-size:clamp(28px,4vw,38px) !important; font-weight:700 !important; letter-spacing:-0.02em !important; margin:0 0 14px !important; }
.ks-404__sub{ color:var(--stone) !important; font-size:15px !important; line-height:1.6 !important; margin:0 0 36px !important; }
.ks-404__search{ margin:0 auto 36px !important; max-width:380px; }
.ks-404__search input[type="search"]{ width:100%; border:1px solid var(--border); border-radius:99px; padding:11px 18px; font-size:14px; color:var(--ink); background:var(--card); text-align:left; }
.ks-404__search input[type="search"]:focus{ outline:none; border-color:var(--accent); }
.ks-404__search button{ display:none; }
.ks-404__links{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.ks-404__links a{ background:var(--card); border:1px solid var(--border); color:var(--charcoal); font-size:13.5px; font-weight:600; padding:9px 18px; border-radius:99px; text-decoration:none; }
.ks-404__links a:hover{ border-color:var(--accent); color:var(--ink); }

/* ============================================================
   ЧИТАЛКА — то, ради чего на сайт приходят.
   Всё, что ниже, действует только внутри статьи (.ks-post__content)
   и не задевает главную, хабы и списки.
   ============================================================ */

/* Мера строки. 660px по вертикали текста — это примерно 65–75 знаков
   в строке, тот диапазон, на котором глаз не теряет начало следующей
   строки. Было 760 — заметно шире комфортного. */
.ks-post__content{ --read: 660px; }
.ks-post__content > *{ max-width: var(--read); margin-left:auto; margin-right:auto; }
/* Таблицы и врезки шире колонки — им можно занять больше */
.ks-post__content > figure,
.ks-post__content > .wp-block-table,
.ks-post__content > .ks-table-scroll,
.ks-post__content > .ks-note{ max-width: 780px; }

/* Кегль и ритм. На телефоне шрифт БОЛЬШЕ, чем на десктопе: экран ближе
   к глазу, но строка короче, и мелкий кегль там читается тяжелее.
   Обычно делают наоборот и зря. */
.ks-post__content{ font-size:17px; line-height:1.75; color:var(--charcoal,#57534d); }
.ks-post__content p{ margin:0 0 1.15em; }
.ks-post__content p + p{ margin-top:0; }

@media (max-width:768px){
  .ks-post__content{ font-size:18px; line-height:1.72; --read:100%; }
  .ks-post__content p{ margin-bottom:1.2em; }
}

/* Заголовки. Отступ сверху всегда заметно больше, чем снизу —
   тогда заголовок принадлежит своему разделу, а не висит между. */
.ks-post__content h2{
  font-size:26px; line-height:1.25; letter-spacing:-0.015em;
  color:var(--ink,#1c1917); margin:2.2em 0 0.55em; font-weight:700;
}
.ks-post__content h3{
  font-size:20px; line-height:1.35; color:var(--ink,#1c1917);
  margin:1.9em 0 0.45em; font-weight:700;
}
.ks-post__content h2 + h3{ margin-top:1.1em; }
@media (max-width:768px){
  .ks-post__content h2{ font-size:23px; margin-top:1.9em; }
  .ks-post__content h3{ font-size:19px; }
}

/* Списки: маркер не прижат к тексту, пункты дышат */
.ks-post__content ul, .ks-post__content ol{ margin:0 0 1.2em; padding-left:1.4em; }
.ks-post__content li{ margin:0 0 0.5em; padding-left:0.2em; }
.ks-post__content li::marker{ color:var(--stone,#79716b); }

/* Ссылки внутри текста: подчёркивание тонкое и отодвинуто от букв,
   чтобы не резать нижние выносные элементы */
.ks-post__content a{
  color:var(--accent-dark,#ea580c);
  text-decoration:underline; text-decoration-thickness:1px;
  text-underline-offset:3px; text-decoration-color:rgba(234,88,12,0.35);
}
.ks-post__content a:hover{ text-decoration-color:currentColor; }

/* Цитата: вертикальная линия вместо заливки — не крадёт внимание */
.ks-post__content blockquote{
  margin:1.8em 0; padding:0.1em 0 0.1em 1.1em;
  border-left:2px solid var(--accent,#f97316);
  font-size:1.02em; color:var(--ink,#1c1917);
}
.ks-post__content blockquote p:last-child{ margin-bottom:0; }

/* Врезки трёх видов. Отличаются цветом линии и подписью, а не заливкой
   во всю ширину — заливка превращает текст в баннер, который пролистывают. */
.ks-note{
  margin:1.8em auto; padding:14px 16px 14px 18px;
  border-left:3px solid var(--stone,#79716b);
  background:var(--bone,#fafaf9); border-radius:0 8px 8px 0;
  font-size:0.97em;
}
.ks-note__label{
  display:block; font-size:11px; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--stone,#79716b); margin-bottom:6px;
}
.ks-note p:last-child{ margin-bottom:0; }
.ks-note--warn{ border-left-color:#d97706; }
.ks-note--warn .ks-note__label{ color:#b45309; }
.ks-note--example{ border-left-color:var(--accent,#f97316); }
.ks-note--example .ks-note__label{ color:var(--accent-dark,#ea580c); }

/* Таблицы. На телефоне не сжимаются в кашу, а прокручиваются внутри
   своей рамки. Справа тень-подсказка: видно, что есть продолжение. */
.ks-table-scroll{
  margin:1.8em auto; overflow-x:auto; -webkit-overflow-scrolling:touch;
  border:1px solid rgba(28,25,23,0.10); border-radius:8px;
  background:
    linear-gradient(to right, #fff 30%, rgba(255,255,255,0)) left / 24px 100% no-repeat,
    linear-gradient(to left, #fff 30%, rgba(255,255,255,0)) right / 24px 100% no-repeat,
    radial-gradient(farthest-side at 0 50%, rgba(28,25,23,0.10), transparent) left / 10px 100% no-repeat,
    radial-gradient(farthest-side at 100% 50%, rgba(28,25,23,0.10), transparent) right / 10px 100% no-repeat;
  background-attachment: local, local, scroll, scroll;
}
.ks-table-scroll table{ border-collapse:collapse; width:100%; min-width:520px; margin:0; font-size:0.95em; }
.ks-table-scroll th, .ks-table-scroll td{
  padding:10px 14px; text-align:left; vertical-align:top;
  border-bottom:1px solid rgba(28,25,23,0.08);
}
.ks-table-scroll th{ color:var(--ink,#1c1917); font-weight:700; background:var(--bone,#fafaf9); white-space:nowrap; }
.ks-table-scroll tr:last-child td{ border-bottom:0; }

/* Паспорт материала: раздел, тип, время чтения, дата обновления.
   Дата обновления важнее даты публикации — она показывает,
   что за материалом следят. */
.ks-passport{
  max-width:var(--read); margin:0 auto 2em; padding:0 0 14px;
  border-bottom:1px solid rgba(28,25,23,0.10);
  display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center;
  font-size:12.5px; color:var(--stone,#79716b);
}
.ks-passport__item{ display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.ks-passport__item b{ color:var(--charcoal,#57534d); font-weight:600; }
.ks-passport__dot{ width:3px; height:3px; border-radius:50%; background:currentColor; opacity:.45; }

/* Оглавление. На широком экране — сбоку и липкое, с подсветкой текущего
   раздела. На телефоне боковых колонок нет, поэтому оно сворачивается
   в одну строку в начале статьи и раскрывается по тапу. */
.ks-toc{ font-size:13.5px; }
.ks-toc__title{
  font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--stone,#79716b); margin:0 0 10px;
}
.ks-toc ol{ list-style:none; margin:0; padding:0; }
.ks-toc li{ margin:0; }
.ks-toc a{
  display:block; padding:5px 0 5px 12px; line-height:1.4;
  color:var(--stone,#79716b); text-decoration:none;
  border-left:2px solid rgba(28,25,23,0.10);
}
.ks-toc a:hover{ color:var(--ink,#1c1917); }
.ks-toc li.is-sub a{ padding-left:22px; font-size:0.95em; }
.ks-toc a.is-current{ color:var(--ink,#1c1917); border-left-color:var(--accent,#f97316); font-weight:600; }

@media (min-width:1180px){
  .ks-toc--side{
    position:fixed; top:120px; left:calc(50% - 660px);
    width:210px; max-height:70vh; overflow-y:auto;
    scrollbar-width:thin;
  }
  .ks-toc--mobile{ display:none; }
}
@media (max-width:1179px){
  .ks-toc--side{ display:none; }
  .ks-toc--mobile{
    max-width:var(--read); margin:0 auto 1.8em;
    border:1px solid rgba(28,25,23,0.10); border-radius:8px;
    background:var(--bone,#fafaf9); overflow:hidden;
  }
  .ks-toc--mobile > summary{
    list-style:none; cursor:pointer; padding:12px 16px;
    font-size:13px; font-weight:700; color:var(--ink,#1c1917);
    display:flex; align-items:center; justify-content:space-between;
  }
  .ks-toc--mobile > summary::-webkit-details-marker{ display:none; }
  .ks-toc--mobile > summary::after{ content:'▾'; color:var(--stone,#79716b); font-size:12px; }
  .ks-toc--mobile[open] > summary::after{ content:'▴'; }
  .ks-toc--mobile .ks-toc__body{ padding:0 16px 12px; }
}

/* Полоса прогресса чтения. Единственный элемент, которому позволен
   акцентный цвет во всю ширину. */
.ks-progress{
  position:fixed; top:0; left:0; height:2px; width:0;
  background:var(--accent,#f97316); z-index:9999;
  transition:width .1s linear; pointer-events:none;
}

/* Якоря не должны уезжать под липкую шапку */
.ks-post__content h2[id], .ks-post__content h3[id]{ scroll-margin-top:96px; }


/* Тема задаёт глобальную ширину контента 520px через механизм
   is-layout-constrained. Для статьи это узко — перебиваем селектором
   повышенной специфичности, а не через !important. */
.ks-post-wrap{ max-width:820px; }
.ks-post-wrap > .ks-post__content{ max-width:680px; }
.ks-post__content.is-layout-constrained > *{ max-width:100%; }
.ks-post-wrap > .ks-post__meta{ max-width:680px; }
@media (max-width:768px){
  .ks-post-wrap > .ks-post__content{ max-width:100%; }
}


/* ===== ОБЛАСТИ НА ГЛАВНОЙ =====
   Была горизонтальная карусель на одиннадцать карточек. После того как
   пустые области перестали показываться, её сетка в два ряда стала рваться.
   Сетка с переносом честнее: она показывает всё сразу и выдержит рост
   до девяти областей без переделки. */
.carousel{
  display:grid !important;
  grid-auto-flow:row !important;
  grid-template-rows:none !important;
  grid-template-columns:repeat(auto-fill, minmax(216px, 1fr));
  gap:12px;
  overflow:visible !important;
  scroll-snap-type:none !important;
  padding:4px 0 0;
}
.carousel .fcard{ width:auto !important; }
.carousel-arrow{ display:none !important; }
@media (max-width:640px){
  /* Две колонки жёстко: auto-fill на 390px давал три и рвал описания. */
  .carousel{ grid-template-columns:repeat(2, 1fr); gap:10px; }
  .carousel .fcard{ padding:14px; }
}
@media (max-width:360px){
  .carousel{ grid-template-columns:1fr; }
}


/* ===== ТЕМЫ В РАЗДЕЛЕ =====
   Счётчик рядом с названием темы и сворачивание редких тем. */
.ks-hub-subgroup__row a i{
  font-style:normal;
  margin-left:6px;
  font-size:11px;
  font-variant-numeric:tabular-nums;
  color:var(--stone);
}
.ks-hub-more{ display:inline-block; }
.ks-hub-more > summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  padding:7px 14px;
  border:1px dashed var(--border);
  border-radius:99px;
  font-size:13px;
  color:var(--stone);
}
.ks-hub-more > summary::-webkit-details-marker{ display:none; }
.ks-hub-more > summary:hover{ color:var(--ink); border-color:var(--stone); }
.ks-hub-more__row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  width:100%;
}

/* ===== АРХИВ РУБРИКИ =====
   Сетка стояла на двух колонках по 251px посреди широкого экрана
   и съезжала влево. Ставим текучую. */
.ks-list__grid.wp-block-post-template{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:18px;
  list-style:none;
  padding:0;
  margin:0;
}
@media (max-width:640px){
  .ks-list__grid.wp-block-post-template{ grid-template-columns:1fr; gap:12px; }
}
.ks-arch-subs{ margin:0 0 22px; }
.ks-arch-subs a.is-active{ background:var(--ink); color:#fff; border-color:var(--ink); }
.ks-arch-subs a.is-active i{ color:rgba(255,255,255,0.7); }
.ks-arch-note{
  margin:12px 0 0;
  font-size:14px;
  color:var(--stone);
}
.ks-arch-note a{ color:var(--accent-dark); }

/* ===== ЧИПЫ ТЕМ =====
   Жили внутри страницы «Продажи» и поэтому не доставались архивам рубрик.
   Один элемент — одно описание, независимо от того, где он показан. */
.ks-hub-subs{ display:flex; flex-direction:column; gap:18px; margin:0 0 28px; }
.ks-hub-subgroup__label{
  display:block;
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  color:var(--stone);
  margin-bottom:10px;
}
.ks-hub-subgroup__row{ display:flex; flex-wrap:wrap; gap:10px; align-items:flex-start; }
.ks-hub-subs a{
  font-size:13px;
  font-weight:600;
  padding:9px 16px;
  border-radius:99px;
  border:1px solid var(--border);
  background:var(--card);
  color:var(--ink);
  transition:border-color .15s, color .15s, transform .15s;
}
.ks-hub-subs a:hover{ color:var(--accent-dark); border-color:var(--accent); transform:translateY(-1px); }
.ks-hub-subs a.is-active{ background:var(--ink); border-color:var(--ink); color:#fff; }
.ks-hub-subs a.is-active i{ color:rgba(255,255,255,0.7); }

/* Содержимое архива тема ограничивала до 520px — в такую колонку
   лента из карточек не укладывается. */
/* В архиве заголовок и лента жили в разных контейнерах разной ширины:
   заголовок стоял левее карточек, а сама лента сжималась до одной колонки
   шириной в текстовую колонку. Ставим общую ширину и общий левый край. */
body.archive .ks-list-wrap{ max-width:1040px; margin-inline:auto; }
body.archive .wp-block-query.ks-list__query{
  max-width:100%;
  width:100%;
  margin-inline:0;
}
body.archive .ks-list__grid.wp-block-post-template{ width:100%; max-width:100%; }
body.archive .ks-arch-subs{ max-width:100%; }

/* Описание раздела под заголовком. */
/* Контейнер архива центрует всё, что в нём лежит, и описание уезжало
   от заголовка вправо. Селектор побивает тему по весу, без !important. */
.ks-list-wrap > .ks-arch-lead,
.ks-arch-lead{
  max-width:62ch;
  margin:12px 0 26px;
  font-size:17px;
  line-height:1.6;
  color:var(--charcoal);
}
@media (max-width:640px){
  .ks-arch-lead{ font-size:16px; margin:10px 0 20px; }
}

/* Тема центрует абзацы внутри constrained-контейнера через margin:auto,
   и описание отъезжало от заголовка на сто шестьдесят пикселей.
   Берём весом селектора, а не !important. */
/* Центрирование абзацев тема задаёт через !important, спорить с ним
   тем же способом значит начать гонку. Проще снять ограничение ширины
   с самого абзаца — тогда автоматические поля схлопываются в ноль,
   а длину строки держит внутренний элемент. */
body.archive .ks-list-wrap > p.ks-arch-lead{
  max-width:100%;
  width:100%;
}
.ks-arch-lead > span{
  display:block;
  max-width:62ch;
}

/* ===== ХАБ РОЛЕЙ ===== */
.ks-roles__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:14px;
  margin:0 0 28px;
}
.ks-role{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--card);
  transition:border-color .15s, transform .15s;
}
.ks-role:hover{ border-color:var(--accent); transform:translateY(-2px); }
.ks-role__name{ font-size:16px; font-weight:700; color:var(--ink); }
.ks-role__desc{ font-size:14px; line-height:1.5; color:var(--charcoal); }
.ks-role__count{
  margin-top:4px;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.04em;
  color:var(--stone);
}
.ks-roles__label{
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  color:var(--stone);
  margin:0 0 12px;
}
@media (max-width:640px){
  .ks-roles__grid{ grid-template-columns:1fr; gap:10px; }
}

/* Страница ролей живёт в шаблоне страницы, где содержимое зажато
   в текстовую колонку. Сетке карточек нужна вся ширина. */
/* Колонка содержимого у шаблона страницы — 520 пикселей под текст.
   Сетке карточек столько мало, поэтому расширяем её только там,
   где внутри действительно есть сетка. */
body.page .ks-page__content:has(.ks-roles){ max-width:1040px; }
body.page .ks-roles,
body.page .ks-roles__grid{ max-width:100%; width:100%; }

/* Тема подчёркивает ссылки внутри содержимого — карточка не ссылка в тексте. */
body.page .ks-page__content a.ks-role,
body.page .ks-page__content a.ks-role:hover,
body.page .ks-page__content a.ks-role span{ text-decoration:none; }

/* ===== МЕНТОРСТВО ===== */
body.page .ks-page__content:has(.ks-ment){ max-width:820px; }
.ks-ment{ display:flex; flex-direction:column; gap:40px; }
/* Внутри constrained-колонки тема центрует заголовки и абзацы.
   Секции занимают всю ширину, чтобы всё стояло по одному краю. */
body.page .ks-page__content .ks-ment,
body.page .ks-page__content .ks-ment > section{ max-width:100%; width:100%; }
.ks-ment h2{ font-size:22px; margin:0 0 16px; text-align:left; }
.ks-ment__list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.ks-ment__list li{
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--card);
  font-size:15px;
  line-height:1.55;
}
.ks-ment__list strong{ color:var(--ink); }
.ks-ment__block--muted .ks-ment__list li{ background:transparent; border-style:dashed; color:var(--charcoal); }
.ks-ment__steps{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:18px; }
.ks-ment__steps li{ display:flex; gap:14px; align-items:flex-start; }
.ks-ment__num{
  flex:0 0 auto;
  font-family:var(--mono);
  font-size:12px;
  font-weight:700;
  color:#fff;
  background:var(--accent);
  width:34px; height:34px;
  border-radius:99px;
  display:flex; align-items:center; justify-content:center;
}
.ks-ment__steps strong{ display:block; margin-bottom:4px; }
.ks-ment__steps p{ margin:0; font-size:15px; line-height:1.55; color:var(--charcoal); }
.ks-ment__cta{
  padding:28px;
  border-radius:16px;
  background:var(--accent-wash);
  border:1px solid var(--border-soft);
}
.ks-ment__cta p{ margin:0 0 18px; font-size:15px; line-height:1.6; }
.ks-ment__links{ display:flex; flex-wrap:wrap; gap:10px; }
.ks-ment__btn{
  display:inline-flex;
  align-items:center;
  padding:11px 20px;
  border-radius:99px;
  background:var(--accent);
  color:#fff;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  transition:background .15s;
}
.ks-ment__btn:hover{ background:var(--accent-dark); }
.ks-ment__btn--ghost{ background:transparent; color:var(--ink); border:1px solid var(--border); }
.ks-ment__btn--ghost:hover{ background:var(--card); }
/* Тема красит ссылки в содержимом акцентным цветом — на акцентной
   заливке текст пропадал. */
body.page .ks-page__content a.ks-ment__btn{
  text-decoration:none;
  color:#fff;
}
body.page .ks-page__content a.ks-ment__btn--ghost{ color:var(--ink); }
@media (max-width:640px){
  .ks-ment{ gap:30px; }
  .ks-ment__cta{ padding:20px; }
  .ks-ment__btn{ width:100%; justify-content:center; }
}

/* ===== ГЛОССАРИЙ =====
   Ссылка на термин под текстом пунктиром: видно, что можно кликнуть,
   но глаз не спотыкается при чтении. */
.ks-gloss{
  color:inherit;
  text-decoration:none;
  border-bottom:1px dotted var(--stone);
  cursor:help;
}
.ks-gloss:hover{ color:var(--accent-dark); border-bottom-color:var(--accent); }

.ks-term__def{
  font-size:19px;
  line-height:1.6;
  color:var(--ink);
  font-weight:500;
  margin:0 0 28px;
}
.ks-term__rel{ color:var(--stone); font-size:14px; }

.ks-gloss-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:12px;
}
.ks-gloss-card{
  display:block;
  padding:16px 18px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--card);
  text-decoration:none;
  transition:border-color .15s, transform .15s;
}
.ks-gloss-card:hover{ border-color:var(--accent); transform:translateY(-2px); }
.ks-gloss-card__t{ display:block; font-size:16px; font-weight:700; color:var(--ink); margin-bottom:5px; }
.ks-gloss-card__d{ display:block; font-size:13px; line-height:1.5; color:var(--charcoal); }
@media (max-width:640px){ .ks-gloss-grid{ grid-template-columns:1fr; } }

/* ===== ПОИСК =====
   Страница результатов работала, а войти в неё было неоткуда:
   ни формы в шапке, ни поля на главной. */
.ks-find{
  display:flex;
  gap:8px;
  max-width:560px;
  margin:26px auto 10px;
}
.ks-find input{
  flex:1;
  padding:13px 18px;
  font-size:16px;
  border:1px solid var(--border);
  border-radius:99px;
  background:var(--card);
  color:var(--ink);
  outline:none;
  transition:border-color .15s;
}
.ks-find input:focus{ border-color:var(--accent); }
.ks-find input::placeholder{ color:var(--stone); }
.ks-find button{
  padding:13px 24px;
  font-size:14px;
  font-weight:600;
  border:0;
  border-radius:99px;
  background:var(--ink);
  color:#fff;
  cursor:pointer;
  transition:background .15s;
}
.ks-find button:hover{ background:var(--accent-dark); }
.ks-find__hint{
  text-align:center;
  font-size:13px;
  color:var(--stone);
  margin:0;
}
.ks-find__hint a{ color:var(--accent-dark); }

.ks-nav__find{ display:flex; margin-left:auto; margin-right:12px; }
.ks-nav__find input{
  width:150px;
  padding:8px 14px;
  font-size:13px;
  border:1px solid var(--border);
  border-radius:99px;
  background:var(--canvas);
  color:var(--ink);
  outline:none;
  transition:width .18s, border-color .15s;
}
.ks-nav__find input:focus{ width:210px; border-color:var(--accent); background:var(--card); }
@media (max-width:1100px){ .ks-nav__find input{ width:120px; } }
@media (max-width:640px){
  .ks-find{ flex-direction:column; gap:10px; margin-top:20px; }
  .ks-find button{ width:100%; }
}

/* ===== БЛОКИ ГЛАВНОЙ: РОЛИ, ГЛОССАРИЙ, МЕНТОРСТВО ===== */
.ks-home-roles,
.ks-home-gloss{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(190px, 1fr));
  gap:10px;
}
.ks-chipcard{
  display:block;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--card);
  text-decoration:none;
  transition:border-color .15s, transform .15s;
}
.ks-chipcard:hover{ border-color:var(--accent); transform:translateY(-2px); }
.ks-chipcard__t{ display:block; font-size:15px; font-weight:700; color:var(--ink); margin-bottom:4px; }
.ks-chipcard__c{ display:block; font-size:12px; line-height:1.45; color:var(--stone); }

.ks-home-ment__box{
  padding:32px;
  border-radius:16px;
  background:var(--ink);
  color:#fff;
}
.ks-home-ment__box h2{ margin:0 0 10px; font-size:22px; color:#fff; }
.ks-home-ment__box p{ margin:0 0 20px; font-size:15px; line-height:1.6; color:rgba(255,255,255,0.75); max-width:60ch; }
.ks-home-ment__btn{
  display:inline-flex;
  padding:11px 22px;
  border-radius:99px;
  background:var(--accent);
  color:#fff;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  transition:background .15s;
}
.ks-home-ment__btn:hover{ background:var(--accent-dark); }
.section__all{ font-size:13px; font-weight:600; color:var(--accent-dark); text-decoration:none; white-space:nowrap; }
.section__all:hover{ text-decoration:underline; }
@media (max-width:640px){
  .ks-home-roles, .ks-home-gloss{ grid-template-columns:repeat(2, 1fr); gap:8px; }
  .ks-home-ment__box{ padding:22px; }
}

/* ===== ПУТЬ ЧТЕНИЯ НА ГЛАВНОЙ =====
   Номер слева, цель шага сверху, название материала ниже:
   читатель сначала понимает зачем, потом что. */
.ks-path__lead{
  margin:0 0 20px;
  font-size:15px;
  line-height:1.6;
  color:var(--charcoal);
  max-width:64ch;
}
.ks-path{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
  counter-reset:none;
}
.ks-path__step{ display:flex; align-items:stretch; gap:14px; }
.ks-path__num{
  flex:0 0 auto;
  width:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--mono);
  font-size:12px;
  font-weight:700;
  color:var(--stone);
}
.ks-path__link{
  flex:1;
  display:block;
  padding:14px 18px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--card);
  text-decoration:none;
  transition:border-color .15s, transform .15s;
}
.ks-path__link:hover{ border-color:var(--accent); transform:translateX(2px); }
.ks-path__goal{
  display:block;
  font-family:var(--mono);
  font-size:10.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  color:var(--accent-dark);
  margin-bottom:5px;
}
.ks-path__title{ display:block; font-size:15.5px; font-weight:600; color:var(--ink); margin-bottom:4px; }
.ks-path__type{ display:block; font-size:12px; color:var(--stone); }
@media (max-width:640px){
  .ks-path__step{ gap:8px; }
  .ks-path__num{ width:26px; }
  .ks-path__link{ padding:12px 14px; }
}


/* ===== ИНСТРУМЕНТ ДИАГНОСТИКИ =====
   Перенесено из страницы «Продажи»: тест был заперт внутри одной
   страницы и поэтому не мог жить на своём адресе. */
/* ===== SALES AUDIT — живой пилотный инструмент ==========================
     Полностью на клиенте: ничего никуда не отправляется и не сохраняется.
     Три экрана: интро → вопросы (по одному, с прогрессом) → результат
     (Sales Maturity Score + сильные стороны + точки роста + подборка
     реальных статей под точки роста, через ту же систему подтем). */
  .ks-hub-audit{ background:var(--card); border:1px solid var(--border); border-radius:18px; padding:28px;
    margin:0 0 40px; }
  .ks-hub-audit__badge{ display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:10px; font-weight:700;
    text-transform:uppercase; letter-spacing:0.05em; color:var(--accent-dark); background:var(--accent-wash); border-radius:9999px;
    padding:4px 11px; margin-bottom:14px; }

  /* --- интро --- */
  .ks-audit-intro{ display:flex; gap:20px; align-items:flex-start; flex-wrap:wrap; }
  .ks-audit-intro__icon{ width:52px; height:52px; border-radius:14px; background:var(--accent-wash); color:var(--accent-dark);
    display:flex; align-items:center; justify-content:center; flex:none; }
  .ks-audit-intro__body{ flex:1; min-width:220px; }
  .ks-audit-intro__title{ font-size:17px; font-weight:800; color:var(--ink); margin:0 0 8px; }
  .ks-audit-intro__desc{ font-size:13.5px; color:var(--stone); line-height:1.6; margin:0 0 16px; max-width:520px; }
  .ks-audit-intro__meta{ display:flex; gap:16px; flex-wrap:wrap; font-size:12px; color:var(--stone); margin-bottom:18px; }
  .ks-audit-intro__meta b{ color:var(--ink); }
  .ks-audit-start{ font:inherit; font-size:13.5px; font-weight:700; color:#fff; background:var(--ink); border:none;
    border-radius:9999px; padding:11px 22px; cursor:pointer; }
  .ks-audit-start:hover{ background:var(--accent-dark); }

  /* --- вопросы --- */
  .ks-audit-quiz{ display:none; }
  .ks-audit-quiz.is-active{ display:block; }
  .ks-audit-progress{ display:flex; align-items:center; gap:12px; margin-bottom:20px; }
  .ks-audit-progress__bar{ flex:1; height:5px; border-radius:9999px; background:var(--canvas); overflow:hidden; }
  .ks-audit-progress__fill{ height:100%; background:var(--accent); border-radius:9999px; transition:width .25s ease; }
  .ks-audit-progress__text{ font-family:var(--mono); font-size:11.5px; color:var(--stone); flex:none; white-space:nowrap; }
  .ks-audit-dim{ display:inline-block; font-family:var(--mono); font-size:10px; font-weight:700; text-transform:uppercase;
    letter-spacing:0.04em; color:var(--accent-dark); background:var(--accent-wash); border-radius:9999px; padding:4px 11px; margin-bottom:12px; }
  .ks-audit-question{ font-size:16px; font-weight:700; color:var(--ink); margin:0 0 16px; line-height:1.4; }
  .ks-audit-options{ display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
  .ks-audit-option{ display:flex; align-items:center; gap:10px; text-align:left; font:inherit; font-size:13.5px;
    color:var(--charcoal); background:var(--canvas); border:1.5px solid transparent; border-radius:12px; padding:12px 16px;
    cursor:pointer; transition:border-color .15s ease, background .15s ease; }
  .ks-audit-option:hover{ border-color:rgba(234,88,12,0.3); }
  .ks-audit-option.is-selected{ background:var(--accent-wash); border-color:var(--accent); color:var(--ink); font-weight:600; }
  .ks-audit-option__dot{ width:16px; height:16px; border-radius:50%; border:1.5px solid var(--border); flex:none; position:relative; }
  .ks-audit-option.is-selected .ks-audit-option__dot{ border-color:var(--accent); }
  .ks-audit-option.is-selected .ks-audit-option__dot::after{ content:''; position:absolute; inset:3px; border-radius:50%; background:var(--accent); }
  .ks-audit-nav{ display:flex; justify-content:space-between; align-items:center; }
  .ks-audit-btn{ font:inherit; font-size:13px; font-weight:700; border-radius:9999px; padding:10px 20px; cursor:pointer; border:none; }
  .ks-audit-btn--back{ background:transparent; color:var(--stone); }
  .ks-audit-btn--back:hover{ color:var(--ink); }
  .ks-audit-btn--next{ background:var(--ink); color:#fff; }
  .ks-audit-btn--next:disabled{ background:var(--border); color:var(--stone); cursor:not-allowed; }
  .ks-audit-btn--next:not(:disabled):hover{ background:var(--accent-dark); }

  /* --- результат --- */
  .ks-audit-result{ display:none; }
  .ks-audit-result.is-active{ display:block; }
  .ks-audit-score{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-bottom:22px; }
  .ks-audit-score__num{ font-size:44px; font-weight:800; color:var(--ink); line-height:1; }
  .ks-audit-score__num span{ font-size:18px; color:var(--stone); font-weight:600; }
  .ks-audit-score__band{ font-size:13.5px; color:var(--stone); max-width:380px; line-height:1.5; }
  .ks-audit-score__band b{ color:var(--ink); }
  .ks-audit-bars{ display:flex; flex-direction:column; gap:10px; margin-bottom:24px; }
  .ks-audit-bar__row{ display:flex; align-items:center; gap:12px; }
  .ks-audit-bar__label{ width:150px; flex:none; font-size:12.5px; color:var(--charcoal); font-weight:600; }
  .ks-audit-bar__track{ flex:1; height:8px; border-radius:9999px; background:var(--canvas); overflow:hidden; }
  .ks-audit-bar__fill{ height:100%; border-radius:9999px; background:var(--accent); }
  .ks-audit-bar__pct{ width:36px; flex:none; font-family:var(--mono); font-size:11.5px; color:var(--stone); text-align:right; }
  .ks-audit-tags{ display:flex; flex-wrap:wrap; gap:20px; margin-bottom:24px; }
  .ks-audit-tags__group{ flex:1; min-width:200px; }
  .ks-audit-tags__label{ font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; color:var(--stone); margin-bottom:8px; }
  .ks-audit-tags__group span{ display:inline-block; font-size:12.5px; font-weight:600; background:var(--canvas); border-radius:9999px;
    padding:5px 12px; margin:0 6px 6px 0; }
  .ks-audit-tags__group--strong span{ color:var(--accent-dark); background:var(--accent-wash); }
  .ks-audit-tags__group--weak span{ color:var(--charcoal); }
  .ks-audit-reco{ border-top:1px solid var(--border); padding-top:20px; }
  .ks-audit-reco__title{ font-size:14px; font-weight:700; color:var(--ink); margin:0 0 12px; }
  .ks-audit-reco__block{ margin-bottom:14px; }
  .ks-audit-reco__dim{ font-size:12.5px; font-weight:700; color:var(--accent-dark); margin-bottom:6px; }
  .ks-audit-reco__block a{ display:block; font-size:13px; color:var(--charcoal); text-decoration:none; padding:6px 0; }
  .ks-audit-reco__block a:hover{ color:var(--accent-dark); text-decoration:underline; }
  .ks-audit-restart{ font:inherit; font-size:12.5px; font-weight:600; color:var(--stone); background:none; border:1px solid var(--border);
    border-radius:9999px; padding:9px 18px; cursor:pointer; margin-top:20px; }
  .ks-audit-restart:hover{ color:var(--ink); border-color:var(--ink); }

  /* ===== КРОСС-ДОМЕН ТИЗЕР ===== */
  .ks-hub-cross{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 20px; padding:14px 18px;
    border:1px dashed var(--border); border-radius:12px; }
  .ks-hub-cross__label{ font-size:12.5px; font-weight:600; color:var(--stone); flex:none; }
  .ks-hub-cross__items{ display:flex; gap:14px; flex-wrap:wrap; }
  .ks-hub-cross__items a{ font-size:12.5px; color:var(--accent-dark); text-decoration:none; font-weight:600; }
  .ks-hub-cross__items a:hover{ text-decoration:underline; }

  /* ===== С ЧЕГО НАЧАТЬ — связанный степпер (путь, а не 3 отдельные карточки) ===== */
  .ks-hub-road{ background:var(--accent-wash); border-radius:18px; padding:32px 30px; margin:0 0 40px; }
  .ks-hub-road__title{ font-size:17px; font-weight:800; color:var(--ink); margin:0 0 26px; }
  .ks-hub-road__steps{ display:flex; align-items:flex-start; gap:20px; position:relative; }
  .ks-hub-road__steps::before{ content:''; position:absolute; top:19px; left:calc(16.5% - 1px); right:calc(16.5% - 1px);
    height:0; border-top:2px dashed rgba(234,88,12,0.4); z-index:0; }
  @media (max-width:700px){ .ks-hub-road__steps{ flex-direction:column; gap:26px; }
    .ks-hub-road__steps::before{ display:none; } }
  .ks-hub-road__step{ position:relative; z-index:1; flex:1; min-width:0; }
  .ks-hub-road__num{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
    border-radius:50%; background:var(--accent); color:#fff; font-family:var(--mono); font-size:12.5px; font-weight:700;
    margin-bottom:14px; box-shadow:0 0 0 6px var(--accent-wash); }
  .ks-hub-road__step h3{ font-size:14.5px; font-weight:700; color:var(--ink); margin:0 0 8px; line-height:1.3; }
  .ks-hub-road__step a{ display:inline-flex; align-items:center; gap:4px; font-size:12.5px; font-weight:600; color:var(--accent-dark); text-decoration:none; }
  .ks-hub-road__step a:hover{ text-decoration:underline; }

  .ks-hub-toolbar{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:0 0 8px; }
  .ks-hub-count{ font-family:var(--mono); font-size:12px; color:var(--stone); }
  .ks-hub-search{ position:relative; flex:1; min-width:200px; max-width:300px; }
  .ks-hub-search input{ width:100%; border:1px solid var(--border); border-radius:9999px; padding:9px 34px 9px 14px; font-size:13.5px;
    color:var(--ink); background:var(--card); font-family:var(--sans); box-sizing:border-box; }
  .ks-hub-search input:focus{ outline:none; border-color:var(--accent); }
  .ks-hub-search__clear{ display:none; position:absolute; right:8px; top:50%; transform:translateY(-50%); border:none;
    background:none; color:var(--stone); font-size:16px; line-height:1; cursor:pointer; padding:4px; }
  .ks-hub-search__clear.is-visible{ display:block; }
  .ks-hub-search__clear:hover{ color:var(--ink); }
  .ks-hub-sort{ display:flex; gap:6px; }
  .ks-hub-sort button{ font:inherit; font-size:12.5px; font-weight:600; padding:7px 12px; border-radius:9999px;
    border:1px solid var(--border); background:var(--card); color:var(--charcoal); cursor:pointer; }
  .ks-hub-sort button.is-active{ background:var(--ink); border-color:var(--ink); color:#fff; }

  /* ===== ЗАКРЕПЛЁННЫЙ МАТЕРИАЛ ===== */
  .ks-hub-featured{ display:none; border:1px solid var(--border); border-left:4px solid var(--accent); border-radius:14px;
    padding:20px; margin:18px 0 16px; background:var(--card); }
  .ks-hub-featured.is-visible{ display:block; }
  .ks-hub-featured__label{ font-family:var(--mono); font-size:10.5px; font-weight:700; text-transform:uppercase;
    letter-spacing:0.05em; color:var(--accent-dark); margin-bottom:8px; }
  .ks-hub-featured__title{ font-size:18px; font-weight:800; color:var(--ink); margin:0 0 8px; }
  .ks-hub-featured__title a{ color:inherit; text-decoration:none; }
  .ks-hub-featured__excerpt{ font-size:14px; color:var(--stone); line-height:1.6; margin:0; }

  .ks-hub-grid{ display:grid; grid-template-columns:1fr; gap:14px; margin-top:6px; }
  @media (min-width:640px){ .ks-hub-grid{ grid-template-columns:repeat(2,1fr); } }
  .mcard{ background:var(--card); border:1px solid var(--border); border-radius:14px; padding:16px; display:flex;
    flex-direction:column; gap:7px; }
  .mcard__meta{ display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
  .mcard__domain{ font-family:var(--mono); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em;
    color:var(--accent-dark); }
  .mcard__format{ font-size:10px; font-weight:600; color:var(--stone); background:var(--canvas); border:1px solid var(--border);
    padding:2px 8px; border-radius:9999px; }
  .mcard__title{ font-size:14.5px; font-weight:700; color:var(--ink); line-height:1.35; }
  .mcard__title a{ color:inherit; text-decoration:none; }
  .mcard__excerpt{ font-size:12.5px; color:var(--stone); line-height:1.5; }
  .ks-hub-empty, .ks-hub-loading{ font-size:13.5px; color:var(--stone); padding:24px 0; }

/* ===== КАРТОЧКА ИНСТРУМЕНТА НА ГЛАВНОЙ ===== */
.ks-tool-card{
  display:block;
  padding:26px 28px;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--accent-wash);
  text-decoration:none;
  transition:border-color .15s, transform .15s;
}
.ks-tool-card:hover{ border-color:var(--accent); transform:translateY(-2px); }
.ks-tool-card__name{ display:block; font-size:19px; font-weight:700; color:var(--ink); margin-bottom:8px; }
.ks-tool-card__desc{ display:block; font-size:15px; line-height:1.6; color:var(--charcoal); max-width:66ch; margin-bottom:10px; }
.ks-tool-card__meta{ display:block; font-family:var(--mono); font-size:11px; letter-spacing:0.03em; color:var(--stone); }

/* Приглашение на инструмент в разделе — светлое, чтобы не спорить с Sales OS. */
.ks-hub-promo--tool{ background:var(--accent-wash); border:1px solid var(--border-soft); }
.ks-hub-promo--tool .ks-hub-promo__title,
.ks-hub-promo--tool .ks-hub-promo__eyebrow{ color:var(--ink); }
.ks-hub-promo--tool .ks-hub-promo__desc{ color:var(--charcoal); }
.ks-hub-promo--tool .ks-hub-promo__cta{ background:var(--ink); color:#fff; }
@media (max-width:640px){ .ks-tool-card{ padding:20px; } }

/* ===== СТАТЬЯ: КРОШКИ, ЗАКЛАДКА, СВЯЗИ ===== */
.ks-crumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 14px;
  font-size:13px;
}
.ks-crumb a{ color:var(--stone); text-decoration:none; }
.ks-crumb a:hover{ color:var(--accent-dark); }
.ks-crumb span{ color:var(--border); }

.ks-save{
  margin-left:auto;
  padding:6px 14px;
  font-size:12.5px;
  font-weight:600;
  font-family:inherit;
  color:var(--charcoal);
  background:transparent;
  border:1px solid var(--border);
  border-radius:99px;
  cursor:pointer;
  transition:border-color .15s, color .15s, background .15s;
}
.ks-save:hover{ border-color:var(--accent); color:var(--accent-dark); }
.ks-save.is-on{ background:var(--ink); border-color:var(--ink); color:#fff; }

.ks-rel{ margin:48px 0 0; }
.ks-rel__title{ font-size:20px; margin:0 0 18px; }
.ks-rel__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(230px, 1fr));
  gap:12px;
}
.ks-rel__card{
  display:block;
  padding:16px 18px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--card);
  text-decoration:none;
  transition:border-color .15s, transform .15s;
}
.ks-rel__card:hover{ border-color:var(--accent); transform:translateY(-2px); }
.ks-rel__type{
  display:block;
  font-family:var(--mono);
  font-size:10.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  color:var(--accent-dark);
  margin-bottom:6px;
}
.ks-rel__name{ display:block; font-size:15px; font-weight:600; line-height:1.4; color:var(--ink); }
@media (max-width:640px){
  .ks-rel__grid{ grid-template-columns:1fr; }
  .ks-rel{ margin-top:36px; }
}

/* ===== СОХРАНЁННОЕ ===== */
body.page .ks-page__content:has(.ks-saved){ max-width:900px; }
.ks-saved__grid{ display:flex; flex-direction:column; gap:8px; }
.ks-saved__item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 18px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--card);
}
.ks-saved__link{ flex:1; font-size:15px; font-weight:600; color:var(--ink); text-decoration:none; }
.ks-saved__link:hover{ color:var(--accent-dark); }
.ks-saved__when{ font-family:var(--mono); font-size:11px; color:var(--stone); white-space:nowrap; }
.ks-saved__del{
  padding:5px 12px;
  font-size:12px;
  font-family:inherit;
  color:var(--stone);
  background:transparent;
  border:1px solid var(--border);
  border-radius:99px;
  cursor:pointer;
}
.ks-saved__del:hover{ color:var(--ink); border-color:var(--stone); }
.ks-saved__empty{ font-size:15px; line-height:1.6; color:var(--charcoal); }
@media (max-width:640px){
  .ks-saved__item{ flex-wrap:wrap; gap:8px; }
  .ks-saved__link{ flex:1 0 100%; }
}

/* ===== СПРАВОЧНИКИ ===== */
/* Колонка шаблона страницы узкая — справочнику нужна вся ширина,
   и тема подчёркивает ссылки в содержимом — карточка не ссылка в тексте. */
body.page .ks-page__content:has(.ks-dir){ max-width:1040px; }
body.page .ks-page__content .ks-dir,
body.page .ks-page__content .ks-dir__grid{ max-width:100%; width:100%; }
body.page .ks-page__content a.ks-dir__card,
body.page .ks-page__content a.ks-dir__card span,
.ks-post__content a.ks-dirtags-link{ text-decoration:none; }
.ks-dirtags a{ text-decoration:none; }
.ks-dir__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(190px, 1fr));
  gap:10px;
  margin:0 0 28px;
}
.ks-dir__card{
  display:block;
  padding:15px 17px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--card);
  text-decoration:none;
  transition:border-color .15s, transform .15s;
}
.ks-dir__card:hover{ border-color:var(--accent); transform:translateY(-2px); }
.ks-dir__name{ display:block; font-size:15px; font-weight:700; color:var(--ink); margin-bottom:4px; }
.ks-dir__count{ display:block; font-family:var(--mono); font-size:11px; color:var(--stone); }
.ks-dir__grid--soon .ks-dir__card{ background:transparent; border-style:dashed; }
.ks-dir__grid--soon .ks-dir__name{ color:var(--charcoal); font-weight:600; }
.ks-dir__label{
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  color:var(--stone);
  margin:0 0 12px;
}

/* Метки справочников под статьёй */
.ks-dirtags{
  margin:36px 0 0;
  padding:20px 22px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--card);
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ks-dirtags__row{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.ks-dirtags__label{
  font-family:var(--mono);
  font-size:10.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  color:var(--stone);
  min-width:96px;
}
.ks-dirtags a{
  padding:6px 13px;
  font-size:13px;
  font-weight:600;
  border:1px solid var(--border);
  border-radius:99px;
  color:var(--ink);
  text-decoration:none;
  transition:border-color .15s, color .15s;
}
.ks-dirtags a:hover{ border-color:var(--accent); color:var(--accent-dark); }
@media (max-width:640px){
  .ks-dir__grid{ grid-template-columns:repeat(2, 1fr); gap:8px; }
  .ks-dirtags__label{ min-width:100%; }
  .ks-dirtags{ padding:16px; }
}

/* ===== КНИГИ И ФАЙЛЫ =====
   Материал, который скачивают, читается иначе: сначала решают, стоит ли,
   потом читают. Поэтому кнопка и состав выше подробностей. */
.ks-lib__lead{
  font-size:19px;
  line-height:1.6;
  color:var(--ink);
  font-weight:500;
  margin:0 0 20px;
}
.ks-lib__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 22px;
}
.ks-lib__meta span{
  padding:5px 13px;
  border:1px solid var(--border);
  border-radius:99px;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.03em;
  color:var(--stone);
}
.ks-post__content a.ks-lib__get,
.ks-lib__get{
  display:inline-flex;
  align-items:center;
  padding:14px 28px;
  margin:0 0 36px;
  border-radius:99px;
  background:var(--ink);
  color:#fff;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  transition:background .15s, transform .15s;
}
.ks-post__content a.ks-lib__get:hover,
.ks-lib__get:hover{ background:var(--accent-dark); transform:translateY(-1px); }
.ks-lib__note{
  margin-top:24px;
  padding:14px 18px;
  border-left:3px solid var(--accent);
  background:var(--accent-wash);
  font-size:14.5px;
  line-height:1.6;
  color:var(--charcoal);
}
@media (max-width:640px){
  .ks-lib__get{ width:100%; justify-content:center; }
}

/* ===== БЛОКИ ДЛЯ СТАТЕЙ =====
   Статьи похожи друг на друга, когда каждая — сплошной текст с подзаголовками.
   Здесь набор способов подачи: цифры, шаги, сравнения, чек-листы.
   Один материал строится на таблице, другой на шагах — и они перестают сливаться. */

/* Цифры: когда главное в материале — данные */
.ks-b-nums{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:14px;
  margin:32px 0;
}
.ks-b-num{
  padding:20px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--card);
}
.ks-b-num__v{ display:block; font-size:32px; font-weight:800; line-height:1.1; color:var(--ink); letter-spacing:-0.02em; }
.ks-b-num__l{ display:block; margin-top:8px; font-size:13.5px; line-height:1.45; color:var(--charcoal); }
.ks-b-num__s{ display:block; margin-top:6px; font-family:var(--mono); font-size:10.5px; color:var(--stone); }

/* Шаги: когда материал — порядок действий */
.ks-b-steps{ list-style:none; padding:0; margin:32px 0; counter-reset:ksstep; }
.ks-b-steps > li{
  position:relative;
  padding:0 0 24px 52px;
  counter-increment:ksstep;
}
.ks-b-steps > li::before{
  content:counter(ksstep);
  position:absolute;
  left:0; top:0;
  width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  border-radius:99px;
  background:var(--ink);
  color:#fff;
  font-family:var(--mono);
  font-size:13px;
  font-weight:700;
}
.ks-b-steps > li::after{
  content:"";
  position:absolute;
  left:17px; top:38px; bottom:6px;
  width:1px;
  background:var(--border);
}
.ks-b-steps > li:last-child::after{ display:none; }
.ks-b-steps b{ display:block; margin-bottom:5px; font-size:16px; color:var(--ink); }

/* Сравнение двух подходов */
.ks-b-vs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:32px 0;
}
.ks-b-vs__col{
  padding:20px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--card);
}
.ks-b-vs__col--bad{ background:transparent; border-style:dashed; }
.ks-b-vs__t{
  display:block;
  margin-bottom:12px;
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  color:var(--stone);
}
.ks-b-vs__col--good .ks-b-vs__t{ color:var(--accent-dark); }
.ks-b-vs ul{ margin:0; padding-left:18px; }
.ks-b-vs li{ margin-bottom:7px; font-size:14.5px; line-height:1.5; }

/* Чек-лист */
.ks-b-check{ list-style:none; padding:0; margin:28px 0; }
.ks-b-check > li{
  position:relative;
  padding:11px 0 11px 34px;
  border-bottom:1px solid var(--border-soft);
  font-size:15.5px;
  line-height:1.55;
}
.ks-b-check > li:last-child{ border-bottom:0; }
.ks-b-check > li::before{
  content:"";
  position:absolute;
  left:2px; top:17px;
  width:15px; height:9px;
  border-left:2px solid var(--accent);
  border-bottom:2px solid var(--accent);
  transform:rotate(-45deg);
}

/* Главная мысль — крупно */
.ks-b-key{
  margin:36px 0;
  padding:26px 30px;
  border-left:4px solid var(--accent);
  background:var(--accent-wash);
  border-radius:0 12px 12px 0;
  font-size:19px;
  line-height:1.55;
  font-weight:500;
  color:var(--ink);
}

/* Цитата с автором */
.ks-b-quote{ margin:36px 0; padding:0 0 0 26px; border-left:3px solid var(--border); }
.ks-b-quote p{ margin:0 0 12px; font-size:18px; line-height:1.6; font-style:italic; color:var(--charcoal); }
.ks-b-quote cite{ font-style:normal; font-size:13.5px; color:var(--stone); }

@media (max-width:640px){
  .ks-b-vs{ grid-template-columns:1fr; }
  .ks-b-key{ padding:20px; font-size:17px; }
  .ks-b-num__v{ font-size:28px; }
}

/* ===== ЧТЕНИЕ КНИГИ ===== */
body.page .ks-page__content:has(.ks-book){ max-width:none; }
body.page .ks-page__content .ks-book{ max-width:100%; width:100%; }

.ks-book{
  --ks-book-fs: 1.0625rem;
  --ks-book-lh: 1.75;
  --ks-book-measure: 34em;
  margin:0 auto; max-width:1180px; padding:0 20px 96px; box-sizing:border-box;
}

.ks-book__bar{ position:fixed; inset:0 0 auto 0; height:3px; z-index:120; background:transparent; pointer-events:none; }
.ks-book__bar i{ display:block; height:100%; width:0; background:#ff6a1a; transition:width .12s linear; }

.ks-book__head{ max-width:var(--ks-book-measure); margin:0 auto; padding:8px 0 32px; }
.ks-book__kicker{ margin:0 0 10px; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:#6b7280; }
.ks-book__head h1{ margin:0 0 14px; font-size:clamp(1.75rem, 6vw, 2.6rem); line-height:1.15; letter-spacing:-.02em; }
.ks-book__lead{ margin:0 0 22px; font-size:1.0625rem; line-height:1.6; color:#4b5563; }
.ks-book__meta{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:.8125rem; color:#6b7280; }
.ks-book__meta span{ border:1px solid #e5e7eb; border-radius:999px; padding:5px 12px; white-space:nowrap; }
.ks-book__dl{ margin-left:auto; text-decoration:none; font-weight:600; border:1px solid #e5e7eb; border-radius:999px; padding:7px 16px; color:inherit; transition:border-color .15s, background .15s; }
.ks-book__dl:hover{ background:#f6f6f7; border-color:#c9ccd1; }

.ks-book__tools{ display:flex; gap:6px; align-items:center; max-width:var(--ks-book-measure); margin:0 auto 8px; }
.ks-book__tools button{ font:inherit; font-size:.8125rem; line-height:1; border:1px solid #e5e7eb; background:#fff; border-radius:999px; padding:8px 12px; cursor:pointer; color:#4b5563; transition:background .15s, border-color .15s; }
.ks-book__tools button:hover{ background:#f6f6f7; }
.ks-book__tools button[aria-pressed="true"]{ background:#111; border-color:#111; color:#fff; }
.ks-book__tools .ks-book__fs{ margin-left:auto; display:flex; gap:6px; }
.ks-book__tools [data-fs="s"]{ font-size:.6875rem; }
.ks-book__tools [data-fs="l"]{ font-size:.9375rem; }

.ks-book__toc{ margin:0 auto 28px; max-width:var(--ks-book-measure); border:1px solid #e5e7eb; border-radius:14px; overflow:hidden; background:#fff; }
.ks-book__toc > button{ display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; font:inherit; font-weight:600; text-align:left; padding:14px 16px; background:none; border:0; cursor:pointer; color:inherit; }
.ks-book__toc > button::after{ content:"\25BE"; font-size:.75rem; color:#9ca3af; transition:transform .2s; }
.ks-book__toc.is-open > button::after{ transform:rotate(180deg); }
.ks-book__toc ol{ display:none; list-style:none; margin:0; padding:0 8px 10px; counter-reset:ch; }
.ks-book__toc.is-open ol{ display:block; }
.ks-book__toc li{ counter-increment:ch; }
.ks-book__toc a{ display:flex; gap:12px; padding:9px 10px; border-radius:8px; text-decoration:none; color:inherit; font-size:.9375rem; line-height:1.4; }
.ks-book__toc a::before{ content:counter(ch); flex:0 0 1.6em; text-align:right; color:#9ca3af; font-variant-numeric:tabular-nums; }
.ks-book__toc a:hover{ background:#f6f6f7; }
.ks-book__toc a.is-here{ background:#f3f4f6; font-weight:600; }

.ks-book__body{ max-width:var(--ks-book-measure); margin:0 auto; font-size:var(--ks-book-fs); line-height:var(--ks-book-lh); }
.ks-book__body p{ margin:0 0 1.15em; }
.ks-book__body h2{ margin:2.6em 0 .7em; font-size:1.5em; line-height:1.2; letter-spacing:-.015em; scroll-margin-top:80px; }
.ks-book__body h2:first-child{ margin-top:.4em; }
.ks-book__body h3{ margin:2em 0 .6em; font-size:1.14em; line-height:1.3; scroll-margin-top:80px; }
.ks-book__body ul, .ks-book__body ol{ margin:0 0 1.2em; padding-left:1.35em; }
.ks-book__body li{ margin:0 0 .5em; }
.ks-book__body blockquote{ margin:1.6em 0; padding:2px 0 2px 18px; border-left:3px solid #ff6a1a; font-size:1.06em; line-height:1.55; }
.ks-book__body blockquote p:last-child{ margin-bottom:0; }
.ks-book__body a{ color:inherit; text-underline-offset:3px; }

.ks-book__body .ks-book-table{ margin:1.8em 0; overflow-x:auto; }
.ks-book__body table{ width:100%; border-collapse:collapse; font-size:.94em; }
.ks-book__body th, .ks-book__body td{ border-bottom:1px solid #e5e7eb; padding:11px 12px; text-align:left; vertical-align:top; }
.ks-book__body th{ font-weight:600; background:#f8f8f9; }

.ks-book__nav{ display:flex; gap:10px; margin:3em 0 0; padding-top:22px; border-top:1px solid #e5e7eb; }
.ks-book__nav a{ flex:1 1 0; min-width:0; text-decoration:none; color:inherit; border:1px solid #e5e7eb; border-radius:12px; padding:12px 14px; font-size:.875rem; line-height:1.35; transition:border-color .15s, background .15s; }
.ks-book__nav a:hover{ background:#f6f6f7; }
.ks-book__nav a small{ display:block; color:#9ca3af; margin-bottom:3px; }
.ks-book__nav a.is-next{ text-align:right; }

.ks-book__resume{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; max-width:var(--ks-book-measure); margin:0 auto 22px; padding:12px 16px; border-radius:12px; background:#f7f7f8; font-size:.9rem; }
.ks-book__resume button{ font:inherit; font-weight:600; border:0; background:none; padding:0; cursor:pointer; color:#ff6a1a; text-decoration:underline; text-underline-offset:3px; }
.ks-book__resume .ks-book__resume-x{ margin-left:auto; color:#9ca3af; text-decoration:none; font-weight:400; }

@media (min-width:1120px){
  .ks-book{ display:grid; gap:56px; grid-template-columns:250px minmax(0, 1fr); grid-template-areas:"toc head" "toc tools" "toc body"; align-items:start; }
  .ks-book__head{ grid-area:head; margin-left:0; }
  .ks-book__tools{ grid-area:tools; margin-left:0; }
  .ks-book__body{ grid-area:body; margin-left:0; }
  .ks-book__resume{ grid-area:tools; margin:0 0 12px; }
  .ks-book__toc{ grid-area:toc; position:sticky; top:92px; margin:8px 0 0; max-width:none; max-height:calc(100vh - 130px); overflow:auto; border:0; background:none; }
  .ks-book__toc > button{ display:none; }
  .ks-book__toc ol{ display:block; padding:0; }
  .ks-book__toc a{ font-size:.875rem; padding:7px 10px; }
}

.ks-book[data-fs="s"]{ --ks-book-fs:1rem; --ks-book-measure:33em; }
.ks-book[data-fs="m"]{ --ks-book-fs:1.0625rem; --ks-book-measure:34em; }
.ks-book[data-fs="l"]{ --ks-book-fs:1.1875rem; --ks-book-measure:33em; }

@media print{
  .ks-book__toc, .ks-book__tools, .ks-book__bar, .ks-book__nav, .ks-book__resume{ display:none !important; }
  .ks-book__body{ max-width:none; }
}

/* Страница чтения: заголовок темы лишний — у книги своя шапка */
body.page:has(.ks-book) .ks-page__title{ display:none; }
body.page:has(.ks-book) .ks-page-wrap{ padding-top:8px; }
.ks-book__head h1{ color:#111; }
.ks-book__body{ color:#1a1a1a; }

/* Кнопки на карточке книги */
.ks-lib__actions{ display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 30px; }
.ks-lib__read,
.ks-lib__dl{ display:inline-flex; align-items:center; justify-content:center; font-weight:600; font-size:15px; line-height:1; padding:14px 24px; border-radius:999px; text-decoration:none; transition:background .15s, border-color .15s, transform .15s; }
.ks-lib__read{ background:#111; color:#fff; border:1px solid #111; }
.ks-lib__read:hover{ background:#000; transform:translateY(-1px); color:#fff; }
.ks-lib__dl{ background:#fff; color:#111; border:1px solid #e0e0e2; }
.ks-lib__dl:hover{ background:#f6f6f7; border-color:#c9ccd1; color:#111; }

/* Цвета ссылок-кнопок перебиваются темой — задаём явно */
.ks-lib__actions a.ks-lib__read,
.ks-lib__actions a.ks-lib__read:visited{ color:#fff; text-decoration:none; }
.ks-lib__actions a.ks-lib__dl,
.ks-lib__actions a.ks-lib__dl:visited{ color:#111; text-decoration:none; }
.ks-book__meta a.ks-book__dl,
.ks-book__meta a.ks-book__dl:visited{ color:#111; text-decoration:none; }

/* На узких экранах шапка вылезала за правый край:
   поиск теперь сжимается, а не толкает бургер наружу */
@media (max-width:700px){
  .ks-nav__row{ padding-left:16px; padding-right:16px; gap:10px; }
  .ks-nav__left{ flex:0 1 auto; min-width:0; }
  .ks-nav__find{ flex:1 1 0; min-width:0; }
  .ks-nav__find input,
  .ks-nav__find .ks-find{ width:100%; min-width:0; }
  .ks-nav__burger{ flex:0 0 auto; }
}
@media (max-width:420px){
  .ks-nav__find{ display:none; }
}

/* Врезка «пример / промт» внутри книги */
.ks-book__body .ks-book-note{
  margin:1.8em 0; padding:16px 18px; border-radius:12px;
  background:#f7f7f8; border:1px solid #ececee; font-size:.97em; line-height:1.6;
}
.ks-book__body .ks-book-note b{
  display:block; margin-bottom:6px; font-size:.8125rem;
  letter-spacing:.08em; text-transform:uppercase; color:#6b7280;
}
.ks-book__body .ks-book-note p:last-child{ margin-bottom:0; }

/* ═════ ГЛАВНАЯ: РИТМ И КОНТРАСТ ═════
   Восемь блоков шли одинаково: кикер, заголовок, сетка — и страница
   читалась как длинный список. Разбиваем её на смысловые полосы. */

/* — неравномерный воздух вместо одного шага — */
body.home section.section{ padding-bottom:64px; }
body.home section.section:has(.carousel-wrap){ padding-bottom:28px; }
body.home section.section:has(.ks-path){ padding-bottom:80px; }
body.home section.section:has(.materials-grid){ padding-bottom:72px; }

/* — тёмная панель: инструменты — */
body.home section.section:has(.ks-tool-card){
  background:#14110f; color:#f2efec; border-radius:26px;
  padding:44px 40px 40px; margin:8px auto 72px; max-width:1152px; width:calc(100% - 48px);
}
body.home section.section:has(.ks-tool-card) .section__eyebrow{ color:#ff8a3d; }
body.home section.section:has(.ks-tool-card) .section__title{ color:#fff; }
body.home section.section:has(.ks-tool-card) .section__all{ color:#ff8a3d; }
body.home section.section:has(.ks-tool-card) .ks-tool-card{
  background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.12);
}
body.home section.section:has(.ks-tool-card) .ks-tool-card:hover{
  background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.22);
}
body.home section.section:has(.ks-tool-card) .ks-tool-card__name{ color:#fff; }
body.home section.section:has(.ks-tool-card) .ks-tool-card__desc{ color:rgba(242,239,236,.66); }

/* — светлая панель: глоссарий — */
body.home section.section:has(.ks-home-gloss){
  background:#fff; border:1px solid rgba(28,25,23,.07); border-radius:26px;
  padding:40px;
  /* фиксированные боковые отступы уводили панель влево относительно
     остальных секций — держим ту же ширину, что и у соседей */
  margin:0 auto 72px; max-width:1200px; width:calc(100% - 48px);
}
body.home section.section:has(.ks-home-gloss) .ks-chipcard{
  background:#faf9f8; border-color:rgba(28,25,23,.08);
}

/* — шапки секций не под копирку — */
body.home .section__title{ letter-spacing:-.02em; }
body.home section.section:has(.ks-path) .section__title{ font-size:clamp(1.6rem,3.4vw,2.15rem); }
body.home section.section:has(.carousel-wrap) .section__eyebrow{ display:none; }

@media (max-width:820px){
  body.home section.section:has(.ks-tool-card),
  body.home section.section:has(.ks-home-gloss){
    margin-left:16px; margin-right:16px; padding:28px 22px; border-radius:20px;
  }
}

/* ═════ БЛОКИ ПОД ИИ-ПОИСК ═════
   Генеративные поисковики извлекают ответы охотнее там, где они
   явно размечены. Заодно человеку тоже удобнее читать. */

/* — короткий ответ в начале статьи — */
.ks-answer{
  margin:0 0 30px; padding:20px 22px; border-radius:14px;
  background:#fff; border:1px solid rgba(28,25,23,.09);
  border-left:3px solid #ff6a1a;
  font-size:1.0625rem; line-height:1.62;
}
.ks-answer b:first-child,
.ks-answer strong:first-child{
  display:block; margin-bottom:8px; font-size:.75rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:#9a9490;
}
.ks-answer p:last-child{ margin-bottom:0; }

/* — блок вопросов и ответов — */
.ks-faq{ margin:2.4em 0 1.6em; }
.ks-faq__title{
  margin:0 0 14px; font-size:1.32em; line-height:1.25; letter-spacing:-.015em;
}
.ks-faq__item{
  border-top:1px solid rgba(28,25,23,.1); padding:16px 0;
}
.ks-faq__item:last-child{ border-bottom:1px solid rgba(28,25,23,.1); }
.ks-faq__q{ font-weight:600; margin-bottom:7px; line-height:1.4; }
.ks-faq__a{ color:#4b4744; line-height:1.65; }
.ks-faq__a p:last-child{ margin-bottom:0; }

/* — оглавление статьи — */
.ks-toc{
  margin:0 0 32px; padding:18px 20px; border-radius:14px;
  background:#faf9f8; border:1px solid rgba(28,25,23,.07);
}
.ks-toc__title{
  margin:0 0 10px; font-size:.75rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:#9a9490;
}
.ks-toc ol{ margin:0; padding-left:1.3em; }
.ks-toc li{ margin:0 0 6px; }
.ks-toc a{ color:inherit; text-underline-offset:3px; }

/* — сводка «что сделать» в конце — */
.ks-takeaway{
  margin:2.4em 0 0; padding:22px 24px; border-radius:16px;
  background:#14110f; color:#f2efec;
}
.ks-takeaway h3{ margin:0 0 12px; color:#fff; font-size:1.14em; }
.ks-takeaway ul,
.ks-takeaway ol{ margin:0; padding-left:1.25em; }
.ks-takeaway li{ margin:0 0 8px; color:rgba(242,239,236,.86); }
.ks-takeaway li:last-child{ margin-bottom:0; }

@media (max-width:640px){
  .ks-answer{ padding:16px 18px; }
  .ks-takeaway{ padding:18px 20px; }
}

/* Врезки и таблицы работают не только в книгах, но и в статьях */
.ks-post__content .ks-book-note,
.ks-post__content .ks-note{
  display:block; margin:1.8em 0; padding:16px 18px; border-radius:12px;
  background:#faf9f8; border:1px solid rgba(28,25,23,.08);
  font-size:.97em; line-height:1.62;
}
.ks-post__content .ks-book-note b:first-child,
.ks-post__content .ks-note b:first-child{
  display:block; margin-bottom:6px; font-size:.75rem; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase; color:#9a9490;
}
.ks-post__content table{ width:100%; border-collapse:collapse; font-size:.95em; margin:1.8em 0; }
.ks-post__content th,
.ks-post__content td{ border-bottom:1px solid rgba(28,25,23,.1); padding:11px 12px; text-align:left; vertical-align:top; }
.ks-post__content th{ font-weight:600; background:#faf9f8; }
.ks-table{ margin:1.8em 0; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.ks-table table{ margin:0; min-width:520px; }

/* ═════ КАРТОЧКИ РАЗДЕЛОВ OS ═════ */
.ks-os{
  display:grid; gap:14px; margin:0 0 40px;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
}
.ks-os__card{
  display:flex; flex-direction:column; gap:7px;
  padding:22px 22px 20px; border-radius:16px;
  background:#fff; border:1px solid rgba(28,25,23,.09);
  text-decoration:none; color:inherit;
  transition:border-color .16s, transform .16s, box-shadow .16s;
}
.ks-os__card:hover{
  border-color:rgba(28,25,23,.22); transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(28,25,23,.06); color:inherit;
}
.ks-os__card-title{ font-size:1.0625rem; font-weight:600; letter-spacing:-.01em; }
.ks-os__card-desc{ font-size:.9375rem; line-height:1.5; color:#6b6560; }
.ks-os__card-count{
  margin-top:6px; font-size:.75rem; letter-spacing:.06em;
  text-transform:uppercase; color:#a39d98;
}
/* готовая система выделяется — остальные ещё наполняются */
.ks-os__card.is-live{
  /* Растяжку на всю ширину убрали: она имела смысл, пока живой была одна
     система, а остальные стояли заглушками. Теперь готовы все пять и они
     должны лежать сеткой, а не пятью полосами друг под другом. */
  background:#14110f; border-color:#14110f; color:#f2efec;
}
.ks-os__card.is-live:hover{ background:#000; color:#f2efec; }
.ks-os__card.is-live .ks-os__card-title{ color:#fff; font-size:1.25rem; }
.ks-os__card.is-live .ks-os__card-desc{ color:rgba(242,239,236,.72); }
.ks-os__card.is-live .ks-os__card-count{ color:#ff8a3d; }

@media (max-width:640px){
  .ks-os{ grid-template-columns:1fr; }
  .ks-os__card{ padding:18px; }
}

/* Контейнер темы узкий — сетке карточек нужна ширина,
   а ссылки внутри карточки не должны выглядеть как ссылки в тексте */
body.page .ks-page__content:has(.ks-os){ max-width:1120px; }
body.page .ks-page__content .ks-os{ max-width:100%; width:100%; }
body.page .ks-page__content .ks-answer,
body.page .ks-page__content .ks-faq,
body.page .ks-page__content > h2,
body.page .ks-page__content > p{ max-width:62ch; }

.ks-os a.ks-os__card,
.ks-os a.ks-os__card:visited,
.ks-os a.ks-os__card:hover{ text-decoration:none; }
.ks-os__card .ks-os__card-title,
.ks-os__card .ks-os__card-desc,
.ks-os__card .ks-os__card-count{ text-decoration:none; }
.ks-os__card .ks-os__card-title{ color:#14110f; }
.ks-os__card:hover .ks-os__card-title{ color:#000; }
.ks-os__card.is-live .ks-os__card-title,
.ks-os__card.is-live:hover .ks-os__card-title{ color:#fff; }

/* Пункт «Системы» рядом с «Блогом» — тот же вес */
.ks-nav__os{
  font-weight:600; font-size:15px; text-decoration:none; color:inherit;
  white-space:nowrap; transition:opacity .15s;
}
.ks-nav__os:hover{ opacity:.62; color:inherit; }
.ks-nav__os.is-here{ color:#ea580c; }
@media (max-width:860px){ .ks-nav__os{ display:none; } }
.ks-nav__oslink{
  display:block; padding:12px 0; font-weight:600; font-size:17px;
  text-decoration:none; color:inherit;
}

/* Системы в работе — видно, что там уже есть материалы */
.ks-os__card.is-growing .ks-os__card-count{ color:#ea580c; }
.ks-os__card.is-growing{ border-color:rgba(234,88,12,.22); }
.ks-os__card.is-growing:hover{ border-color:rgba(234,88,12,.45); }

/* Связка разделов Sales OS со свежими статьями — база знаний была отрезана от блога */
.ks-osnext{ margin:44px 0 8px; padding:26px 28px; background:#14110f; border-radius:20px; }
.ks-osnext__title{ margin:0 0 4px; font-size:.75rem; letter-spacing:.09em; text-transform:uppercase; color:#ea580c; font-weight:600; }
.ks-osnext__lead{ margin:0 0 18px; font-size:.95rem; color:rgba(255,255,255,.55); }
.ks-osnext ul{ margin:0; padding:0; list-style:none; display:grid; gap:2px; }
.ks-osnext li{ margin:0; border-top:1px solid rgba(255,255,255,.08); }
.ks-osnext li:first-child{ border-top:0; }
.ks-osnext a{ display:block; padding:13px 0; color:#fff; text-decoration:none; font-weight:600; font-size:1rem; line-height:1.35; }
.ks-osnext a:hover{ color:#fdba74; }
.ks-osnext a:visited{ color:#fff; }
.ks-osnext em{ display:block; margin-top:3px; font-style:normal; font-weight:400; font-size:.88rem; color:rgba(255,255,255,.5); }
@media (max-width:640px){ .ks-osnext{ padding:22px 18px; border-radius:16px; } }

/* Мобильное меню: фон не едет под открытой панелью, бургер превращается в крестик */
body.ks-navlock{ overflow:hidden; }
.ks-nav__burger{ position:relative; }
.ks-nav__burger[aria-expanded="true"] span{ opacity:0; }
.ks-nav__burger[aria-expanded="true"]::before,
.ks-nav__burger[aria-expanded="true"]::after{
  content:""; position:absolute; left:50%; top:50%; width:17px; height:2px;
  background:currentColor; border-radius:2px; transform-origin:center;
}
.ks-nav__burger[aria-expanded="true"]::before{ transform:translate(-50%,-50%) rotate(45deg); }
.ks-nav__burger[aria-expanded="true"]::after{ transform:translate(-50%,-50%) rotate(-45deg); }
@media (max-width:900px){
  #ksNav.is-open{ max-height:calc(100vh - 74px); overflow-y:auto; -webkit-overflow-scrolling:touch; }
}

/* Под поиском на главной — честный масштаб базы: человек сразу видит, что здесь есть */
.ks-herostats{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px 26px;
  margin:26px auto 0; max-width:760px; font-size:.9rem; color:var(--stone); }
.ks-herostats a{ color:inherit; text-decoration:none; border-bottom:1px solid transparent; }
.ks-herostats a:hover{ color:var(--ink); border-bottom-color:var(--accent); }
.ks-herostats b{ color:var(--ink); font-weight:700; }
@media (max-width:640px){ .ks-herostats{ gap:8px 18px; font-size:.84rem; } }

/* Знаки разделов: тонкая линия вместо буквы, размер и цвет наследуются */
.fcard__icon svg{ width:19px; height:19px; display:block; }
.fcard__icon{ color:var(--accent-dark); }
.fcard:hover .fcard__icon{ background:var(--accent); color:#fff; }
.fcard.is-blog .fcard__icon svg{ color:#fff; }

/* Инструмент пока один — ссылка «Все инструменты» вела на ту же единственную карточку.
   Вернём её, когда инструментов станет больше одного. */
body.home section.section:has(.ks-tool-card) .section__all{ display:none; }

/* Лента материалов на странице системы */
.ks-osfeed ul{ margin:0; padding:0; list-style:none; display:grid; gap:0; }
.ks-osfeed li{ margin:0; border-top:1px solid var(--border); }
.ks-osfeed li:first-child{ border-top:0; }
.ks-osfeed a{ display:block; padding:16px 0; color:var(--ink); text-decoration:none; font-weight:700; font-size:1.02rem; line-height:1.35; }
.ks-osfeed a:hover{ color:var(--accent-dark); }
.ks-osfeed i{ display:inline-block; font-style:normal; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--accent-dark); background:var(--accent-wash); border-radius:9999px; padding:3px 9px; margin-right:9px; vertical-align:2px; }
.ks-osfeed em{ display:block; margin-top:5px; font-style:normal; font-weight:400; font-size:.9rem; color:var(--stone); }

/* Анатомия системы: что внутри и в каком порядке */
.ks-blocks{ display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); margin:22px 0 8px; }
.ks-blocks__item{ border:1px solid var(--border); border-radius:14px; padding:15px 17px; background:#fff; }
.ks-blocks__n{ font-size:.7rem; letter-spacing:.1em; color:var(--accent-dark); font-weight:700; }
.ks-blocks__t{ display:block; margin:6px 0 4px; font-weight:700; font-size:1rem; color:var(--ink); }
.ks-blocks__d{ font-size:.86rem; color:var(--stone); line-height:1.45; }
.ks-blocks__item.is-soon{ background:var(--accent-wash); border-style:dashed; }

/* ===== КАТАЛОГ ФРЕЙМВОРКОВ ===== */
.ks-fwbar{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; }
.ks-fwbar__label{ width:100%; font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; color:var(--stone); margin:14px 0 2px; }
.ks-fwchip{ border:1px solid var(--border); background:#fff; color:var(--ink); border-radius:9999px;
  padding:7px 14px; font-size:.86rem; cursor:pointer; font-weight:600; transition:.15s; }
.ks-fwchip:hover{ border-color:var(--accent); }
.ks-fwchip.is-on{ background:var(--ink); color:#fff; border-color:var(--ink); }
.ks-fwcount{ margin:18px 0 6px; font-size:.86rem; color:var(--stone); }
.ks-fwcat{ display:grid; gap:12px; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); margin:8px 0 0; }
.ks-fwcard{ display:block; border:1px solid var(--border); border-radius:16px; padding:18px 20px; background:#fff;
  text-decoration:none; transition:.15s; }
.ks-fwcard:hover{ border-color:var(--accent); transform:translateY(-2px); }
.ks-fwcard__top{ display:flex; gap:7px; flex-wrap:wrap; margin-bottom:9px; }
.ks-fwcard__tag{ font-size:.66rem; letter-spacing:.07em; text-transform:uppercase; font-weight:700;
  border-radius:9999px; padding:3px 9px; background:var(--accent-wash); color:var(--accent-dark); }
.ks-fwcard__tag.is-lvl{ background:#f1f0ee; color:var(--stone); }
.ks-fwcard__name{ display:block; font-weight:700; font-size:1.06rem; color:var(--ink); line-height:1.3; }
.ks-fwcard__desc{ display:block; margin-top:6px; font-size:.9rem; color:var(--stone); line-height:1.5; }
.ks-fwempty{ padding:28px 0; color:var(--stone); font-size:.95rem; }
@media (max-width:640px){ .ks-fwcat{ grid-template-columns:1fr; } }

/* fwcat-wide: каталогу тесно в колонке текста — выпускаем его на ширину страницы */
/* Каталогу тесно в колонке текста шириной 520px — расширяем саму колонку
   только на страницах с каталогом, не трогая остальные. */
.ks-page-wrap.is-wide{ max-width:1200px; }
.ks-page-wrap.is-wide .ks-page__content{ max-width:1120px; }
.ks-page-wrap.is-wide .ks-page__content > p,
.ks-page-wrap.is-wide .ks-page__content > h2,
.ks-page-wrap.is-wide .ks-page__content > ul,
.ks-page-wrap.is-wide .ks-page__content > .ks-osnext,
.ks-page-wrap.is-wide .ks-page__content > .ks-note,
.ks-page-wrap.is-wide .ks-page__content > .ks-faq,
.ks-page-wrap.is-wide .ks-page__content > .ks-answer{
  max-width:62ch;
  margin-left:0 !important;
  margin-right:auto !important;
}
.ks-page-wrap.is-wide .ks-page__content > p.ks-fwcount{ max-width:none; }
.ks-fwcat{ grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
/* тема подчёркивает ссылки в тексте — в карточках это лишнее */
.ks-fwcard, .ks-fwcard *, .ks-osnext a, .ks-osfeed a{ text-decoration:none !important; }
.ks-fwcard:visited .ks-fwcard__name{ color:var(--ink); }

/* ширина каталога против блочной темы: тема зажимает прямых потомков до content-size,
   поэтому три блока каталога снимаем с этого ограничения явно */
.ks-page-wrap.is-wide .ks-fwbar,
.ks-page-wrap.is-wide .ks-fwcount,
.ks-page-wrap.is-wide .ks-fwsets,
.ks-page-wrap.is-wide .ks-fwsets,
.ks-page-wrap.is-wide .ks-fwcat{ max-width:none !important; width:auto !important; }

/* Пункт «Фреймворки» — тот же вес, что «Системы» и «Блог» */
.ks-nav__fw{
  font-weight:600; font-size:15px; text-decoration:none; color:inherit;
  white-space:nowrap; transition:opacity .15s;
}
.ks-nav__fw:hover{ opacity:.62; color:inherit; }
.ks-nav__fw:visited{ color:inherit; }
.ks-nav__fw.is-here{ color:#ea580c; }
@media (max-width:980px){ .ks-nav__fw{ display:none; } }
.ks-nav__fwlink{
  display:block; padding:12px 0; font-weight:600; font-size:17px;
  text-decoration:none; color:inherit;
}


/* Указатель глоссария: поиск и группировка по буквам.
   Префикс ks-glossix, чтобы не пересечься с .ks-gloss — это инлайн-ссылка на термин в тексте. */
.ks-list-wrap.is-wide{ max-width:1200px; }
.ks-glossix{ margin-top:8px; }
.ks-glossix__tools{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.ks-glossix__search{
  flex:1 1 320px; max-width:420px; padding:11px 16px; border-radius:999px;
  border:1px solid rgba(28,25,23,0.14); background:#fff; font:inherit; font-size:.95rem; color:var(--ink);
}
.ks-glossix__search:focus{ outline:none; border-color:rgba(226,98,42,0.55); box-shadow:0 0 0 3px rgba(226,98,42,0.12); }
.ks-glossix__count{ font-size:.85rem; color:var(--stone); white-space:nowrap; }
.ks-glossix__alpha{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:30px; }
.ks-glossix__alpha a{
  display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:32px;
  padding:0 8px; border-radius:8px; background:rgba(28,25,23,0.05); color:var(--charcoal);
  font-size:.82rem; font-weight:600; text-decoration:none !important; border:0;
}
.ks-glossix__alpha a:hover{ background:var(--ink); color:#fff; }
.ks-glossix__group{ margin-bottom:34px; scroll-margin-top:90px; }
.ks-glossix__letter{ font-size:.78rem !important; letter-spacing:.14em; text-transform:uppercase; color:var(--stone);
  margin:0 0 12px !important; padding-bottom:8px; border-bottom:1px solid rgba(28,25,23,0.08); }
.ks-glossix__list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:2px 28px; }
.ks-glossix__item{
  display:block; padding:12px 14px; border-radius:10px; text-decoration:none !important;
  border:1px solid transparent; transition:background .15s ease, border-color .15s ease;
}
.ks-glossix__item:hover{ background:#fff; border-color:rgba(28,25,23,0.08); }
.ks-glossix__term{ display:block; font-weight:700; font-size:1rem; color:var(--ink); }
.ks-glossix__def{ display:block; margin-top:3px; font-size:.88rem; line-height:1.5; color:var(--stone); }
@media (max-width:640px){
  .ks-glossix__list{ grid-template-columns:1fr; }
  .ks-glossix__search{ max-width:none; }
}

/* блочная тема ужимает прямых потомков до ширины текста — указателю нужна вся страница */
.ks-list-wrap.is-wide > .ks-glossix,
.ks-list-wrap.is-wide > .ks-glossix > *{
  max-width:none !important; width:auto !important;
  margin-left:0 !important; margin-right:0 !important;
}


/* Пункт «Глоссарий» — тот же вес, что «Системы», «Фреймворки» и «Блог».
   Плюс общий отступ: вставленные скриптом пункты слипались с соседними. */
.ks-nav__gl{
  font-weight:600; font-size:15px; text-decoration:none; color:inherit;
  white-space:nowrap; transition:opacity .15s;
}
.ks-nav__gl:hover{ opacity:.62; color:inherit; }
.ks-nav__gl:visited{ color:inherit; }
.ks-nav__gl.is-here{ color:#ea580c; }
@media (max-width:980px){ .ks-nav__gl{ display:none; } }
.ks-nav__gllink{
  display:block; padding:12px 0; font-weight:600; font-size:17px;
  text-decoration:none; color:inherit;
}
.ks-nav__left > .ks-nav__fw,
.ks-nav__left > .ks-nav__lb,
.ks-nav__left > .ks-nav__lp,
.ks-nav__left > .ks-nav__rl,
.ks-nav__left > .ks-nav__gl,
.ks-nav__left > .ks-os{ margin-left:22px; }

/* Библиотека — шестой пункт базы знаний */
.ks-nav__lb{ font-weight:600; font-size:15px; text-decoration:none; color:inherit; white-space:nowrap; transition:opacity .15s; }
.ks-nav__lb:hover{ opacity:.62; color:inherit; }
.ks-nav__lb:visited{ color:inherit; }
.ks-nav__lb.is-here{ color:#ea580c; }
@media (max-width:980px){ .ks-nav__lb{ display:none; } }
.ks-nav__lblink{ display:block; padding:12px 0; font-weight:600; font-size:17px; text-decoration:none; color:inherit; }
.ks-nav__left > .ks-nav__bloglink{ margin-left:22px; }


/* Схемы в тексте: моноширинный блок со своей прокруткой.
   Без этого длинная строка схемы растягивает всю страницу на телефоне. */
.ks-diagram{
  display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
  font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
  font-size:13px; line-height:1.6; white-space:pre; tab-size:2;
  background:rgba(28,25,23,0.04); border:1px solid rgba(28,25,23,0.08);
  border-radius:12px; padding:18px 20px; margin:26px 0; color:var(--charcoal);
}
@media (max-width:640px){ .ks-diagram{ font-size:11px; padding:14px; } }

/* таблицы в статьях не должны раздвигать страницу */
.entry-content table{ display:block; max-width:100%; overflow-x:auto; }
@media (min-width:900px){ .entry-content table{ display:table; width:100%; } }


/* Страница роли: текст роли над лентой материалов */
.ks-rolebody{ margin:8px 0 44px; }
.ks-rolebody h2{ font-size:1.15rem !important; margin:32px 0 12px !important; }
.ks-rolebody ul{ margin:0 0 4px; padding-left:20px; }
.ks-rolebody li{ margin-bottom:7px; line-height:1.6; }
.ks-rolebody__feed{
  margin-top:44px !important; padding-top:22px;
  border-top:1px solid rgba(28,25,23,0.10);
  display:flex; align-items:baseline; gap:10px;
}
.ks-rolebody__feed span{
  font-size:.78rem; font-weight:600; color:var(--stone);
  background:rgba(28,25,23,0.05); border-radius:999px; padding:2px 9px;
}
.ks-list-wrap.is-wide > .ks-roles,
.ks-list-wrap.is-wide > .ks-roles > *{
  max-width:none !important; width:auto !important; margin-left:0 !important; margin-right:0 !important;
}
.ks-roles__grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:16px; margin-top:28px;
}
.ks-rolecard{
  display:flex; flex-direction:column; gap:8px;
  padding:22px 22px 20px; border:1px solid rgba(28,25,23,0.10); border-radius:14px;
  background:#fff; text-decoration:none !important; transition:transform .15s ease, box-shadow .15s ease;
}
.ks-rolecard:hover{ transform:translateY(-2px); box-shadow:0 8px 26px rgba(28,25,23,0.07); }
.ks-rolecard__name{ font-weight:700; font-size:1.12rem; color:var(--ink); line-height:1.25; }
.ks-rolecard__desc{ font-size:.9rem; line-height:1.55; color:var(--stone); flex:1; }
.ks-rolecard__count{ font-size:.78rem; color:var(--stone); opacity:.75; }
@media (max-width:640px){ .ks-roles__grid{ grid-template-columns:1fr; } }


/* Страница роли: выравнивание по левому краю и нормальные заголовки.
   Блочная тема центрировала блок и красила h2 служебным серым. */
.ks-list-wrap > .ks-rolebody{
  max-width:64ch !important; width:auto !important;
  margin-left:0 !important; margin-right:auto !important;
}
.ks-rolebody h2{
  color:var(--ink) !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  font-size:1.18rem !important;
}
.ks-rolebody .ks-answer{ margin:0 0 30px; }
.ks-rolebody a{ color:var(--accent-dark, #ea580c); }
.ks-rolebody__feed{ max-width:64ch; }


/* Пункт «Роли» — в один ряд с остальными */
.ks-nav__rl{
  font-weight:600; font-size:15px; text-decoration:none; color:inherit;
  white-space:nowrap; transition:opacity .15s;
}
.ks-nav__rl:hover{ opacity:.62; color:inherit; }
.ks-nav__rl:visited{ color:inherit; }
.ks-nav__rl.is-here{ color:#ea580c; }
@media (max-width:980px){ .ks-nav__rl{ display:none; } }
.ks-nav__rllink{
  display:block; padding:12px 0; font-weight:600; font-size:17px;
  text-decoration:none; color:inherit;
}
.ks-nav__left > .ks-nav__rl{ margin-left:22px; }


/* Дата и метка свежести в ленте материалов */
.mcard__meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.mcard__date{
  font-size:.74rem; color:var(--stone); opacity:.85; white-space:nowrap;
  margin-left:auto;
}
.mcard__new{
  font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:#fff; background:var(--accent, #e2622a);
  border-radius:999px; padding:2px 8px; white-space:nowrap;
}
@media (max-width:520px){ .mcard__date{ margin-left:0; } }

/* Блок «Фреймворки» на главной */
.ks-fwhome__lead{
  margin:0 0 20px !important; max-width:62ch;
  color:var(--stone); font-size:.95rem; line-height:1.6;
}


/* Книги на главной: обложка, название, одна строка о содержании */
.ks-books{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:18px;
}
.ks-bookcard{
  display:flex; flex-direction:column; gap:10px; text-decoration:none !important;
  transition:transform .16s ease;
}
.ks-bookcard:hover{ transform:translateY(-3px); }
.ks-bookcard__img{
  display:block; width:100%; aspect-ratio:1200/630; border-radius:10px;
  background:#1c1917 center/cover no-repeat;
  box-shadow:0 4px 18px rgba(28,25,23,0.10);
}
.ks-bookcard__img.is-empty{ background:linear-gradient(135deg,#231f1d,#3a2a20); }
.ks-bookcard__t{ font-weight:700; font-size:.98rem; line-height:1.3; color:var(--ink); }
.ks-bookcard__d{ font-size:.83rem; line-height:1.5; color:var(--stone); }
@media (max-width:640px){
  .ks-books{ grid-template-columns:repeat(2,1fr); gap:14px; }
  .ks-bookcard__t{ font-size:.9rem; }
  .ks-bookcard__d{ display:none; }
}


/* Поиск: тип результата и переключатели над выдачей */
.ks-resbar{ display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 26px; }
.ks-reschip{
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 14px; border-radius:999px; cursor:pointer;
  border:1px solid rgba(28,25,23,0.12); background:#fff;
  font:inherit; font-size:.86rem; font-weight:600; color:var(--charcoal);
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.ks-reschip span{ font-weight:500; opacity:.6; font-size:.8rem; }
.ks-reschip:hover{ border-color:rgba(28,25,23,0.28); }
.ks-reschip.is-on{ background:var(--ink); border-color:var(--ink); color:#fff; }
.ks-reschip.is-on span{ opacity:.7; }

.ks-restype{
  display:inline-block; margin-bottom:10px;
  font-size:.68rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  padding:3px 9px; border-radius:999px;
  background:rgba(28,25,23,0.06); color:var(--stone);
}
.ks-restype--fw{ background:rgba(226,98,42,0.12); color:#c2521f; }
.ks-restype--term{ background:rgba(28,25,23,0.08); color:var(--charcoal); }
.ks-restype--role{ background:rgba(28,25,23,0.06); color:var(--stone); }


/* Куда идти дальше с карточки фреймворка и страницы термина */
.ks-next{
  margin-top:52px !important; padding-top:30px;
  border-top:1px solid rgba(28,25,23,0.10);
  max-width:none !important;
}
.ks-next__h{
  font-size:.78rem !important; letter-spacing:.13em; text-transform:uppercase;
  color:var(--stone) !important; margin:0 0 18px !important; font-weight:600 !important;
}
.ks-next__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; }
.ks-next__card{
  display:flex; flex-direction:column; gap:6px;
  padding:16px 18px; border:1px solid rgba(28,25,23,0.10); border-radius:12px;
  background:#fff; text-decoration:none !important; transition:border-color .15s ease, transform .15s ease;
}
.ks-next__card:hover{ border-color:rgba(28,25,23,0.26); transform:translateY(-2px); }
.ks-next__t{ font-weight:700; font-size:.96rem; line-height:1.3; color:var(--ink); }
.ks-next__d{ font-size:.83rem; line-height:1.5; color:var(--stone); }
.ks-next__chips{ display:flex; flex-wrap:wrap; gap:8px; }
.ks-next__chip{
  display:inline-block; padding:8px 14px; border-radius:999px;
  border:1px solid rgba(28,25,23,0.12); background:#fff;
  font-size:.88rem; font-weight:600; color:var(--charcoal); text-decoration:none !important;
}
.ks-next__chip:hover{ border-color:rgba(28,25,23,0.3); }
.ks-next__all{
  display:inline-block; margin:18px 22px 0 0;
  font-size:.9rem; font-weight:600; color:var(--accent-dark,#ea580c); text-decoration:none !important;
}
@media (max-width:640px){ .ks-next__grid{ grid-template-columns:1fr; } }


/* Рубрики в указателе глоссария */
.ks-glossix__cats{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.ks-glosscat{
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 14px; border-radius:999px; cursor:pointer;
  border:1px solid rgba(28,25,23,0.12); background:#fff;
  font:inherit; font-size:.86rem; font-weight:600; color:var(--charcoal);
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.ks-glosscat span{ font-weight:500; opacity:.55; font-size:.8rem; }
.ks-glosscat:hover{ border-color:rgba(28,25,23,0.28); }
.ks-glosscat.is-on{ background:var(--ink); border-color:var(--ink); color:#fff; }
.ks-glosscat.is-on span{ opacity:.7; }


/* Страница системы: словарь и роли */
.ks-osextra{ margin:44px 0 8px; }
.ks-osextra__h{
  display:flex; align-items:baseline; gap:10px;
  font-size:1.15rem !important; margin:34px 0 16px !important; color:var(--ink) !important;
}
.ks-osextra__h:first-child{ margin-top:0 !important; }
.ks-osextra__h span{
  font-size:.72rem; font-weight:600; color:var(--stone);
  background:rgba(28,25,23,0.05); border-radius:999px; padding:2px 9px;
}
.ks-osextra__chips{ display:flex; flex-wrap:wrap; gap:8px; }
.ks-osextra__chips .ks-next__chip b{
  margin-left:7px; font-weight:500; opacity:.5; font-size:.8rem;
}


/* Тема красит ссылки внутри текста в акцент — чипы от этого становятся
   пёстрыми; чипы не должны краситься как ссылки. */
.ks-osextra .ks-next__chip,
.ks-next .ks-next__chip{ color:var(--charcoal) !important; }
.ks-osextra .ks-next__chip:hover,
.ks-next .ks-next__chip:hover{ color:var(--ink) !important; border-color:rgba(28,25,23,0.3); }


/* таблицы на широких страницах занимают всю колонку, текст остаётся узким */
.ks-page-wrap.is-wide .ks-page__content > table,
.ks-page-wrap.is-wide .ks-page__content > .wp-block-table{
  max-width:none !important; width:100% !important;
  margin-left:0 !important; margin-right:0 !important;
}
.ks-page-wrap.is-wide .ks-page__content > .ks-faq,
.ks-page-wrap.is-wide .ks-page__content > .ks-takeaway{ max-width:62ch; }


/* 404: подсказки по адресу, с которого пришли */
.ks-404sug{ max-width:760px; margin:40px auto 0; text-align:left; }
.ks-404sug__h{
  margin:0 0 14px !important; text-align:center;
  font-size:.78rem; letter-spacing:.13em; text-transform:uppercase; color:var(--stone);
}
.ks-404sug__list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:12px; }
.ks-404sug__item{
  display:flex; flex-direction:column; gap:8px; align-items:flex-start;
  padding:16px 18px; border:1px solid rgba(28,25,23,0.10); border-radius:12px;
  background:#fff; text-decoration:none !important; transition:border-color .15s ease, transform .15s ease;
}
.ks-404sug__item:hover{ border-color:rgba(28,25,23,0.28); transform:translateY(-2px); }
.ks-404sug__item .ks-restype{ margin:0; }
.ks-404sug__t{ font-weight:700; font-size:.95rem; line-height:1.3; color:var(--ink); }
@media (max-width:640px){ .ks-404sug__list{ grid-template-columns:1fr; } }


/* Наборы фреймворков под задачу — над каталогом на /frameworks/ */
.ks-fwsets{ margin:40px 0 8px; }
.ks-fwsets__kicker{ font-size:.72rem; letter-spacing:.14em; font-weight:700; color:var(--accent,#E1622F); margin:0 0 10px; }
.ks-fwsets__lead{ margin:0 0 22px; max-width:720px; color:var(--muted,#6b6560); }
.ks-fwsets__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:16px; }
.ks-fwset{ border:1px solid rgba(28,25,23,0.10); border-radius:16px; padding:22px 24px; background:#fff; transition:border-color .15s ease; }
.ks-fwset:hover{ border-color:rgba(28,25,23,0.24); }
.ks-fwset__h{ margin:0 0 6px; font-weight:700; font-size:1.02rem; line-height:1.3; color:var(--ink,#1c1917); }
.ks-fwset__p{ margin:0 0 14px; font-size:.88rem; line-height:1.5; color:var(--muted,#6b6560); }
.ks-fwset__list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:7px; }
.ks-fwset__list li{ margin:0; }
.ks-fwset__list a{
  display:inline-block; padding:5px 11px; border-radius:999px;
  border:1px solid rgba(28,25,23,0.12); background:#fafaf9;
  font-size:.82rem; line-height:1.25; color:var(--ink,#1c1917);
  text-decoration:none !important; transition:background .15s ease, border-color .15s ease;
}
.ks-fwset__list a:hover{ background:#fff; border-color:var(--accent,#E1622F); color:var(--accent,#E1622F); }
@media (max-width:640px){ .ks-fwsets__grid{ grid-template-columns:1fr; } .ks-fwset{ padding:18px 18px; } }


/* Заголовок набора может быть ссылкой — подчёркивание тут лишнее */
.ks-fwset__h a{ color:var(--ink,#1c1917) !important; text-decoration:none !important; }
.ks-fwset__h a:hover{ color:var(--accent,#E1622F) !important; }


/* Мобильное меню: пункты разделов набирались в разное время и разошлись
   по размеру и цвету — «Системы» и «Фреймворки» выглядели крупнее и бледнее
   остальных. Приводим все пункты к одному виду с кнопками доменов. */
@media (max-width:980px){
  #ksMobile > .ks-nav__oslink,
  #ksMobile > .ks-nav__fwlink,
  #ksMobile > .ks-nav__gllink,
  #ksMobile > .ks-nav__rllink,
  #ksMobile > .ks-nav__lblink,
  #ksMobile > .ks-nav__bloglink{
    display:block;
    padding:12px 4px;
    font-size:14px;
    font-weight:700;
    line-height:1.3;
    color:var(--ink,#1c1917);
    text-decoration:none;
  }
  #ksMobile > .ks-nav__oslink.is-here,
  #ksMobile > .ks-nav__fwlink.is-here,
  #ksMobile > .ks-nav__gllink.is-here,
  #ksMobile > .ks-nav__rllink.is-here,
  #ksMobile > .ks-nav__lblink.is-here{ color:var(--accent,#ea580c); }
}


/* ══════ ПОДТЕМА РАЗДЕЛА ══════
   Ссылки из меню вида /sales/?tag=… открывали страницу раздела без
   всякого признака выбранной подтемы. Ниже — оформление отдельного вида. */
.ks-sub{ margin:0 0 34px; }
.ks-page-wrap.is-wide .ks-sub{ max-width:none !important; width:auto !important; }
.ks-sub__kick{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--stone,#79716b); margin:0 0 12px; }
.ks-sub__kick a{ color:var(--accent,#ea580c); text-decoration:none !important; }
.ks-sub__h1{ font-size:clamp(2rem,4.5vw,3.1rem); line-height:1.08; font-weight:800; letter-spacing:-.02em; color:var(--ink,#1c1917); margin:0 0 14px; }
.ks-sub__lead{ font-size:1.05rem; line-height:1.55; color:var(--charcoal,#57534d); max-width:680px; margin:0 0 18px; }
.ks-sub__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:0 0 8px;
  padding-top:16px; border-top:1px solid rgba(28,25,23,.10); font-size:.9rem; color:var(--stone,#79716b); }
.ks-sub__back{ color:var(--accent,#ea580c); text-decoration:none !important; font-weight:600; }
.ks-sub__back:hover{ text-decoration:underline !important; }
.ks-sub__sibs{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; }
.ks-sub__sib{ display:inline-block; padding:6px 13px; border-radius:999px; border:1px solid rgba(28,25,23,.12);
  background:#fafaf9; font-size:.84rem; color:var(--ink,#1c1917); text-decoration:none !important; transition:border-color .15s, background .15s; }
.ks-sub__sib:hover{ background:#fff; border-color:var(--accent,#ea580c); color:var(--accent,#ea580c); }
.ks-sub__card{ display:flex; flex-direction:column; gap:8px; padding:22px 24px;
  border:1px solid rgba(28,25,23,.10); border-radius:16px; background:#fff;
  text-decoration:none !important; transition:border-color .15s ease, transform .15s ease; }
.ks-sub__card:hover{ border-color:rgba(28,25,23,.26); transform:translateY(-2px); }
.ks-sub__date{ font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; color:var(--stone,#79716b); }
.ks-sub__title{ font-weight:700; font-size:1.02rem; line-height:1.32; color:var(--ink,#1c1917); }
.ks-sub__ex{ font-size:.88rem; line-height:1.5; color:var(--charcoal,#57534d); }
.ks-sub__empty{ padding:28px; border:1px dashed rgba(28,25,23,.18); border-radius:16px; color:var(--charcoal,#57534d); }
@media (max-width:640px){ .ks-sub__card{ padding:18px; } }

/* обложка-картинка не нужна там, где у страницы свой собственный первый экран */
body:has(.ks-hub-intro) .ks-page__cover,
body:has(.ks-fwsets) .ks-page__cover,
body:has(#fwCatalog) .ks-page__cover{ display:none; }

/* лента подтемы — это сетка карточек, ей нужна вся ширина */
.ks-page-wrap.is-wide .ks-hub-grid{ max-width:none !important; width:auto !important; }
.ks-hub-grid:has(.ks-sub__card){ display:grid; gap:14px; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
@media (max-width:640px){ .ks-hub-grid:has(.ks-sub__card){ grid-template-columns:1fr; } }


/* ══════ ПОДАЧА КОНТЕНТА ══════
   Материалы стали содержательными, но выглядели как голый HTML: таблицы без
   ритма, нумерованные списки без акцента. Слой ниже работает на всех страницах
   сразу, без переписывания разметки. */

/* Таблицы: первая колонка — опора, чётные строки подсвечены, шапка тише текста */
.ks-table-scroll{
  border:1px solid rgba(28,25,23,.10); border-radius:16px; background:#fff;
  overflow-x:auto; -webkit-overflow-scrolling:touch; margin:22px 0 26px;
}
.ks-table-scroll > table{ margin:0 !important; border:0 !important; font-size:.94rem; min-width:520px; }
.ks-table-scroll thead th{
  background:#fff; border-bottom:2px solid rgba(28,25,23,.14) !important;
  padding:14px 16px !important; text-align:left; vertical-align:bottom;
  font-size:.71rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--stone,#79716b); white-space:nowrap;
}
.ks-table-scroll tbody td{
  padding:14px 16px !important; vertical-align:top; line-height:1.45;
  border-bottom:1px solid rgba(28,25,23,.07) !important;
}
.ks-table-scroll tbody tr:nth-child(even){ background:#fbfaf9; }
.ks-table-scroll tbody tr:last-child td{ border-bottom:0 !important; }
.ks-table-scroll tbody td:first-child{ font-weight:600; color:var(--ink,#1c1917); min-width:132px; }
.ks-table-scroll tbody td strong{ font-weight:700; }
@media (max-width:640px){
  .ks-table-scroll{ border-radius:12px; }
  .ks-table-scroll > table{ font-size:.88rem; }
  .ks-table-scroll thead th, .ks-table-scroll tbody td{ padding:11px 12px !important; }
}

/* Нумерованные списки: шаг с номером, а не строка с точкой */
.ks-post__content > ol, .ks-page__content > ol{
  counter-reset:ksol; list-style:none; padding-left:0; margin:18px 0 26px;
}
.ks-post__content > ol > li, .ks-page__content > ol > li{
  counter-increment:ksol; position:relative; padding-left:44px; margin-bottom:14px; line-height:1.55;
}
.ks-post__content > ol > li::before, .ks-page__content > ol > li::before{
  content:counter(ksol); position:absolute; left:0; top:0;
  width:28px; height:28px; border-radius:50%;
  background:#fff; border:1px solid rgba(234,88,12,.28); color:var(--accent-dark,#ea580c);
  font-size:.78rem; font-weight:700; line-height:26px; text-align:center;
  box-shadow:0 1px 2px rgba(28,25,23,.04);
}

/* Маркированные списки: аккуратная точка вместо системного маркера */
.ks-post__content > ul, .ks-page__content > ul{ list-style:none; padding-left:0; margin:18px 0 26px; }
.ks-post__content > ul > li, .ks-page__content > ul > li{
  position:relative; padding-left:24px; margin-bottom:11px; line-height:1.55;
}
.ks-post__content > ul > li::before, .ks-page__content > ul > li::before{
  content:""; position:absolute; left:4px; top:.62em;
  width:6px; height:6px; border-radius:50%; background:var(--accent,#ea580c); opacity:.55;
}

/* Сноска об источниках — тише основного текста */
.ks-note{ font-size:.85rem; line-height:1.5; color:var(--stone,#79716b);
  border-top:1px solid rgba(28,25,23,.10); padding-top:14px; margin-top:30px; }

/* Таблица шире колонки текста: строка комфортна для чтения (около 70 знаков),
   а таблице из четырёх столбцов такой ширины не хватает. Выносим её за поля
   колонки, но не за пределы экрана. */
@media (min-width:1024px){
  .ks-post-wrap .ks-table-scroll,
  .ks-page-wrap:not(.is-wide) .ks-table-scroll,
  .ks-page-wrap.is-wide .ks-table-scroll{
    max-width:none !important;
    width:min(940px, calc(100vw - 120px)) !important;
    margin-left:50% !important;
    margin-right:0 !important;
    transform:translateX(-50%);
  }
}

/* На страницах, которым JS уже дал полную ширину, вынос наружу не нужен:
   там достаточно занять всю доступную колонку. */
@media (min-width:1024px){
  .ks-page-wrap.is-wide .ks-table-scroll{
    width:100% !important; max-width:none !important;
    margin-left:0 !important; transform:none !important;
  }
}


/* ══════ ОФОРМЛЕНИЕ ДЛИННЫХ РАЗБОРОВ ══════
   Набор правил лежал внутри девяти материалов в восьми разошедшихся
   версиях. При сведении в одно место автоматическая склейка сломала
   вложенные медиазапросы, и всё, что шло дальше по файлу, переставало
   применяться. Ниже — только валидные правила, проверенные парсером. */
.ks-report{ --ink:#1c1917; --charcoal:#57534d; --stone:#79716b; --canvas:#f7f5f2; --card:#ffffff;
    --border:rgba(28,25,23,0.10); --border-soft:rgba(28,25,23,0.06);
    --accent:#f97316; --accent-dark:#ea580c; --accent-wash:#fff1e6;
    --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    background:transparent; color:var(--charcoal) !important; font-size:16px; line-height:1.75; }
.ks-report__eyebrow{ font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--accent-dark) !important; margin:44px 0 10px !important; }
.ks-report__eyebrow:first-child{ margin-top:0 !important; }
.ks-report h2{ color:var(--ink) !important; font-size:22px !important; font-weight:700 !important;
    letter-spacing:-0.01em !important; margin:0 0 16px !important; }
.ks-report p{ margin:0 0 18px !important; color:var(--charcoal) !important; }
.ks-report strong{ color:var(--ink) !important; font-weight:700 !important; }
.ks-report__divider{ height:1px; background:var(--border); margin:36px 0; border:none; }
.ks-report__quote{ background:var(--accent-wash) !important; border-left:3px solid var(--accent);
    border-radius:0 12px 12px 0; padding:18px 22px; margin:0 0 24px; }
.ks-report__quote p{ color:var(--ink) !important; font-size:15.5px !important; font-weight:600 !important;
    line-height:1.6 !important; margin:0 !important; }
/* инфографика: три логики рядом */
  .ks-report__archgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:0 0 10px; }
.ks-report__arch{ background:var(--card) !important; border:1px solid var(--border); border-radius:14px;
    padding:16px 14px 18px; text-align:center; }
.ks-report__arch-label{ font-family:var(--mono); font-size:11px; font-weight:700; color:var(--accent-dark) !important;
    text-transform:uppercase; letter-spacing:0.04em; margin-bottom:12px; }
.ks-report__arch-cap{ font-size:11.5px; color:var(--stone) !important; margin-top:12px !important; line-height:1.45; }
.ks-report__bant{ display:flex; gap:6px; justify-content:center; flex-wrap:wrap; }
.ks-report__pill{ font-family:var(--mono); font-size:11px; font-weight:700; color:var(--stone); background:var(--canvas) !important;
    border:1px solid var(--border); border-radius:8px; padding:8px 10px; min-width:34px; }
.ks-report__pill.p1{ animation:archBlink 4s infinite; }
.ks-report__pill.p2{ animation:archBlink 4s infinite; animation-delay:1.1s; }
.ks-report__pill.p3{ animation:archBlink 4s infinite; animation-delay:2.3s; }
.ks-report__pill.p4{ animation:archBlink 4s infinite; animation-delay:3.2s; }


/* ══════ ПОЛНЫЕ СПИСКИ БАЗЫ ЗНАНИЙ ══════
   Отдаются сервером, поэтому читаются и без скриптов. Для человека это
   быстрый указатель, для краулера — единственный способ увидеть каталог. */
.ks-allindex{ margin:48px 0 8px; padding-top:34px; border-top:1px solid rgba(28,25,23,.10); }
.ks-page-wrap.is-wide .ks-allindex{ max-width:none !important; width:auto !important; }
.ks-allindex h2{ margin:0 0 8px; }
.ks-allindex__lead{ margin:0 0 22px; color:var(--stone,#79716b); font-size:.92rem; max-width:640px; }
.ks-allindex ul{ list-style:none !important; margin:0 !important; padding:0 !important;
  display:grid; gap:2px 28px; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }
.ks-allindex li{ margin:0 !important; padding:9px 0 !important; border-bottom:1px solid rgba(28,25,23,.06); }
.ks-allindex li::before{ content:none !important; }
.ks-allindex a{ font-weight:600; font-size:.95rem; color:var(--ink,#1c1917); text-decoration:none !important; }
.ks-allindex a:hover{ color:var(--accent-dark,#ea580c); }
.ks-allindex span{ display:block; margin-top:3px; font-size:.82rem; line-height:1.4; color:var(--stone,#79716b); }
@media (max-width:640px){ .ks-allindex ul{ grid-template-columns:1fr; } }

/* Широкая таблица не должна залезать под боковое оглавление:
   когда оно есть, расширяем только вправо. */
@media (min-width:1024px){
  body:has(.ks-toc--side) .ks-post-wrap .ks-table-scroll{
    margin-left:0 !important; margin-right:0 !important;
    transform:none !important;
    width:min(calc(100% + 180px), calc(100vw - 460px)) !important;
    max-width:none !important;
  }
}

/* ══════ ПРОГРАММЫ ОБУЧЕНИЯ ══════
   Маршрут — это не статья, а лестница. Поэтому шаг читается как карточка
   с номером, а материалы внутри — как список переходов, а не как текст. */
.ks-lp__meta{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:1px;
  background:rgba(28,25,23,.10); border:1px solid rgba(28,25,23,.10); border-radius:14px;
  overflow:hidden; margin:26px 0 34px; }
.ks-lp__meta > div{ background:var(--paper,#faf9f7); padding:16px 18px; font-weight:600; font-size:.95rem; }
.ks-lp__meta span{ display:block; margin-bottom:5px; font-size:.72rem; letter-spacing:.09em;
  text-transform:uppercase; font-weight:700; color:var(--stone,#79716b); }

.ks-lp{ margin:34px 0 10px; }
.ks-lp__level{ margin:0 0 30px; }
.ks-lp__levelname{ display:inline-block; margin:0 0 14px; padding:5px 12px; border-radius:999px;
  background:rgba(234,88,12,.10); color:var(--accent-dark,#ea580c);
  font-size:.74rem; letter-spacing:.09em; text-transform:uppercase; font-weight:700; }
.ks-lp__mod{ display:grid; grid-template-columns:52px 1fr; gap:16px; padding:20px 0;
  border-top:1px solid rgba(28,25,23,.08); }
.ks-lp__mod:first-of-type{ border-top:none; }
.ks-lp__num{ font-size:1.5rem; font-weight:800; line-height:1; color:rgba(28,25,23,.18);
  font-variant-numeric:tabular-nums; }
.ks-lp__body h3{ margin:0 0 6px !important; font-size:1.1rem; }
.ks-lp__body > p{ margin:0 0 12px !important; color:var(--stone,#79716b); font-size:.95rem; }
.ks-lp__links{ list-style:none !important; margin:0 !important; padding:0 !important;
  display:grid; gap:2px 22px; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); }
.ks-lp__links li{ margin:0 !important; padding:6px 0 !important; display:flex; gap:10px;
  align-items:baseline; justify-content:space-between; border-bottom:1px solid rgba(28,25,23,.06); }
.ks-lp__links li::before{ content:none !important; }
.ks-lp__links a{ font-weight:600; font-size:.93rem; text-decoration:none !important; color:var(--ink,#1c1917); }
.ks-lp__links a:hover{ color:var(--accent-dark,#ea580c); }
.ks-lp__links span{ flex:none; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase;
  font-weight:700; color:var(--stone,#79716b); opacity:.75; }
@media (max-width:640px){
  .ks-lp__mod{ grid-template-columns:38px 1fr; gap:12px; }
  .ks-lp__num{ font-size:1.15rem; }
  .ks-lp__links{ grid-template-columns:1fr; }
}

/* карточки программ на хабе */
.ks-lpcards{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); margin:28px 0 8px; }
/* карточка — блок, ссылка внутри заголовка растянута на всю карточку:
   так редактор не рвёт разметку на пустые ссылки */
.ks-lpcard{ position:relative; display:block; padding:22px 22px 20px; border:1px solid rgba(28,25,23,.12); border-radius:16px;
  background:var(--paper,#faf9f7); text-decoration:none !important; color:inherit;
  transition:border-color .18s ease, transform .18s ease; }
.ks-lpcard:hover{ border-color:var(--accent,#f97316); transform:translateY(-2px); }
.ks-lpcard__tag{ font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; font-weight:700;
  color:var(--accent-dark,#ea580c); }
.ks-lpcard__title{ margin:8px 0 8px; font-size:1.16rem; font-weight:700; line-height:1.25; }
.ks-lpcard__desc{ font-size:.93rem; color:var(--stone,#79716b); line-height:1.5; }
.ks-lpcard__foot{ margin-top:14px; padding-top:12px; border-top:1px solid rgba(28,25,23,.08);
  font-size:.8rem; font-weight:600; color:var(--stone,#79716b); }

/* ══════ ЗНАК В ШАПКЕ ══════
   Логотип в навигации был только текстом. Знак ставим фоном псевдоэлемента,
   чтобы не трогать разметку темы и не ломать мобильное меню. */
/* Знак «KZ» — это первые две буквы названия, поэтому в тексте осталось только
   «SalesHub», а плашка стоит вплотную, как продолжение слова. */
.ks-nav__logo{ display:inline-flex !important; align-items:center; }
.ks-nav__logo::before{
  content:""; flex:none; width:1.55em; height:1.44em; margin-right:.07em;
  background:url("https://kzsaleshub.com/wp-content/uploads/2026/08/kzsh-mark-light-tight.png") left center/contain no-repeat;
}
/* в подвале фон тёмный — там знак светлый */
.ks-footer .ks-nav__logo::before, .ks-foot .ks-nav__logo::before{
  background-image:url("https://kzsaleshub.com/wp-content/uploads/2026/08/kzsh-mark-dark-tight.png");
}

/* тот же знак в подвале: там фон светлый, поэтому вариант для светлого фона */
.ks-footer__logo, .footer__logo{ display:inline-flex !important; align-items:center; }
.ks-footer__logo::before, .footer__logo::before{
  content:""; flex:none; width:1.55em; height:1.44em; margin-right:.07em;
  background:url("https://kzsaleshub.com/wp-content/uploads/2026/08/kzsh-mark-light-tight.png") left center/contain no-repeat;
}

/* карточки программ шире колонки текста — иначе три штуки встают в один столбец */
@media (min-width:1024px){
  .ks-page-wrap .ks-lpcards{
    width:min(940px, calc(100vw - 120px)) !important;
    max-width:none !important;
    margin-left:50% !important; transform:translateX(-50%);
  }
}

.ks-lpcard__title a{ text-decoration:none !important; color:inherit; }
.ks-lpcard__title a::after{ content:""; position:absolute; inset:0; }
.ks-lpcard:hover .ks-lpcard__title a{ color:var(--accent-dark,#ea580c); }

/* ══════ ШАПКА: место под новый пункт ══════
   С «Программами» строка перестала помещаться и наезжала на «Менторство».
   Отступы на узких экранах ужимаем. */
@media (max-width:1439px){ .ks-nav__powered{ display:none !important; } }
@media (max-width:1200px){
  .ks-nav__left > a, .ks-nav__trigger > button{ padding-left:7px !important; padding-right:7px !important; font-size:12.5px !important; }
}

/* выпадающий список систем */
.ks-nav__left > .ks-os{ position:relative; }
.ks-os__panel{ position:absolute; top:calc(100% + 10px); left:0; z-index:60; min-width:330px;
  background:var(--paper,#faf9f7); border:1px solid rgba(28,25,23,.12); border-radius:14px;
  box-shadow:0 18px 40px rgba(28,25,23,.10); padding:8px; display:none; }
.ks-os.is-open .ks-os__panel{ display:block; }
.ks-os__panel a{ display:block; padding:9px 12px; border-radius:9px; text-decoration:none !important; color:var(--ink,#1c1917); }
.ks-os__panel a:hover{ background:rgba(234,88,12,.08); }
.ks-os__name{ font-weight:700; font-size:.94rem; }
.ks-os__note{ display:block; margin-top:2px; font-size:.79rem; color:var(--stone,#79716b); line-height:1.35; }
.ks-os__all{ margin-top:4px; border-top:1px solid rgba(28,25,23,.08); font-weight:700; color:var(--accent-dark,#ea580c) !important; }

/* «Программы» — тот же вид, что у остальных пунктов шапки */
.ks-nav__lp{ font-weight:600; font-size:15px; text-decoration:none; color:inherit; white-space:nowrap; transition:opacity .15s; }
.ks-nav__lp:hover{ opacity:.62; color:inherit; }
.ks-nav__lp:visited{ color:inherit; }
.ks-nav__lp.is-here{ color:#ea580c; }
@media (max-width:980px){ .ks-nav__lp{ display:none; } }
.ks-nav__lplink{ display:block; padding:12px 0; font-weight:600; font-size:17px; text-decoration:none; color:inherit; }

/* обёртка «Систем» не должна ломать выравнивание строки */
.ks-nav__left > .ks-os{ display:flex !important; align-items:center; align-self:center; margin-bottom:0 !important; }
@media (max-width:980px){ .ks-nav__left > .ks-os{ display:none !important; } }

/* ══════ ПЯТЬ СИСТЕМ НА ГЛАВНОЙ ══════
   Раньше на систему можно было попасть только через пункт «Системы» в шапке,
   и со стороны казалось, что есть одна Sales OS. Теперь они видны сразу. */
.ks-oscards{ display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); margin:20px 0 4px; }
.ks-oscard{ position:relative; padding:20px 18px 18px; border-radius:16px;
  background:#141210; color:#faf9f7; }
.ks-oscard__name{ font-size:1.05rem; font-weight:800; letter-spacing:-.01em; }
.ks-oscard__name a{ color:#faf9f7 !important; text-decoration:none !important; }
.ks-oscard__name a::after{ content:""; position:absolute; inset:0; border-radius:16px; }
.ks-oscard__desc{ margin-top:8px; font-size:.87rem; line-height:1.45; color:rgba(250,249,247,.72); }
.ks-oscard__meta{ margin-top:12px; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase;
  font-weight:700; color:var(--accent,#f97316); }
.ks-oscard{ transition:transform .18s ease, box-shadow .18s ease; }
.ks-oscard:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(20,18,16,.22); }
@media (max-width:640px){ .ks-oscards{ grid-template-columns:1fr 1fr; } }
@media (max-width:420px){ .ks-oscards{ grid-template-columns:1fr; } }

/* ══════ ПОДВАЛ: пять колонок ══════
   Добавилась колонка «Системы», разделы перечислены полностью. */
@media (min-width:1024px){
  .footer__inner, .ks-footer__inner{ grid-template-columns:1.25fr 1fr 1fr 1.05fr .85fr !important; gap:24px !important; }
}
@media (min-width:641px) and (max-width:1023px){
  .footer__inner, .ks-footer__inner{ grid-template-columns:1fr 1fr 1fr !important; }
}
.ks-footer__open{ display:inline-block; margin-left:10px; padding:3px 9px; border-radius:999px;
  background:rgba(234,88,12,.10); color:var(--accent-dark,#ea580c);
  font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; vertical-align:middle; }


/* Курсы: время модуля, блок самопроверки, глоссарий, оглавление */
.ks-mod__time{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#79716b;margin:-.35rem 0 .7rem;font-weight:600}
.ks-quiz{margin:1rem 0 .2rem;padding:.9rem 1.05rem;border:1px solid rgba(28,25,23,.10);border-radius:12px;background:rgba(249,115,22,.04)}
.ks-quiz__q{margin:0 0 .5rem;font-weight:650;line-height:1.45}
.ks-quiz__a{font-size:.95rem}
.ks-quiz__a summary{cursor:pointer;font-weight:600;color:#c2410c;list-style:none;display:inline-flex;align-items:center;gap:.4rem}
.ks-quiz__a summary::-webkit-details-marker{display:none}
.ks-quiz__a summary::before{content:'+';font-weight:700;width:1.05em;height:1.05em;display:inline-grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.85em;line-height:1}
.ks-quiz__a[open] summary::before{content:'\2212'}
.ks-quiz__a[open] summary{margin-bottom:.5rem}
.ks-quiz__a p{margin:0;color:#1c1917}
.ks-course__toc{margin:.6rem 0 1.6rem;padding-left:1.25rem;columns:2;column-gap:2rem}
.ks-course__toc li{margin:.3rem 0;break-inside:avoid}
@media(max-width:719px){.ks-course__toc{columns:1}}
.ks-gl{display:grid;gap:.55rem;margin:.8rem 0 1.6rem}
.ks-gl__item{padding:.8rem 1rem;border:1px solid rgba(28,25,23,.09);border-radius:12px;background:#fff}
.ks-gl__t{font-weight:700;margin-bottom:.25rem}
.ks-gl__d{font-size:.95rem;line-height:1.55;color:#57534d}


/* После добавления «Курсов» в шапке стало на пункт больше, и на ноутбучных
   шириных кнопка «Менторство» уезжала за край. Поджимаем поиск и расстояния
   в диапазоне до 1440 — пункты меню при этом остаются в одну строку. */
@media (min-width:1024px) and (max-width:1439px){
  .ks-nav__row{gap:10px !important}
  .ks-nav__find{width:104px !important;min-width:0 !important}
  .ks-nav__mentor{padding-left:14px !important;padding-right:14px !important}
}


/* «Курсы» — новый пункт шапки. Свои правила нужны, иначе ссылка берёт
   цвет по умолчанию и выглядит блёклой рядом с остальными. Повторяем
   поведение «Программ»: тот же вес, отступ, ховер и подсветка текущего раздела. */
.ks-nav__left > .ks-nav__crs{ margin-left:22px; }
.ks-nav__crs{ font-weight:600; font-size:15px; text-decoration:none; color:inherit; white-space:nowrap; transition:opacity .15s; }
.ks-nav__crs:hover{ opacity:.62; color:inherit; }
.ks-nav__crs:visited{ color:inherit; }
.ks-nav__crs.is-here{ color:#ea580c; }
@media (max-width:980px){ .ks-nav__crs{ display:none; } }
.ks-nav__crslink{ display:block; padding:12px 0; font-weight:600; font-size:17px; text-decoration:none; color:inherit; }
.ks-nav__crslink:hover, .ks-nav__crslink:visited{ color:inherit; }


/* Проверка знаний: вопрос, варианты, разбор, счётчик результата. */
.ks-q{margin:1rem 0;padding:1rem 1.1rem;border:1px solid rgba(28,25,23,.10);border-radius:14px;background:#fff}
.ks-q__t{margin:0 0 .75rem;font-weight:650;line-height:1.45}
.ks-q__o{display:block;width:100%;text-align:left;margin:.4rem 0;padding:.6rem .8rem;border:1px solid rgba(28,25,23,.14);border-radius:10px;background:#fbfaf9;font:inherit;font-size:.95rem;line-height:1.45;color:#1c1917;cursor:pointer;transition:border-color .15s,background .15s}
.ks-q__o:hover:not(:disabled){border-color:#f97316;background:#fff}
.ks-q__o:disabled{cursor:default}
.ks-q__o.is-right{border-color:#15803d;background:rgba(21,128,61,.07);font-weight:600}
.ks-q__o.is-wrong{border-color:#b91c1c;background:rgba(185,28,28,.06)}
.ks-q__e{margin-top:.7rem;padding-top:.7rem;border-top:1px dashed rgba(28,25,23,.16);font-size:.95rem;line-height:1.6;color:#57534d}
.ks-q__e[hidden]{display:none}
.ks-qsum{position:sticky;top:64px;z-index:5;margin:1.2rem 0 1.8rem;padding:.9rem 1.1rem;border:1px solid rgba(28,25,23,.12);border-radius:14px;background:#12110f;color:#fff}
.ks-qsum__row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:.92rem}
.ks-qsum__n{font-weight:700;font-size:1.05rem;color:#fb923c}
.ks-qsum__track{margin-top:.55rem;height:4px;border-radius:99px;background:rgba(255,255,255,.16);overflow:hidden}
.ks-qsum__fill{height:100%;width:0;background:#f97316;transition:width .3s}
.ks-qsum__verdict{margin-top:.55rem;font-size:.92rem;color:rgba(255,255,255,.8)}
.ks-qsum__verdict[hidden]{display:none}
@media(max-width:719px){.ks-qsum{position:static}}



/* Мини-приложение Telegram. Открывается внутри мессенджера, поэтому шапка
   и подвал сайта здесь лишние — их прячет класс is-tgapp, который ставит скрипт.
   Размеры рассчитаны на палец: минимальная высота плитки 76px, отступы крупные. */
.ks-app{--a:#f97316;--ink:var(--tg-text,#1c1917);--card:var(--tg-card,#fff);--line:rgba(28,25,23,.10);--mut:var(--tg-hint,#79716b);max-width:720px;margin:0 auto;padding:4px 0 32px;color:var(--ink)}
.ks-app__head{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.ks-app__mark{flex:none;width:42px;height:42px;border-radius:12px;background:#12110f url('https://kzsaleshub.com/wp-content/uploads/2026/08/kzsh-mark-dark-tight.png') center/62% no-repeat}
.ks-app__hgroup{display:flex;flex-direction:column;min-width:0}
.ks-app__name{font-weight:800;font-size:1.18rem;line-height:1.2;letter-spacing:-.01em}
.ks-app__sub{font-size:.82rem;line-height:1.35;color:var(--mut);margin-top:2px}
.ks-app__hero{display:block;position:relative;margin:0 0 14px;padding:18px 20px 20px;border-radius:18px;background:linear-gradient(135deg,#12110f 0%,#2a1a10 100%);color:#fff !important;text-decoration:none !important;border:0 !important}
.ks-app__hero-t{display:block;font-weight:750;font-size:1.14rem;line-height:1.25}
.ks-app__hero-d{display:block;margin-top:6px;font-size:.9rem;line-height:1.5;color:rgba(255,255,255,.72)}
.ks-app__hero-go{display:inline-block;margin-top:14px;padding:8px 16px;border-radius:99px;background:var(--a);color:#fff;font-weight:650;font-size:.9rem}
.ks-app__grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.ks-app__tile{display:block;min-height:76px;padding:14px 14px 15px;border:1px solid var(--line);border-radius:16px;background:var(--card);text-decoration:none !important;border-bottom-width:1px !important;color:var(--ink) !important;transition:border-color .15s,transform .12s}
.ks-app__tile:active{transform:scale(.98)}
.ks-app__tile:hover{border-color:var(--a)}
.ks-app__tile *{text-decoration:none !important;border-bottom:0 !important}
.ks-app__ico{display:block;width:22px;height:22px;margin-bottom:9px;color:var(--a)}
.ks-app__t{display:block;font-weight:700;font-size:.98rem;line-height:1.25;color:var(--ink) !important}
.ks-app__d{display:block;margin-top:3px;font-size:.82rem;line-height:1.35;color:var(--mut) !important;font-weight:400 !important}
.ks-app__foot{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:.9rem}
.ks-app__foot a{color:var(--mut) !important;text-decoration:none !important;border-bottom:1px solid var(--line) !important}
.ks-app__foot a:hover{color:var(--a) !important;border-bottom-color:var(--a) !important}
body.is-tgapp .ks-nav,body.is-tgapp .ks-footer,body.is-tgapp .footer,body.is-tgapp .ks-nav__mobile,body.is-tgapp .ks-crumbs,body.is-tgapp .ks-back{display:none !important}
body.is-tgapp .entry-title,body.is-tgapp h1.wp-block-post-title{display:none !important}
body.is-tgapp{background:var(--tg-bg,#f7f5f2) !important}
@media(max-width:400px){.ks-app__grid{grid-template-columns:1fr}}


/* Плавающая кнопка «назад» на мобильном. Появляется на внутренних страницах,
   прячется при прокрутке вниз и возвращается при движении вверх — чтобы
   не закрывать текст во время чтения. Внутри Telegram не нужна: там своя. */
.ks-backfab{position:fixed;left:14px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;width:46px;height:46px;display:grid;place-items:center;padding:0;border:1px solid rgba(28,25,23,.12);border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);color:#1c1917;box-shadow:0 6px 20px rgba(28,25,23,.16);cursor:pointer;transition:opacity .2s,transform .2s}
.ks-backfab svg{width:22px;height:22px}
.ks-backfab:active{transform:scale(.94)}
.ks-backfab.is-off{opacity:0;transform:translateY(10px);pointer-events:none}
body.is-tgapp .ks-backfab{display:none !important}
@media(min-width:981px){.ks-backfab{display:none !important}}


/* Программы: результаты обучения и практическое задание.
   Список ссылок сам по себе ничего не обещает читателю — эти два блока
   говорят, что он получит и что сделает своими руками. */
.ks-lp__out{margin:.7rem 0 1.8rem;padding-left:1.15rem}
.ks-lp__out li{margin:.45rem 0;line-height:1.6}
.ks-lp__out li::marker{color:#f97316}
.ks-lp__task{margin:1.8rem 0;padding:1.1rem 1.25rem;border:1px solid rgba(28,25,23,.12);border-left:3px solid #f97316;border-radius:14px;background:#fff}
.ks-lp__task-t{margin:0 0 .5rem;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:#c2410c}
.ks-lp__task p{margin:0;line-height:1.65}


/* Прогресс по программе: счётчик сверху и отметка у каждого шага. */
.ks-lpbar{position:sticky;top:64px;z-index:5;margin:0 0 18px;padding:.85rem 1.1rem;border:1px solid rgba(28,25,23,.12);border-radius:14px;background:#12110f;color:#fff}
.ks-lpbar__row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:.92rem}
.ks-lpbar__n{font-weight:700;font-size:1.05rem;color:#fb923c}
.ks-lpbar__track{margin-top:.55rem;height:4px;border-radius:99px;background:rgba(255,255,255,.16);overflow:hidden}
.ks-lpbar__fill{height:100%;width:0;background:#f97316;transition:width .3s}
.ks-lpbar__reset{margin-top:.6rem;padding:0;border:0;background:none;color:rgba(255,255,255,.55);font:inherit;font-size:.82rem;text-decoration:underline;cursor:pointer}
.ks-lpbar__reset:hover{color:#fff}
.ks-lpbar.is-full .ks-lpbar__n{color:#4ade80}
.ks-lp__mod{position:relative}
.ks-lp__check{position:absolute;right:14px;top:14px;width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid rgba(28,25,23,.18);border-radius:50%;background:#fff;color:transparent;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.ks-lp__check svg{width:16px;height:16px}
.ks-lp__check:hover{border-color:#f97316;color:rgba(249,115,22,.45)}
.ks-lp__mod.is-done .ks-lp__check{background:#15803d;border-color:#15803d;color:#fff}
.ks-lp__mod.is-done .ks-lp__body h3{color:#79716b}
.ks-lp__mod.is-done{opacity:.72}
.ks-lp__body{padding-right:52px}
@media(max-width:719px){.ks-lpbar{position:static}}


/* ===== ОТКРЫТЫЙ КОД ===== */
.ks-repo__meta{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ks-line,#e5e7eb);border-radius:14px;overflow:hidden;margin:28px 0 34px;background:var(--ks-surface,#fff)}
.ks-repo__row{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border-bottom:1px solid var(--ks-line,#e5e7eb)}
.ks-repo__row:nth-child(odd){border-right:1px solid var(--ks-line,#e5e7eb)}
.ks-repo__row:nth-last-child(-n+2){border-bottom:0}
.ks-repo__row span{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ks-muted,#6b7280)}
.ks-repo__row b{font-size:15px;font-weight:600;line-height:1.4;color:var(--ks-ink,#111827)}
.ks-repo__row a{color:var(--ks-accent,#2563eb);text-decoration:none;word-break:break-all}
.ks-repo__row a:hover{text-decoration:underline}
@media (max-width:640px){.ks-repo__meta{grid-template-columns:1fr}.ks-repo__row{border-right:0!important}.ks-repo__row:nth-last-child(-n+2){border-bottom:1px solid var(--ks-line,#e5e7eb)}.ks-repo__row:last-child{border-bottom:0}}

.ks-oss__bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}
.ks-oss__lbl{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ks-muted,#6b7280);margin-right:4px;flex:0 0 auto}
.ks-oss__chip{appearance:none;border:1px solid var(--ks-line,#e5e7eb);background:var(--ks-surface,#fff);color:var(--ks-ink,#111827);border-radius:999px;padding:6px 13px;font-size:13.5px;line-height:1.2;cursor:pointer;transition:.15s}
.ks-oss__chip:hover{border-color:var(--ks-accent,#2563eb)}
.ks-oss__chip.is-on{background:var(--ks-ink,#111827);border-color:var(--ks-ink,#111827);color:#fff}
.ks-oss__count{font-size:13.5px;color:var(--ks-muted,#6b7280);margin:14px 0 20px}
.ks-oss__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:16px;margin:0 0 40px}
.ks-oss__card{display:flex;flex-direction:column;gap:9px;padding:20px;border:1px solid var(--ks-line,#e5e7eb);border-radius:16px;background:var(--ks-surface,#fff);text-decoration:none;color:inherit;transition:.18s}
.ks-oss__card:hover{border-color:var(--ks-accent,#2563eb);transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,23,42,.07)}
.ks-oss__name{font-size:17.5px;font-weight:700;line-height:1.25;color:var(--ks-ink,#111827)}
.ks-oss__desc{font-size:14.5px;line-height:1.5;color:var(--ks-muted,#6b7280);flex:1}
.ks-oss__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.ks-oss__tag{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--ks-soft,#f3f4f6);color:var(--ks-muted,#4b5563);white-space:nowrap}
.ks-oss__tag--free{background:#e7f6ec;color:#166534}
.ks-oss__tag--copyleft{background:#fef4e2;color:#92400e}
.ks-oss__tag--closed{background:#fdeaea;color:#991b1b}
.ks-oss__empty{padding:34px;text-align:center;color:var(--ks-muted,#6b7280);border:1px dashed var(--ks-line,#e5e7eb);border-radius:16px}
.ks-oss__legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:26px 0 34px}
.ks-oss__leg{padding:14px 16px;border-radius:12px;font-size:14px;line-height:1.5}
.ks-oss__leg b{display:block;margin-bottom:3px}
.ks-oss__leg--free{background:#e7f6ec;color:#14532d}
.ks-oss__leg--copyleft{background:#fef4e2;color:#78350f}
.ks-oss__leg--closed{background:#fdeaea;color:#7f1d1d}


/* ===== Пункт «Открытый код» в навигации ===== */
.ks-nav__left > .ks-nav__oss{ margin-left:22px; }
.ks-nav__oss{ font-weight:600; font-size:15px; text-decoration:none; color:inherit; white-space:nowrap; transition:opacity .15s; }
.ks-nav__oss:hover{ opacity:.62; color:inherit; }
.ks-nav__oss:visited{ color:inherit; }
.ks-nav__oss.is-here{ color:#ea580c; }
@media (max-width:1180px){ .ks-nav__oss{ display:none; } }
.ks-nav__osslink{ display:block; padding:12px 0; font-weight:600; font-size:17px; text-decoration:none; color:inherit; }
/* при добавлении шестого справочника ряд становится плотнее — сжимаем отступы раньше */
@media (min-width:1024px) and (max-width:1439px){
  .ks-nav__left > .ks-nav__oss,
  .ks-nav__left > .ks-nav__crs{ margin-left:14px !important; }
  .ks-nav__oss, .ks-nav__crs, .ks-nav__lp, .ks-nav__lb, .ks-nav__rl, .ks-nav__gl, .ks-nav__fw{ font-size:14.5px !important; }
}


/* Шесть справочников в ряд — сжимаем шаг и кегль на всех широких экранах */
@media (min-width:1024px){
  .ks-nav__left > .ks-nav__oss,
  .ks-nav__left > .ks-nav__crs{ margin-left:13px !important; }
  .ks-nav__oss, .ks-nav__crs, .ks-nav__lp, .ks-nav__lb, .ks-nav__rl, .ks-nav__gl, .ks-nav__fw{ font-size:14px !important; letter-spacing:-.005em; }
  .ks-nav__left > .ks-nav__fw, .ks-nav__left > .ks-nav__gl, .ks-nav__left > .ks-nav__rl, .ks-nav__left > .ks-nav__lb, .ks-nav__left > .ks-nav__lp{ margin-left:13px !important; }
}


/* ===== Дальше по теме ===== */
.ks-next{margin:44px 0 0;padding-top:26px;border-top:1px solid var(--border,rgba(28,25,23,.10))}
.ks-next__t{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--stone,#79716b);margin-bottom:14px}
.ks-next__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.ks-next__i{display:block;padding:15px 17px;border:1px solid var(--border,rgba(28,25,23,.10));border-radius:13px;background:var(--card,#fff);text-decoration:none;color:var(--ink,#1c1917);font-weight:600;font-size:15.5px;line-height:1.35;transition:.18s}
.ks-next__i:hover{border-color:var(--accent,#f97316);transform:translateY(-2px);color:var(--ink,#1c1917)}

/* ===== Отклик читателя ===== */
.ks-fb{margin:30px 0 8px;padding:22px 24px;border:1px solid var(--border,rgba(28,25,23,.10));border-radius:16px;background:var(--accent-wash,#fff1e6)}
.ks-fb__q{font-weight:700;font-size:16.5px;color:var(--ink,#1c1917);margin-bottom:13px}
.ks-fb__btns{display:flex;gap:9px}
.ks-fb__b{appearance:none;border:1px solid var(--border,rgba(28,25,23,.14));background:#fff;color:var(--ink,#1c1917);border-radius:999px;padding:8px 26px;font-size:15px;font-weight:600;cursor:pointer;transition:.15s}
.ks-fb__b:hover{border-color:var(--accent,#f97316)}
.ks-fb__b.is-on{background:var(--ink,#1c1917);border-color:var(--ink,#1c1917);color:#fff}
.ks-fb__more{margin-top:15px}
.ks-fb__lbl{display:block;font-size:14.5px;color:var(--charcoal,#57534d);margin-bottom:8px}
.ks-fb__ta{display:block;width:100%;box-sizing:border-box;border:1px solid var(--border,rgba(28,25,23,.14));border-radius:11px;padding:11px 13px;font:inherit;font-size:15px;line-height:1.5;background:#fff;color:var(--ink,#1c1917);resize:vertical}
.ks-fb__ta:focus{outline:none;border-color:var(--accent,#f97316)}
.ks-fb__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ks-fb__send{margin-top:10px;appearance:none;border:0;background:var(--ink,#1c1917);color:#fff;border-radius:999px;padding:9px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:.15s}
.ks-fb__send:hover{background:var(--accent-dark,#ea580c)}
.ks-fb__done{font-size:15.5px;color:var(--charcoal,#57534d)}
@media (max-width:560px){.ks-fb{padding:18px}.ks-fb__b{flex:1;padding:9px 0}}


/* Признак свежести материала */
.ks-fresh{margin:26px 0 0;font-size:13.5px;color:var(--stone,#79716b);display:flex;align-items:center;gap:8px}
.ks-fresh:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent,#f97316);flex:0 0 auto}


/* ===== Блок автора ===== */
.ks-author{display:flex;gap:18px;align-items:flex-start;margin:34px 0 0;padding:22px 24px;border:1px solid var(--border,rgba(28,25,23,.10));border-radius:16px;background:var(--card,#fff)}
.ks-author__mark{flex:0 0 auto;width:52px;height:52px;border-radius:14px;background:var(--ink,#1c1917);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;letter-spacing:.02em}
.ks-author__body{min-width:0}
.ks-author__name{font-weight:700;font-size:17px;color:var(--ink,#1c1917);line-height:1.25}
.ks-author__role{font-size:13.5px;color:var(--accent-dark,#ea580c);margin-top:2px;font-weight:600}
.ks-author__bio{margin:9px 0 0;font-size:14.5px;line-height:1.55;color:var(--charcoal,#57534d)}
.ks-author__links{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px}
.ks-author__links a{font-size:14px;font-weight:600;color:var(--ink,#1c1917);text-decoration:none;border-bottom:1px solid var(--accent,#f97316);padding-bottom:1px}
.ks-author__links a:hover{color:var(--accent-dark,#ea580c)}
@media (max-width:560px){.ks-author{flex-direction:column;gap:12px;padding:18px}}


/* Пункт «Облако» */
.ks-nav__left > .ks-nav__cld{ margin-left:13px; }
.ks-nav__cld{ font-weight:600; font-size:15px; text-decoration:none; color:inherit; white-space:nowrap; transition:opacity .15s; }
.ks-nav__cld:hover{ opacity:.62; color:inherit; }
.ks-nav__cld:visited{ color:inherit; }
.ks-nav__cld.is-here{ color:#ea580c; }
@media (min-width:1024px){ .ks-nav__cld{ font-size:14px !important; letter-spacing:-.005em; } .ks-nav__left > .ks-nav__cld{ margin-left:13px !important; } }
@media (max-width:1180px){ .ks-nav__cld{ display:none; } }
.ks-nav__cldlink{ display:block; padding:12px 0; font-weight:600; font-size:17px; text-decoration:none; color:inherit; }


/* Переключатель языка материала */
.ks-lang{display:flex;align-items:center;gap:10px;margin:0 0 28px;padding:10px 14px;border:1px solid rgba(0,0,0,.09);border-radius:10px;background:rgba(0,0,0,.02);font-size:14px;width:fit-content}
.ks-lang__cur{display:inline-block;padding:2px 8px;border-radius:5px;background:#FF6A00;color:#fff;font-weight:700;font-size:12px;letter-spacing:.06em}
.ks-lang__alt{color:inherit;opacity:.72;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.22);padding-bottom:1px}
.ks-lang__alt:hover{opacity:1;border-bottom-color:#FF6A00;color:#FF6A00}
@media (max-width:600px){.ks-lang{width:100%;justify-content:flex-start}}


/* Подпись автора под статьёй */
.ks-by{display:flex;align-items:center;gap:12px;margin:44px 0 0;padding:16px 0 0;border-top:1px solid rgba(0,0,0,.09);font-size:14px;line-height:1.4}
.ks-by__mark{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:#101010;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.04em}
.ks-by__text{display:flex;flex-direction:column;gap:1px;min-width:0}
.ks-by__text b{font-weight:650}
.ks-by__role{opacity:.6;font-size:13px}
.ks-by__link{margin-left:auto;flex:0 0 auto;color:inherit;opacity:.65;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.2);padding-bottom:1px;font-size:13px}
.ks-by__link:hover{opacity:1;color:#FF6A00;border-bottom-color:#FF6A00}
@media (max-width:560px){.ks-by{flex-wrap:wrap}.ks-by__link{margin-left:48px;width:100%}}


/* Главная: блок «Облако» */
.ks-cloudhome__lead{margin:0 0 20px;max-width:640px;opacity:.72;font-size:15px;line-height:1.5}
.ks-cloudhome__lead a{color:inherit;border-bottom:1px solid rgba(0,0,0,.25);text-decoration:none}
.ks-cloudhome__lead a:hover{color:#FF6A00;border-bottom-color:#FF6A00}
.ks-cloudhome{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ks-cloudcard{display:flex;flex-direction:column;gap:8px;padding:18px 18px 20px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#101010;color:#fff;text-decoration:none;transition:transform .18s ease,border-color .18s ease}
.ks-cloudcard:hover{transform:translateY(-2px);border-color:#FF6A00}
.ks-cloudcard__t{font-weight:650;font-size:16px;line-height:1.3}
.ks-cloudcard__d{font-size:13px;line-height:1.45;opacity:.6}
@media (max-width:900px){.ks-cloudhome{grid-template-columns:1fr}}

.ks-series{margin:40px 0 0;padding:20px 22px;border:1px solid rgba(0,0,0,.09);border-radius:12px;background:rgba(255,106,0,.04)}
.ks-series__title{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#FF6A00}
.ks-series__list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.ks-series__list li{position:relative;padding-left:18px;font-size:15px;line-height:1.45}
.ks-series__list li:before{content:'';position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:#FF6A00}
.ks-series__list a{text-decoration:none;border-bottom:1px solid rgba(0,0,0,.18)}
.ks-series__list a:hover{border-bottom-color:#FF6A00}
.ks-series__all{margin:14px 0 0;font-size:14px}
@media(max-width:600px){.ks-series{padding:16px 16px}}

.ks-lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 8px}
.ks-lib-card{display:flex;flex-direction:column;gap:7px;padding:18px 18px 20px;border:1px solid rgba(0,0,0,.1);border-radius:12px;text-decoration:none;background:#fff;transition:border-color .18s,transform .18s,box-shadow .18s}
.ks-lib-card:hover{border-color:#FF6A00;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.07)}
.ks-lib-card__k{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#FF6A00}
.ks-lib-card__t{font-size:17px;font-weight:700;line-height:1.28;color:#101010}
.ks-lib-card__d{font-size:14px;line-height:1.5;color:rgba(0,0,0,.62)}
.ks-lib-card--all{background:#101010;border-color:#101010}
.ks-lib-card--all .ks-lib-card__t{color:#fff}
.ks-lib-card--all .ks-lib-card__d{color:rgba(255,255,255,.66)}
@media(max-width:900px){.ks-lib-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ks-lib-grid{grid-template-columns:1fr}}

.ks-shelves{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:1100px;margin:0 auto 34px;padding:0 24px}
.ks-shelf{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border:1px solid rgba(0,0,0,.1);border-radius:10px;text-decoration:none;background:#fff;transition:border-color .18s,background .18s}
.ks-shelf b{font-size:15px;font-weight:700;color:#101010;line-height:1.25}
.ks-shelf em{font-style:normal;font-size:13px;line-height:1.4;color:rgba(0,0,0,.55)}
.ks-shelf:hover{border-color:#FF6A00}
.ks-shelf--cur{background:#101010;border-color:#101010;cursor:default}
.ks-shelf--cur b{color:#fff}
.ks-shelf--cur em{color:rgba(255,255,255,.62)}
@media(max-width:820px){.ks-shelves{grid-template-columns:1fr;gap:8px;margin-bottom:26px}}

.ks-fwbox{margin:40px 0 0;padding:20px 22px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fafafa}
.ks-fwbox__title{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#101010}
.ks-fwbox__lead{margin:0 0 14px;font-size:14px;line-height:1.5;color:rgba(0,0,0,.6)}
.ks-fwbox__list{margin:0;padding:0;list-style:none;display:grid;gap:11px}
.ks-fwbox__list li{position:relative;padding-left:20px;font-size:15px;line-height:1.4}
.ks-fwbox__list li:before{content:'';position:absolute;left:0;top:.52em;width:9px;height:9px;border:2px solid #FF6A00;border-radius:2px}
.ks-fwbox__list a{font-weight:600;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.2)}
.ks-fwbox__list a:hover{border-bottom-color:#FF6A00}
.ks-fwbox__list span{display:block;margin-top:2px;font-size:13.5px;line-height:1.45;color:rgba(0,0,0,.58)}
@media(max-width:600px){.ks-fwbox{padding:16px}}

/* ── Шапка: группы Справочник / Библиотека / Обучение ── */
.ks-dd{position:relative;display:inline-flex;align-items:center}
.ks-dd__btn{font-size:15px;font-weight:600;color:rgb(87,83,77);text-decoration:none;display:inline-flex;align-items:center;gap:5px;padding:8px 0}
.ks-dd__btn::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55}
.ks-dd__btn:hover,.ks-dd__btn.is-current{color:#101010}
.ks-dd__btn.is-current{box-shadow:inset 0 -2px 0 #FF6A00}
.ks-dd__panel{position:absolute;top:calc(100% + 6px);left:-14px;min-width:300px;padding:8px;background:rgb(250,249,247);border:1px solid rgba(28,25,23,.12);border-radius:14px;box-shadow:rgba(28,25,23,.1) 0 18px 40px;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s,visibility .15s;z-index:60}
.ks-dd::before{content:'';position:absolute;left:0;right:0;top:100%;height:10px}
.ks-dd:hover .ks-dd__panel,.ks-dd:focus-within .ks-dd__panel{opacity:1;visibility:visible;transform:none}
.ks-dd__item{display:block;padding:10px 12px;border-radius:9px;text-decoration:none}
.ks-dd__item b{display:block;font-size:14.5px;font-weight:600;color:#101010;line-height:1.3}
.ks-dd__item span{display:block;margin-top:2px;font-size:13px;line-height:1.4;color:rgba(28,25,23,.58)}
.ks-dd__item:hover{background:rgba(255,106,0,.07)}
.ks-dd__item.is-current b{color:#FF6A00}
.ks-mhead{margin:18px 0 6px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#FF6A00}
.ks-mlink{display:block;padding:8px 0;font-weight:600;color:inherit;text-decoration:none}
@media (max-width:860px){.ks-dd{display:none}}
@media (max-width:1180px) and (min-width:861px){.ks-nav__left .ks-dd,.ks-nav__left .ks-os,.ks-nav__left .ks-nav__bloglink{margin-left:14px}.ks-dd__btn{font-size:14px}}

.ks-nav__left .ks-dd{margin-left:22px}

/* ks-footer 6 колонок: бренд · Темы · Системы · Справочник · Библиотека · Контакты */
@media (min-width:1100px){
  .footer__inner, .ks-footer__inner{ grid-template-columns:1.4fr 1fr .9fr 1fr .9fr .9fr !important; gap:22px !important; }
}
.ks-footer__col a, .footer__col a{ overflow-wrap:anywhere; }

/* ks-footer mobile 2col: бренд во всю ширину, колонки ссылок парами */
@media (max-width:760px){
  .footer__inner, .ks-footer__inner{ grid-template-columns:1fr 1fr !important; gap:26px 18px !important; }
  .ks-footer__brand, .footer__inner > div:first-child{ grid-column:1 / -1; }
}

/* ks-hx главная */
.ks-hx__lead{max-width:640px;color:#57534e;font-size:15.5px;line-height:1.55;margin:-6px 0 20px}
.ks-hx-grid{display:grid;gap:14px}
.ks-hx-grid--6{grid-template-columns:repeat(3,1fr)}
.ks-hx-grid--4{grid-template-columns:repeat(4,1fr)}
.ks-hx-card{display:flex;flex-direction:column;gap:6px;padding:20px 20px 18px;background:#fff;border:1px solid #ece8e3;border-radius:16px;text-decoration:none!important;color:#1c1917;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;position:relative}
.ks-hx-card:hover{transform:translateY(-2px);border-color:#f7c8a4;box-shadow:0 10px 26px -14px rgba(234,88,12,.35)}
.ks-hx-card__ico{width:38px;height:38px;border-radius:10px;background:#fff4ec;color:#ea580c;display:inline-flex;align-items:center;justify-content:center;margin-bottom:6px}
.ks-hx-card__t{font-weight:650;font-size:16px}
.ks-hx-card__d{color:#57534e;font-size:13.5px;line-height:1.45}
.ks-hx-card__m{margin-top:auto;padding-top:8px;font:500 11.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#a8a29e;text-transform:uppercase;letter-spacing:.04em}
.ks-hx-card::after{content:"→";position:absolute;right:18px;top:20px;color:#d6d3d1;transition:color .18s,transform .18s}
.ks-hx-card:hover::after{color:#ea580c;transform:translateX(3px)}
.ks-hx-tech__grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px}
.ks-hx-panel{display:flex;flex-direction:column;color:#1c1917;background:#fff;border:1px solid #ece8e3;border-radius:20px;padding:24px}
.ks-hx-panel--dark{background:radial-gradient(120% 90% at 100% 0%,rgba(249,115,22,.28),rgba(249,115,22,0) 55%),#141210;border-color:#141210;color:#faf9f7}
.ks-hx-panel__top{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.ks-hx-panel__ico{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:#fff4ec;color:#ea580c;display:inline-flex;align-items:center;justify-content:center}
.ks-hx-panel--dark .ks-hx-panel__ico{background:rgba(249,115,22,.16);color:#fb923c}
.ks-hx-panel__eb{font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:#fb923c;margin-bottom:6px}
.ks-hx-panel__t{color:inherit;font-weight:700;font-size:20px;letter-spacing:-.01em;margin-bottom:6px}
.ks-hx-panel__d{font-size:14.5px;line-height:1.55;color:#57534e}
.ks-hx-panel--dark .ks-hx-panel__d{color:#d6d3d1}
.ks-hx-li{list-style:none;margin:4px 0 0;padding:0}
.ks-hx-li li{border-top:1px solid #f0ece7}
.ks-hx-panel--dark .ks-hx-li li{border-top-color:rgba(255,255,255,.09)}
.ks-hx-li a{display:flex;justify-content:space-between;gap:14px;padding:11px 2px;text-decoration:none!important;color:inherit}
.ks-hx-li__t{color:inherit;font-size:14.5px;line-height:1.4;font-weight:520}
.ks-hx-li a:hover .ks-hx-li__t{color:#ea580c}
.ks-hx-panel--dark .ks-hx-li a:hover .ks-hx-li__t{color:#fdba74}
.ks-hx-li__d{flex:0 0 auto;font:500 11.5px/1.9 ui-monospace,SFMono-Regular,Menlo,monospace;color:#a8a29e;white-space:nowrap}
.ks-hx-panel__foot{margin-top:auto;padding-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.ks-hx-btn{display:inline-flex;align-items:center;padding:10px 16px;border-radius:99px;background:#1c1917;color:#fff!important;font-size:14px;font-weight:600;text-decoration:none!important;transition:background .18s}
.ks-hx-btn:hover{background:#ea580c}
.ks-hx-btn--light{background:#f97316}
.ks-hx-btn--light:hover{background:#fb923c}
.ks-hx-link{color:#fdba74!important;font-size:14px;font-weight:600;text-decoration:none!important;border-bottom:1px solid rgba(253,186,116,.4)}
.ks-hx-link:hover{border-bottom-color:#fdba74}
@media (max-width:1000px){.ks-hx-grid--4{grid-template-columns:repeat(2,1fr)}.ks-hx-tech__grid{grid-template-columns:1fr}}
@media (max-width:760px){.ks-hx-grid--6{grid-template-columns:repeat(2,1fr)}.ks-hx-card{padding:16px}.ks-hx-card__d{font-size:13px}.ks-hx-panel{padding:20px}.ks-hx-li__d{display:none}}
@media (max-width:420px){.ks-hx-grid--6,.ks-hx-grid--4{grid-template-columns:1fr 1fr;gap:10px}.ks-hx-card::after{display:none}}

/* лента на главной: форматы не показываем как фильтры тем */
.filter-chip[data-filter="knigi"],.filter-chip[data-filter="biblioteka"],.filter-chip[data-filter="cloud-en"],.filter-chip[data-filter="tech-en"]{display:none!important}

/* ks-oscards 6 */
@media (min-width:900px){.ks-oscards{grid-template-columns:repeat(3,1fr)!important}}

/* fwset founder */
.ks-fwsets__grid > .ks-fwset:first-child{grid-column:1/-1;background:#141210;color:#faf9f7;border-color:#141210}
.ks-fwsets__grid > .ks-fwset:first-child .ks-fwset__p{color:#d6d3d1}
.ks-fwsets__grid > .ks-fwset:first-child .ks-fwset__list{display:flex;flex-wrap:wrap;gap:8px 18px}
.ks-fwsets__grid > .ks-fwset:first-child a{color:#fdba74!important}

/* ks-sc stage check */
.ks-sc{max-width:820px!important;margin:28px 0 36px!important;padding:26px;border-radius:20px;background:#fff;border:1px solid #ece8e3;color:#1c1917}
.ks-sc__kicker{font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:#ea580c;margin-bottom:8px}
.ks-sc__title{font-size:22px;font-weight:700;letter-spacing:-.01em;margin-bottom:6px}
.ks-sc__lead{color:#57534e;font-size:14.5px;line-height:1.55;margin:0 0 16px}
.ks-sc__list{list-style:none;margin:0;padding:0;counter-reset:q}
.ks-sc__q{counter-increment:q;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #f0ece7}
.ks-sc__t{font-size:14.5px;line-height:1.45}
.ks-sc__t::before{content:counter(q,decimal-leading-zero);font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#a8a29e;margin-right:10px}
.ks-sc__opts{flex:0 0 auto;display:inline-flex;gap:6px}
.ks-sc__opts button{border:1px solid #e7e2dc;background:#faf9f7;color:#44403c;border-radius:99px;padding:6px 12px;font-size:13px;cursor:pointer;transition:all .15s}
.ks-sc__opts button:hover{border-color:#f7c8a4}
.ks-sc__opts button.is-on{background:#1c1917;border-color:#1c1917;color:#fff}
.ks-sc__q.is-done .ks-sc__t{color:#78716c}
.ks-sc__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #f0ece7}
.ks-sc__prog{font:500 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#a8a29e}
.ks-sc__go{border:0;border-radius:99px;background:#f97316;color:#fff;font-weight:600;font-size:14px;padding:11px 18px;cursor:pointer}
.ks-sc__go:disabled{background:#e7e2dc;color:#a8a29e;cursor:not-allowed}
.ks-sc__res{margin-top:20px;display:grid;gap:14px}
.ks-sc__stage{background:radial-gradient(120% 90% at 100% 0%,rgba(249,115,22,.28),rgba(249,115,22,0) 55%),#141210;color:#faf9f7;border-radius:16px;padding:22px}
.ks-sc__num{font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:#fb923c}
.ks-sc__sn{font-size:24px;font-weight:700;margin:8px 0 6px}
.ks-sc__stage p{color:#d6d3d1;font-size:14.5px;line-height:1.55;margin:0 0 14px}
.ks-sc__meter{height:6px;border-radius:9px;background:rgba(255,255,255,.12);overflow:hidden}
.ks-sc__meter i{display:block;height:100%;background:#f97316;border-radius:9px}
.ks-sc__pct{display:block;margin-top:8px;font-size:12.5px;color:#a8a29e}
.ks-sc__next,.ks-sc__warn{border:1px solid #ece8e3;border-radius:16px;padding:18px 20px;background:#faf9f7}
.ks-sc__warn{background:#fff7ed;border-color:#fed7aa}
.ks-sc__nh{font-weight:650;margin-bottom:8px}
.ks-sc__next ol,.ks-sc__warn ul{margin:0;padding-left:20px;line-height:1.7;font-size:14.5px}
.ks-sc__foot{font-size:13.5px;color:#78716c;margin:0}
@media (max-width:640px){.ks-sc{padding:18px}.ks-sc__q{flex-direction:column;align-items:flex-start;gap:8px}.ks-sc__bar{flex-direction:column;align-items:stretch}.ks-sc__go{width:100%}}

.ks-tools2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ks-tools2 .ks-tool-card{margin:0!important;height:100%}
@media (max-width:760px){.ks-tools2{grid-template-columns:1fr}}

/* nav systems chevron */
.ks-nav .ks-os > .ks-nav__os{display:flex;align-items:center;gap:6px;padding:8px 0}
.ks-nav .ks-os > .ks-nav__os::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55}

/* dd ref wide */
.ks-dd--ref .ks-dd__panel{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(6,auto);grid-auto-flow:column;column-gap:6px;width:620px;max-width:calc(100vw - 40px)}

/* knowledge layer */
.kl-sub{font-size:18px;color:#57534e;margin:4px 0 18px}
.kl-counts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0 0 26px;max-width:1120px}
.kl-count{background:#fff;border:1px solid #ece8e3;border-radius:14px;padding:14px 16px}
.kl-count b{display:block;font-size:24px;font-weight:700;letter-spacing:-.02em;color:#1c1917}
.kl-count span{font-size:13px;color:#78716c}
.kl-demo{max-width:860px;margin:10px 0 34px;padding:22px 24px;border-radius:20px;background:radial-gradient(120% 90% at 100% 0%,rgba(249,115,22,.22),rgba(249,115,22,0) 55%),#141210;color:#faf9f7}
.kl-demo__h{font-size:20px;font-weight:700;margin-bottom:4px}
.kl-demo__p{color:#d6d3d1;font-size:14.5px;margin:0 0 14px}
.kl-demo__f{display:flex;gap:8px}
.kl-demo__f input{flex:1;min-width:0;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;border-radius:99px;padding:11px 16px;font-size:15px}
.kl-demo__f input::placeholder{color:#a8a29e}
.kl-demo__ex{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.kl-demo__ex button{border:1px solid rgba(255,255,255,.16);background:transparent;color:#e7e5e4;border-radius:99px;padding:5px 11px;font-size:12.5px;cursor:pointer}
.kl-demo__ex button:hover{border-color:#fb923c;color:#fdba74}
.kl-demo__res{margin-top:14px;display:grid;gap:8px}
.kl-hit{display:block;background:#fff;color:#1c1917!important;border-radius:12px;padding:12px 14px;text-decoration:none!important}
.kl-hit:hover{box-shadow:0 0 0 2px #f97316}
.kl-hit__m{display:block;font:500 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:#ea580c;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.kl-hit b{display:block;font-size:15px;margin-bottom:3px}
.kl-hit__e{display:block;font-size:13.5px;color:#57534e;line-height:1.45}
.kl-demo__wait,.kl-demo__api{color:#d6d3d1;font-size:13.5px;margin:4px 0 0}
.kl-demo__api a{color:#fdba74!important}
.kl-connect{max-width:860px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;border:1px solid #ece8e3;background:#fff;border-radius:16px;padding:16px 18px;margin:12px 0 22px}
.kl-connect__url span{display:block;font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.06em;color:#a8a29e;margin-bottom:6px}
.kl-connect__url code{font-size:16px;font-weight:600;color:#1c1917;background:none;padding:0}
.kl-connect__btns{display:flex;gap:8px;flex-wrap:wrap}
.kl-btn{display:inline-flex;align-items:center;border:0;border-radius:99px;background:#f97316;color:#fff!important;font-weight:600;font-size:14px;padding:10px 16px;cursor:pointer;text-decoration:none!important}
.kl-btn:hover{background:#ea580c}
.kl-btn--ghost{background:#1c1917}
.kl-btn--ghost:hover{background:#44403c}
.kl-btn.is-done{background:#16a34a}
@media (max-width:640px){.kl-demo{padding:18px}.kl-demo__f{flex-direction:column}.kl-connect{flex-direction:column;align-items:flex-start}}

/* knowledge align */
body.page-id-2747 .entry-content > *{margin-left:0!important;margin-right:auto!important}
body.page-id-2747 .entry-content > h3{max-width:760px}
body.page-id-2747 .entry-content pre{max-width:760px;background:#141210;color:#f5f5f4;border-radius:14px;padding:16px 18px;overflow:auto;font-size:13.5px;line-height:1.55}
body.page-id-2747 .entry-content pre code{background:none;color:inherit;padding:0}
body.page-id-2747 .entry-content p code, body.page-id-2747 .entry-content td code{background:#f0ece7;border-radius:6px;padding:1px 6px;font-size:.92em}

/* mega themes unify: «Темы» выглядит как остальные пункты шапки */
#megaTrigger > button{font-size:15px!important;font-weight:600!important;color:rgb(87,83,77)!important;padding:8px 0!important;background:none!important;border:0!important;box-shadow:none!important;outline:0;display:inline-flex;align-items:center;gap:5px}
#megaTrigger > button::after{content:''!important;width:6px!important;height:6px!important;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55;background:none!important;font-size:0}
#megaTrigger.is-open > button, #megaTrigger:hover > button{color:#1c1917!important}
#megaTrigger > button:focus-visible{outline:2px solid #f97316;outline-offset:4px;border-radius:6px}
.ks-mega__desc{margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid #f0ece7;color:#78716c;font-size:13.5px;line-height:1.45}
.ks-mega__sub a{display:flex!important;justify-content:space-between;align-items:center;gap:10px}
.ks-mega__n{font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#a8a29e;background:#f5f3f0;border-radius:99px;padding:3px 7px}
.ks-mega__sub a.all-link{justify-content:flex-start}

/* mega trigger gap */
@media (min-width:901px){.ks-nav__left > #megaTrigger{margin-left:22px}}
