/* Сервисы-помощники kuzin-partners.ru — v3, построено на дизайн-системе темы
   (переменные :root темы, Museo Sans Cyrl, белые карточки r20 на сером фоне, кнопки ui-button). */

/* ===== База сервиса ===== */
.kps {
  --k-gold: var(--gold, #C8A44E); --k-gold-h: var(--gold-hover, #AA8630); --k-gold-bg: var(--bg-gold, #F3ECDA);
  --k-gray: var(--gray, #F1EFEA); --k-gray-d: var(--gray-dark, #CFCDC8); --k-text: var(--text-main, #2A2A2A);
  --k-muted: var(--color-text, #B1AFAA); --k-line: var(--devider, #E3E1DC); --k-r: var(--border-radius-20, 20px);
  --k-r-s: var(--border-radius-input, 10px); --k-focus: 0 0 0 2px #fff, 0 0 0 4px var(--k-gold);
  container-type: inline-size; container-name: kps;
  font-family: inherit; color: var(--k-text); width: 100%; max-width: 100%; box-sizing: border-box; line-height: 1.4;
}
.kps *, .kps *::before, .kps *::after { box-sizing: border-box; }
.kps :where(p, h2, h3, ul, dl, dd, fieldset) { margin: 0; }
.kps-card { background: var(--white, #fff); border-radius: var(--k-r); padding: 20px; }
.kps-eyebrow { font-size: 14px; font-weight: 300; color: var(--k-muted); margin-bottom: 14px; }
.kps-progress { height: 4px; border-radius: 4px; background: var(--k-gray); overflow: hidden; }
.kps-progress__bar { display: block; height: 100%; width: 6%; background: var(--k-gold); border-radius: inherit; transition: width .35s ease; }
.kps-progress__label { font-size: 14px; font-weight: 500; color: var(--k-text); margin-top: 10px; }
.kps-body { margin-top: 20px; }
.kps-anim { animation: kps-in .3s ease both; }
@keyframes kps-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Вопрос */
.kps-q { font-size: var(--font-size-h3, 20px); line-height: 1.2; font-weight: 500; outline: none; overflow-wrap: anywhere; }
.kps-q:focus-visible, .kps-rtitle:focus-visible { box-shadow: var(--k-focus); border-radius: 4px; }
.kps-qsub { font-size: 14px; font-weight: 300; color: var(--k-text); margin-top: 8px !important; }
.kps-options { display: grid; gap: 8px; margin-top: 18px; }
.kps-opt { position: relative; display: flex; align-items: center; gap: 14px; min-height: var(--height-input, 51px); padding: 12px 18px; border-radius: var(--k-r-s); background: var(--k-gray); cursor: pointer; font-size: 16px; font-weight: 300; line-height: 1.3; user-select: none; -webkit-tap-highlight-color: transparent; transition: background-color .15s; overflow-wrap: anywhere; }
.kps-opt:hover { background: var(--k-gray-d); }
.kps-opt:focus { outline: none; }
.kps-opt:focus-visible { box-shadow: var(--k-focus); }
.kps-opt[aria-checked="true"] { background: var(--k-gold-bg); font-weight: 500; }
.kps-opt__mark { flex: 0 0 20px; width: 20px; height: 20px; border-radius: 50%; background: var(--white, #fff); box-shadow: inset 0 0 0 1px var(--k-gray-d); transition: box-shadow .15s; }
.kps-opt[aria-checked="true"] .kps-opt__mark { box-shadow: inset 0 0 0 6px var(--k-gold); }
.kps-hint { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px !important; font-size: 14px; font-weight: 300; line-height: 1.4; }
.kps-hint__ico { flex: 0 0 20px; height: 20px; border-radius: 50%; background: var(--k-gold-bg); color: var(--k-gold-h); font-weight: 700; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
.kps a { color: var(--k-gold-h); text-underline-offset: 3px; }
.kps a:hover { color: var(--k-gold-focus, #8C6812); }
.kps a:focus-visible { outline: none; box-shadow: var(--k-focus); border-radius: 4px; }

/* Кнопки — как ui-button темы */
.kps-nav { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-top: 22px; }
.kps-nav__group { display: flex; flex-wrap: wrap; gap: 10px; }
.kps .kps-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: var(--height-button-lg, 48px); max-width: none; padding: 0 18px; border: 0; border-radius: var(--k-r-s); font: inherit; font-size: var(--font-size-body-16, 14px); font-weight: 700; line-height: 1; cursor: pointer; transition: background-color .2s, color .2s; }
.kps .kps-btn:focus { outline: none; }
.kps .kps-btn:focus-visible { box-shadow: var(--k-focus); }
.kps .kps-btn--primary { background: var(--k-gold); color: var(--white, #fff); }
.kps .kps-btn--primary:hover { background: var(--k-gold-h); }
.kps .kps-btn--primary:disabled { background: var(--gold-disabled, #E3E1DC); color: var(--gold-text-disabled, #7A7A7A); cursor: not-allowed; }
.kps .kps-btn--ghost { background: var(--k-gray); color: var(--k-text); }
.kps .kps-btn--ghost:hover { background: var(--k-gray-d); }
.kps .kps-btn--primary::after { content: ""; width: 7px; height: 7px; border: solid currentColor; border-width: 1.6px 1.6px 0 0; transform: rotate(45deg); margin-left: 2px; }

/* Результат */
.kps-tag { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 6px; background: var(--k-gold-bg); color: var(--k-gold-h); font-size: 13px; font-weight: 500; margin-bottom: 12px !important; }
.kps-result--D .kps-tag, .kpa-res--ok .kps-tag { background: var(--green, #DFEDE7); color: var(--green-text, #4A8C6F); }
.kpa-res--high .kps-tag { background: var(--red-light, #FFE8E9); color: var(--red, #D62D30); }
.kps-rtitle { font-size: var(--font-size-h2, 24px); line-height: 1.2; font-weight: 500; outline: none; }
.kps-why { margin-top: 14px; display: grid; gap: 10px; font-size: 16px; font-weight: 300; line-height: 1.45; }
.kps-prelim { margin-top: 16px; padding: 16px 18px; border-radius: var(--k-r-s); background: var(--k-gray); display: grid; gap: 8px; font-size: 15px; font-weight: 300; }
.kps-prelim__cap { font-size: 14px; color: var(--k-text); font-weight: 300; }
.kps-prelim__title { font-weight: 500; font-size: 17px; }
.kps-extra { list-style: none; padding: 0; margin-top: 16px !important; display: grid; gap: 8px; }
.kps-extra a { font-weight: 500; text-decoration: none; }
.kps-extra a:hover { text-decoration: underline; }
.kps-next__title { font-size: var(--font-size-h3, 20px); font-weight: 500; margin-top: 28px !important; }
.kps-next { display: grid; gap: 8px; margin-top: 14px; grid-template-columns: 1fr; }
.kps-tile { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 16px 44px 16px 18px; border-radius: var(--k-r-s); background: var(--k-gray); color: var(--k-text) !important; text-decoration: none; transition: background-color .2s; }
.kps-tile:hover { background: var(--k-gray-d); }
.kps-tile__k { font-size: 14px; font-weight: 300; color: var(--k-text); }
.kps-tile__t { font-size: 16px; font-weight: 500; line-height: 1.3; }
.kps-tile__go { position: absolute; right: 18px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border: solid currentColor; border-width: 1.6px 1.6px 0 0; transform: rotate(45deg); font-size: 0; color: var(--k-text); }
.kps-tile--accent { background: var(--k-gold); color: var(--white, #fff) !important; }
.kps-tile--accent .kps-tile__k, .kps-tile--accent .kps-tile__go { color: var(--white, #fff); }
.kps-tile--accent:hover { background: var(--k-gold-h); }
.kps-nav--result { border-top: 1px solid var(--k-line); padding-top: 20px; margin-top: 24px; }
.kps-note { margin-top: 14px !important; font-size: 13px; font-weight: 300; color: var(--gold-text-disabled, #7A7A7A); }
.kps-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

@container kps (max-width: 419px) {
  .kps-nav--result .kps-btn, .kps-nav--result .kps-nav__group { width: 100%; }
  .kps-nav--result .kps-nav__group .kps-btn { flex: 1 1 0; padding: 0 10px; }
}
@container kps (min-width: 560px) {
  .kps-card { padding: 32px; }
  .kps-q { font-size: var(--font-size-h2, 24px); }
  .kps-rtitle { font-size: 28px; }
  .kps-options { grid-template-columns: 1fr 1fr; }
  .kps-why { font-size: 17px; max-width: 70ch; }
}
@container kps (min-width: 760px) {
  .kps-card { padding: 40px; }
  .kps-next { grid-template-columns: repeat(3, 1fr); }
  .kps-tile { padding: 18px 18px 44px; min-height: 128px; }
  .kps-tile__go { top: auto; bottom: 20px; margin-top: 0; }
}
.kps--panel .kps-card { padding: 20px; }
.kps--panel .kps-options { grid-template-columns: 1fr; }
.kps--panel .kps-next { grid-template-columns: 1fr; }
.kps--panel .kps-tile { min-height: 0; padding: 16px 44px 16px 18px; }
.kps--panel .kps-tile__go { top: 50%; bottom: auto; margin-top: -4px; }

/* ===== Калькулятор ===== */
.kpc-field { margin-bottom: 24px; }
.kpc-label { display: block; font-size: 16px; font-weight: 500; margin-bottom: 10px; padding: 0; }
.kpc-val { display: block; font-size: var(--font-size-hyper, 32px); line-height: 1.1; font-weight: 500; margin-bottom: 10px; color: var(--k-text); }
.kps .kpc-range { -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 28px; max-width: none; padding: 0; border-radius: 0; background: transparent; margin: 0; cursor: pointer; }
.kpc-range::-webkit-slider-runnable-track { height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--k-gold) var(--kpc-p, 50%), var(--k-gray-d) var(--kpc-p, 50%)); }
.kpc-range::-moz-range-track { height: 4px; border-radius: 4px; background: var(--k-gray-d); }
.kpc-range::-moz-range-progress { height: 4px; border-radius: 4px; background: var(--k-gold); }
.kpc-range::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; margin-top: -9px; border-radius: 50%; background: var(--white, #fff); border: 2px solid var(--k-gold); }
.kpc-range::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--white, #fff); border: 2px solid var(--k-gold); }
.kpc-range:focus { outline: none; }
.kpc-range:focus-visible::-webkit-slider-thumb { box-shadow: var(--k-focus); }
.kpc-money { display: flex; align-items: center; gap: 12px; }
.kps .kpc-input { width: 100%; max-width: 220px; height: var(--height-input, 51px); padding: 0 18px; border: 0; border-radius: var(--k-r-s); background: var(--k-gray); font: inherit; font-size: 20px; font-weight: 500; color: var(--k-text); }
.kps .kpc-input:focus { outline: none; box-shadow: inset 0 0 0 1px var(--k-gold); }
.kpc-money span { font-weight: 300; color: var(--k-text); }
.kpc-help { font-size: 13px; font-weight: 300; color: var(--gold-text-disabled, #7A7A7A); margin-top: 8px !important; }
.kpc-checks { border: 0; padding: 0; margin: 0 0 8px; display: grid; gap: 8px; min-width: 0; }
.kpc-check { display: flex; gap: 14px; align-items: center; min-height: var(--height-input, 51px); padding: 12px 18px; border-radius: var(--k-r-s); background: var(--k-gray); cursor: pointer; font-size: 15px; font-weight: 300; line-height: 1.35; transition: background-color .15s; }
.kpc-check:hover { background: var(--k-gray-d); }
.kpc-check:has(input:checked) { background: var(--k-gold-bg); font-weight: 500; }
.kpc-res { margin-top: 24px; }
.kpc-table { margin: 0; border-radius: var(--k-r-s); overflow: hidden; background: var(--k-gray); }
.kpc-table > div { display: flex; justify-content: space-between; gap: 12px; padding: 14px 18px; border-top: 1px solid var(--white, #fff); align-items: baseline; }
.kpc-table > div:first-child { border-top: 0; }
.kpc-table dt { font-size: 15px; font-weight: 300; }
.kpc-sub { display: block; margin-top: 4px; font-size: 13px; font-weight: 300; color: var(--gold-text-disabled, #7A7A7A); }
.kpc-table dd { font-weight: 500; font-size: 17px; text-align: right; white-space: nowrap; }
.kpc-diff.is-plus { background: var(--green, #DFEDE7); }
.kpc-diff.is-plus dd { color: var(--green-text, #4A8C6F); }
.kpc-badge { display: inline-flex; align-items: center; height: 22px; font-size: 12px; padding: 0 8px; border-radius: 6px; background: var(--k-gold-bg); color: var(--k-gold-h); font-weight: 500; margin-left: 6px; vertical-align: 1px; }
.kpc-why { font-size: 14px; font-weight: 300; margin-top: 10px !important; }
.kpc-plus { margin-top: 18px; padding: 18px; border-radius: var(--k-r-s); background: var(--k-gray); font-size: 15px; font-weight: 300; line-height: 1.45; }
.kpc-plus__t { font-weight: 500; font-size: 16px; margin-bottom: 8px !important; }
.kpc-plus ul { padding-left: 18px; display: grid; gap: 6px; }
.kpc-note { margin-top: 16px; padding: 16px 18px; border-radius: var(--k-r-s); background: var(--green, #DFEDE7); font-size: 15px; font-weight: 300; }
.kpc-note--info { background: var(--k-gray); margin: 0 0 16px; }
.kpc-note__t { font-weight: 500; margin-bottom: 4px !important; }
.kpc-expert { margin-top: 18px !important; font-weight: 500; font-size: 16px; line-height: 1.4; }

/* ===== Антиобман ===== */
.kpa-list { margin-top: 18px; }
.kpa-cards { list-style: none; padding: 0; margin-top: 18px !important; display: grid; gap: 8px; }
.kpa-card { padding: 16px 18px; border-radius: var(--k-r-s); background: var(--k-gray); font-size: 15px; font-weight: 300; line-height: 1.45; }
.kpa-card__lv { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 6px; font-size: 12px; font-weight: 500; background: var(--white, #fff); color: var(--gold-text-disabled, #7A7A7A); }
.kpa-card--3 .kpa-card__lv { background: var(--red-light, #FFE8E9); color: var(--red, #D62D30); }
.kpa-card--2 .kpa-card__lv { background: var(--k-gold-bg); color: var(--k-gold-h); }
.kpa-card__t { font-weight: 500; font-size: 16px; margin-top: 10px !important; }
.kpa-card__why { margin-top: 6px !important; }
.kpa-card__ask { margin-top: 10px !important; }
.kpa-card__ask span { font-weight: 500; }
.kpa-we { background: var(--k-gold-bg); }

/* ===== Страницы сервисов ===== */
.kp-tool-mount { margin: 8px 0 40px; min-height: 360px; }

/* ===== Галочка «Приложить итог» в форме консультации ===== */
.kpt-attach { display: flex; gap: 10px; align-items: flex-start; margin-top: 14px; padding: 14px 16px; border-radius: var(--border-radius-input, 10px); background: var(--bg-gold, #F3ECDA); font-size: 14px; font-weight: 300; line-height: 1.4; cursor: pointer; text-align: left; }
.kpt-attach b { font-weight: 500; }

/* ===== Язычок «Помощник» (утверждён) ===== */
.kpt-tab { height: auto; max-width: none; }
.kpt-tab, .kpt-panel, .kpt-tip { font-family: inherit; letter-spacing: normal; text-transform: none; }
.kpt-tab { position: fixed; right: 0; top: 50%; z-index: 990; display: flex; flex-direction: column; align-items: center; gap: 10px; width: 62px; padding: 12px 0 16px; border: 0; border-radius: 20px 0 0 20px; cursor: pointer; overflow: hidden; isolation: isolate;
  background: linear-gradient(160deg, #2E2A23 0%, #1B1915 100%); color: #F3E3B5; box-shadow: -6px 10px 30px rgba(27, 25, 21, .35), inset 1px 0 0 rgba(232, 201, 122, .35), inset 0 1px 0 rgba(232, 201, 122, .25);
  transform: translate(115%, -50%); transition: transform .5s cubic-bezier(.2, .9, .25, 1.2), width .25s ease, box-shadow .3s; }
.kpt-tab.is-in { transform: translate(0, -50%); animation: kpt-breathe 3.2s ease-in-out 1.2s infinite; }
.kpt-tab:hover, .kpt-tab:focus-visible { width: 68px; box-shadow: -10px 14px 36px rgba(27, 25, 21, .45), inset 1px 0 0 rgba(232, 201, 122, .6), 0 0 0 4px rgba(200, 164, 78, .18); }
.kpt-tab:focus-visible { outline: 3px solid #C8A44E; outline-offset: 2px; }
.kpt-tab::after { content: ""; position: absolute; inset: -40% -60%; z-index: -1; background: linear-gradient(115deg, transparent 42%, rgba(255, 236, 180, .28) 50%, transparent 58%); transform: translateY(-120%); animation: kpt-shine 6.5s ease-in-out 2s infinite; }
.kpt-orb { position: relative; width: 42px; height: 42px; flex: none; display: grid; place-items: center; }
.kpt-orb::before { content: ""; position: absolute; inset: 0; border-radius: 50%; padding: 2px; background: conic-gradient(from 0deg, #F6DB8E, #C8A44E, rgba(200, 164, 78, .1), #F6DB8E); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: kpt-spin 4s linear infinite; }
.kpt-orb::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #E8C97A, #B8913A 70%); box-shadow: 0 0 16px rgba(232, 201, 122, .55); }
.kpt-orb svg { position: absolute; z-index: 1; width: 20px !important; height: 20px !important; min-width: 20px; color: #1B1915; opacity: 0; transform: scale(.6) rotate(-20deg); transition: opacity .45s, transform .45s; }
.kpt-orb svg.is-on { opacity: 1; transform: none; }
.kpt-tab__t { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 14px; font-weight: 700; letter-spacing: .06em; color: #F3E3B5; }
.kpt-tab__n { font-size: 11px; font-weight: 700; line-height: 1; padding: 4px 6px; border-radius: 99px; background: rgba(232, 201, 122, .16); color: #E8C97A; }
@keyframes kpt-spin { to { transform: rotate(360deg); } }
@keyframes kpt-shine { 0%, 70% { transform: translateY(-120%); } 100% { transform: translateY(120%); } }
@keyframes kpt-breathe { 0%, 100% { box-shadow: -6px 10px 30px rgba(27, 25, 21, .35), inset 1px 0 0 rgba(232, 201, 122, .35), 0 0 0 0 rgba(200, 164, 78, 0); } 50% { box-shadow: -6px 10px 30px rgba(27, 25, 21, .35), inset 1px 0 0 rgba(232, 201, 122, .5), 0 0 0 6px rgba(200, 164, 78, .16); } }
.kpt-tip { position: fixed; right: 78px; top: 50%; z-index: 989; width: 250px; padding: 14px 16px; border-radius: 16px; background: #fff; color: #2A2A2A; box-shadow: 0 16px 40px rgba(27, 25, 21, .2); font-size: 14px; line-height: 1.4; opacity: 0; pointer-events: none; transform: translate(10px, -50%); transition: opacity .3s, transform .3s; }
.kpt-tip::after { content: ""; position: absolute; right: -6px; top: 50%; width: 12px; height: 12px; margin-top: -6px; background: #fff; transform: rotate(45deg); border-radius: 2px; }
.kpt-tip.is-on { opacity: 1; transform: translate(0, -50%); }
.kpt-tip b { display: block; font-size: 16px; font-weight: 500; margin-bottom: 6px; }
.kpt-tip span { color: #6b6b6b; }

/* ===== Панель ===== */
.kpt-panel[hidden], .kpt-overlay[hidden], .kpt-tip[hidden] { display: none !important; }
.kpt-overlay { position: fixed; inset: 0; z-index: 100000; background: rgba(42, 42, 42, .4); opacity: 0; transition: opacity .3s; }
.kpt-overlay.is-on { opacity: 1; }
.kpt-panel { position: fixed; top: 0; right: 0; bottom: 0; z-index: 100001; width: 480px; max-width: 100%; display: flex; flex-direction: column; background: var(--gray, #F1EFEA); color: var(--text-main, #2A2A2A); transform: translateX(104%); transition: transform .42s cubic-bezier(.2, .9, .3, 1); }
body.admin-bar .kpt-panel { top: 32px; }
.kpt-panel.is-on { transform: none; }
.kpt-head { position: relative; flex: none; background: var(--white, #fff); padding: 20px 20px 22px 24px; border-radius: 0 0 var(--border-radius-20, 20px) var(--border-radius-20, 20px); }
.kpt-head__bar { display: flex; align-items: center; gap: 12px; }
.kpt-head__t { margin: 0; flex: 1; font-size: var(--font-size-h2, 24px); line-height: 1.15; font-weight: 500; color: var(--text-main, #2A2A2A); }
.kpt-head__s { margin: 10px 0 0; font-size: 16px; font-weight: 300; line-height: 1.4; color: var(--text-main, #2A2A2A); }
.kpt-panel.is-tool .kpt-head__s { display: none; }
.kpt-panel.is-tool .kpt-head { padding-bottom: 20px; }
.kpt-iconbtn { width: 45px; height: 45px; max-width: none; flex: none; padding: 0; border: 0; border-radius: var(--border-radius-input, 10px); background: var(--gray, #F1EFEA); color: var(--text-main, #2A2A2A); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color .2s; }
.kpt-iconbtn:hover { background: var(--gray-dark, #CFCDC8); }
.kpt-iconbtn:focus-visible { outline: 2px solid var(--gold, #C8A44E); outline-offset: 2px; }
.kpt-iconbtn svg { width: 20px !important; height: 20px !important; min-width: 20px; display: block; }
.kpt-iconbtn[hidden] { display: none; }
.kpt-grip { display: none; }
.kpt-panel__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 10px 10px 24px; -webkit-overflow-scrolling: touch; }
.kpt-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.kpt-card, .kpt-card * { box-sizing: border-box; }
.kpt-card { background: var(--white, #fff); border-radius: var(--border-radius-20, 20px); padding: 20px; }
.kpt-card__top { display: flex; align-items: center; gap: 12px; }
.kpt-card__ico { width: 24px; height: 24px; flex: none; line-height: 0; }
.kpt-card__ico img { width: 100%; height: 100%; object-fit: contain; }
.kpt-new { margin-left: auto; flex: none; display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 6px; background: var(--bg-gold, #F3ECDA); color: var(--gold-hover, #AA8630); font-size: 12px; font-weight: 500; }
.kpt-card__t { margin: 0; font-size: var(--font-size-h3, 20px); line-height: 1.2; font-weight: 500; color: var(--text-main, #2A2A2A); }
.kpt-card__s { margin: 12px 0 0; font-size: 16px; font-weight: 300; line-height: 1.4; }
.kpt-btn { box-sizing: border-box; display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: var(--height-button-lg, 48px); max-width: none; margin-top: 16px; padding: 0 18px; border: 0; border-radius: var(--border-radius-input, 10px); background: var(--gray, #F1EFEA); color: var(--text-main, #2A2A2A); font: inherit; font-size: var(--font-size-body-16, 14px); font-weight: 700; cursor: pointer; text-decoration: none; transition: background-color .2s; }
.kpt-btn:hover { background: var(--gray-dark, #CFCDC8); }
.kpt-btn:focus-visible { outline: 2px solid var(--gold, #C8A44E); outline-offset: 2px; }
.kpt-btn img { width: 16px; height: 16px; }
.kpt-btn--primary { background: var(--gold, #C8A44E); color: var(--white, #fff); }
.kpt-btn--primary:hover { background: var(--gold-hover, #AA8630); }
.kpt-more { display: block; margin-top: 12px; text-align: center; font-size: 14px; font-weight: 500; color: var(--gold-hover, #AA8630); text-decoration: underline; text-underline-offset: 3px; }
.kpt-more:hover { color: var(--gold-focus, #8C6812); }
.kpt-foot { display: flex; align-items: center; gap: 8px; margin: 18px 14px 0; font-size: 13px; font-weight: 300; color: var(--gold-text-disabled, #7A7A7A); }
.kpt-foot svg { width: 16px !important; height: 16px !important; min-width: 16px; }
.kpt-full { margin: 16px 2px 4px; font-size: 14px; text-align: center; }
.kpt-full a { color: var(--gold-hover, #AA8630); }
.kpt-panel.is-on .kpt-home > *, .kpt-view.is-enter { animation: kpt-rise .45s cubic-bezier(.2, .9, .3, 1) both; }
.kpt-panel.is-on .kpt-list > li { animation: kpt-rise .45s cubic-bezier(.2, .9, .3, 1) both; }
.kpt-panel.is-on .kpt-list > li:nth-child(1) { animation-delay: .08s; }
.kpt-panel.is-on .kpt-list > li:nth-child(2) { animation-delay: .14s; }
.kpt-panel.is-on .kpt-list > li:nth-child(3) { animation-delay: .2s; }
.kpt-panel.is-on .kpt-list > li:nth-child(4) { animation-delay: .26s; }
@keyframes kpt-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
/* список сервисов на странице /instrumenty/ */
.kp-tool-text .kpt-list { margin: 12px 0 28px; }
@media (min-width: 768px) { .kp-tool-text .kpt-list--page { grid-template-columns: repeat(2, 1fr); gap: 20px; } .kp-tool-text .kpt-card { display: flex; flex-direction: column; } .kp-tool-text .kpt-card .kpt-btn { margin-top: auto; } .kp-tool-text .kpt-card__s { margin-bottom: 20px; } }

@media (min-width: 768px) and (max-width: 1279px) { .kpt-panel { width: 60vw; min-width: 480px; } }
@media (min-width: 1280px) { .kpt-card__ico { width: 28px; height: 28px; } }
@media (max-width: 782px) { body.admin-bar .kpt-panel { top: 46px; } }
@media (max-width: 767px) {
  .kpt-tab { top: 40%; width: 52px; padding: 10px 0 13px; gap: 8px; border-radius: 16px 0 0 16px; }
  .kpt-tab:hover, .kpt-tab:focus-visible { width: 52px; }
  .kpt-orb { width: 36px; height: 36px; }
  .kpt-orb svg { width: 17px !important; height: 17px !important; min-width: 17px; }
  .kpt-tab__t { font-size: 12px; }
  .kpt-tip { right: 64px; top: 40%; width: 210px; }
  .kpt-panel, body.admin-bar .kpt-panel { top: auto; left: 0; width: 100%; height: 92vh; height: 92dvh; border-radius: var(--border-radius-20, 20px) var(--border-radius-20, 20px) 0 0; overflow: hidden; transform: translateY(104%); }
  .kpt-panel.is-on, body.admin-bar .kpt-panel.is-on { transform: none; }
  .kpt-head { padding: 26px 16px 18px 20px; }
  .kpt-grip { display: block; position: absolute; top: 9px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 4px; background: var(--gray-dark, #CFCDC8); }
  .kpt-panel__body { padding: 10px 10px calc(20px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  .kps-anim, .kpt-view.is-enter, .kpt-panel.is-on .kpt-list > li, .kpt-panel.is-on .kpt-home > *, .kpt-tab::after { animation: none; }
  .kpt-tab, .kpt-panel, .kpt-overlay, .kpt-tip, .kps-progress__bar { transition: none; }
  .kpt-tab.is-in, .kpt-orb::before { animation: none; }
}
@media print { .kpt-tab, .kpt-panel, .kpt-overlay, .kpt-tip { display: none !important; } }
@media (forced-colors: active) { .kps-opt[aria-checked="true"] { outline: 2px solid Highlight; } }

/* страница «План выхода из долгов» */
.kp-plan-cta { display: inline-flex !important; width: auto !important; padding: 0 28px !important; margin: 4px 0 8px; text-decoration: none !important; color: #fff !important; }
.kp-plan-gallery { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 16px 0 8px; }
.kp-plan-gallery figure { margin: 0; background: var(--white, #fff); border-radius: var(--border-radius-20, 20px); padding: 12px; }
.kp-plan-gallery img { display: block; width: 100%; height: auto; border-radius: 12px; }
.kp-plan-gallery figcaption { margin-top: 10px; font-size: 14px; font-weight: 500; text-align: center; }
.kp-plan-go-note { margin: 0 0 8px !important; font-size: 13px; color: var(--gold-text-disabled, #7A7A7A); }
.kp-plan-note { font-size: 13px; color: var(--gold-text-disabled, #7A7A7A); }
@media (min-width: 768px) { .kp-plan-gallery { grid-template-columns: repeat(3, 1fr); align-items: start; } }

/* экран «План выхода из долгов» в панели */
.kpp-list, .kpp-steps { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.kpp-list li, .kpp-steps li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; font-weight: 300; line-height: 1.4; }
.kpp-chk { flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--bg-gold, #F3ECDA); color: var(--gold-hover, #AA8630); display: inline-flex; align-items: center; justify-content: center; margin-top: 1px; }
.kpp-chk svg { width: 14px !important; height: 14px !important; min-width: 14px; }
.kpp-num { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--gold, #C8A44E); color: #fff; font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.kpp-samples { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.kpp-sample { display: block; background: var(--gray, #F1EFEA); border-radius: var(--border-radius-input, 10px); padding: 8px; text-decoration: none !important; color: var(--text-main, #2A2A2A) !important; }
.kpp-sample img { display: block; width: 100%; height: 120px; object-fit: cover; object-position: top; border-radius: 6px; }
.kpp-sample span { display: block; margin-top: 8px; font-size: 13px; font-weight: 500; line-height: 1.3; }
.kpp-cert { margin-top: 18px; padding: 16px 18px; border-radius: var(--border-radius-input, 10px); background: var(--bg-gold, #F3ECDA); font-size: 15px; font-weight: 300; line-height: 1.4; }
.kpp-cert p { margin: 0; }
.kpp-cert__t { font-weight: 500 !important; font-size: 16px; margin-bottom: 4px !important; }
.kps .kpp-go { width: 100%; margin-top: 20px; text-decoration: none !important; }
.kpp-go-note { margin-top: 10px !important; font-size: 13px; font-weight: 300; text-align: center; color: var(--gold-text-disabled, #7A7A7A); }
.fancybox-container { z-index: 100050 !important; }
.kpt-new { gap: 6px; }
.kpt-free, .kpp-free { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 6px; background: var(--green, #DFEDE7); color: var(--green-text, #4A8C6F); font-size: 12px; font-weight: 500; }
.kpt-new .kpt-free { height: auto; padding: 0 8px 0 0; background: none; border-right: 1px solid rgba(170, 134, 48, .3); margin-right: 2px; color: var(--green-text, #4A8C6F); }
.kpp-free { margin-right: 6px; vertical-align: 1px; }
.kpp-sect { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.kpp-sect li { padding: 6px 10px; border-radius: 6px; background: var(--gray, #F1EFEA); font-size: 13px; font-weight: 400; line-height: 1.25; }
.kp-tool-text ul.kp-plan-sect { padding: 0; margin: 4px 0 16px; }
.kp-tool-text .kp-plan-sect li { margin: 0; background: var(--white, #fff); font-size: 14px; padding: 8px 12px; border-radius: 8px; }
