/* =========================================================
   Бизнес Компы — секции лендинга и внутренних страниц
   Подключается после style.css
   ========================================================= */

/* ---------------------------------------------------------
   1. Hero
   --------------------------------------------------------- */

.bk-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(2.5rem, 6vw, 5rem) clamp(3rem, 7vw, 6rem);
}

.bk-hero::before {
	content: "";
	position: absolute;
	top: -22%;
	right: -14%;
	width: min(920px, 78vw);
	aspect-ratio: 1;
	background: radial-gradient(circle at 50% 50%, rgba(0, 148, 69, .14), rgba(0, 148, 69, 0) 62%);
	pointer-events: none;
	z-index: 0;
}

.bk-hero > * { position: relative; z-index: 1; }

.bk-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}

@media (max-width: 1040px) {
	.bk-hero__grid { grid-template-columns: 1fr; }
}

.bk-hero__title { margin-bottom: 1.6rem; }

.bk-hero__title .bk-hero__line { display: block; }

.bk-hero__title .bk-hero__line--accent {
	background: linear-gradient(96deg, var(--bk-green) 8%, var(--bk-teal) 52%, var(--bk-green) 92%);
	background-size: 220% auto;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	animation: bk-shine 7s ease-in-out infinite;
}

@keyframes bk-shine {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}

@media (prefers-reduced-motion: reduce) {
	.bk-hero__title .bk-hero__line--accent { animation: none; }
}

.bk-hero__points {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
	display: grid;
	gap: .75rem;
	max-width: 54ch;
}

.bk-hero__points li {
	display: flex;
	align-items: flex-start;
	gap: .7rem;
	font-size: clamp(.98rem, 1.3vw, 1.08rem);
	color: var(--bk-ink-2);
	line-height: 1.5;
}

.bk-hero__points li::before {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	margin-top: .16em;
	border-radius: 50%;
	background: var(--bk-green-050) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23006911' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m1 5 3.4 3.4L11 1.6'/%3E%3C/svg%3E") center / 12px 10px no-repeat;
}

.bk-hero__cta { margin-bottom: 2.75rem; }

.bk-hero__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: var(--bk-line);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r);
	overflow: hidden;
	max-width: 620px;
}

@media (max-width: 520px) {
	.bk-hero__stats { grid-template-columns: 1fr; }
}

.bk-stat {
	background: var(--bk-bg);
	padding: 1.05rem 1.15rem;
}

.bk-stat__value {
	display: flex;
	align-items: baseline;
	gap: .3rem;
	font-family: var(--bk-mono);
	font-size: clamp(1.3rem, 2.2vw, 1.65rem);
	font-weight: 600;
	letter-spacing: -.03em;
	color: var(--bk-ink);
	line-height: 1.1;
}

.bk-stat__prefix {
	font-size: .72rem;
	font-weight: 400;
	color: var(--bk-faint);
	letter-spacing: 0;
}

.bk-stat__label {
	margin-top: .3rem;
	font-size: .78rem;
	line-height: 1.35;
	color: var(--bk-muted);
}

/* Медиа-колонка героя */
.bk-hero__media { position: relative; }

.bk-hero__photo {
	border-radius: var(--bk-r-xl);
	overflow: hidden;
	border: 1px solid var(--bk-line);
	box-shadow: var(--bk-shadow-l);
	background: var(--bk-surface-2);
	aspect-ratio: 16 / 10;
}

.bk-hero__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Мини-макет личного кабинета */
.bk-lk {
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-lg);
	box-shadow: var(--bk-shadow-l);
	overflow: hidden;
	font-size: .8rem;
}

.bk-hero__lk {
	margin-top: -14%;
	margin-left: auto;
	width: min(100%, 480px);
	position: relative;
	z-index: 2;
}

@media (max-width: 1040px) {
	.bk-hero__lk { margin-top: -12%; margin-right: auto; }
}

.bk-lk__chrome {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: .6rem .85rem;
	background: var(--bk-surface-2);
	border-bottom: 1px solid var(--bk-line);
}

.bk-lk__dots { display: flex; gap: 5px; }

.bk-lk__dots i {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--bk-line-2);
	display: block;
}

.bk-lk__url {
	font-family: var(--bk-mono);
	font-size: .66rem;
	color: var(--bk-muted);
	background: var(--bk-surface);
	border-radius: 999px;
	padding: .18rem .7rem;
	border: 1px solid var(--bk-line);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.bk-lk__body { padding: 1rem 1.1rem 1.15rem; }

.bk-lk__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-bottom: .9rem;
}

.bk-lk__title { font-weight: 700; font-size: .92rem; letter-spacing: -.02em; }
.bk-lk__sub { font-size: .7rem; color: var(--bk-muted); }

.bk-lk__kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .5rem;
	margin-bottom: .9rem;
}

.bk-lk__kpi {
	background: var(--bk-bg);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-sm);
	padding: .5rem .55rem;
	text-align: center;
}

.bk-lk__kpi b {
	display: block;
	font-family: var(--bk-mono);
	font-size: 1.02rem;
	letter-spacing: -.03em;
	color: var(--bk-ink);
}

.bk-lk__kpi span { font-size: .62rem; color: var(--bk-muted); }
.bk-lk__kpi--warn b { color: var(--bk-warn); }

.bk-lk__table { width: 100%; border-collapse: collapse; font-size: .72rem; }

.bk-lk__table th {
	text-align: left;
	font-family: var(--bk-mono);
	font-weight: 500;
	font-size: .6rem;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--bk-faint);
	padding: 0 .5rem .45rem 0;
	border-bottom: 1px solid var(--bk-line);
}

.bk-lk__table td {
	padding: .48rem .5rem .48rem 0;
	border-bottom: 1px solid var(--bk-line);
	color: var(--bk-ink-2);
	white-space: nowrap;
}

.bk-lk__table tr:last-child td { border-bottom: 0; }
.bk-lk__table .bk-lk__sn { font-family: var(--bk-mono); color: var(--bk-faint); font-size: .68rem; }

.bk-lk__pill {
	display: inline-block;
	padding: .1rem .45rem;
	border-radius: 999px;
	font-size: .62rem;
	font-weight: 600;
	white-space: nowrap;
}

.bk-lk__pill--ok { background: var(--bk-green-050); color: var(--bk-green-700); }
.bk-lk__pill--fix { background: #fdf0e2; color: var(--bk-warn); }

@media (max-width: 480px) {
	.bk-lk__table th:nth-child(2),
	.bk-lk__table td:nth-child(2) { display: none; }
}

/* ---------------------------------------------------------
   2. Потери — сравнение «покупка vs подписка»
   --------------------------------------------------------- */

.bk-compare__table {
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-lg);
	overflow: hidden;
}

.bk-compare__head,
.bk-compare__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
	align-items: stretch;
}

.bk-compare__head {
	background: var(--bk-surface-2);
	border-bottom: 1px solid var(--bk-line);
	font-family: var(--bk-mono);
	font-size: .72rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--bk-muted);
}

.bk-compare__head > div { padding: .85rem 1.35rem; }
.bk-compare__head > div:nth-child(3) { color: var(--bk-green); font-weight: 600; }

.bk-compare__row { border-bottom: 1px solid var(--bk-line); }
.bk-compare__row:last-child { border-bottom: 0; }

.bk-compare__cell { padding: 1.15rem 1.35rem; }

.bk-compare__cell--bad { background: rgba(179, 6, 29, .022); }
.bk-compare__cell--good { background: rgba(0, 148, 69, .04); }

.bk-compare__value {
	font-family: var(--bk-mono);
	font-size: clamp(1.02rem, 1.7vw, 1.28rem);
	font-weight: 600;
	letter-spacing: -.03em;
	line-height: 1.2;
	display: block;
	margin-bottom: .3rem;
}

.bk-compare__cell--bad .bk-compare__value { color: var(--bk-danger); }
.bk-compare__cell--good .bk-compare__value { color: var(--bk-green); }

.bk-compare__note { font-size: .84rem; color: var(--bk-muted); line-height: 1.45; }

.bk-compare__arrow {
	display: grid;
	place-items: center;
	background: var(--bk-surface);
	border-inline: 1px solid var(--bk-line);
	color: var(--bk-line-2);
	font-size: .95rem;
}

@media (max-width: 760px) {
	.bk-compare__head { display: none; }

	.bk-compare__row {
		grid-template-columns: 1fr;
		padding: .35rem 0;
	}

	.bk-compare__arrow {
		border-inline: 0;
		border-block: 1px solid var(--bk-line);
		padding: .25rem;
		transform: rotate(90deg);
		height: 34px;
	}

	.bk-compare__cell::before {
		content: attr(data-label);
		display: block;
		font-family: var(--bk-mono);
		font-size: .62rem;
		letter-spacing: .1em;
		text-transform: uppercase;
		color: var(--bk-faint);
		margin-bottom: .35rem;
	}
}

/* ---------------------------------------------------------
   3. Как это работает
   --------------------------------------------------------- */

.bk-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (max-width: 1040px) { .bk-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .bk-steps { grid-template-columns: 1fr; } }

.bk-step {
	position: relative;
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-lg);
	padding: 1.5rem 1.4rem 1.4rem;
	display: flex;
	flex-direction: column;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.bk-step:hover {
	border-color: var(--bk-line-2);
	transform: translateY(-3px);
	box-shadow: var(--bk-shadow-m);
}

.bk-step__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-bottom: 1.15rem;
}

.bk-step__num {
	font-family: var(--bk-mono);
	font-size: .78rem;
	font-weight: 600;
	color: var(--bk-green);
	letter-spacing: .04em;
}

.bk-step__tag {
	font-family: var(--bk-mono);
	font-size: .62rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bk-faint);
	border: 1px solid var(--bk-line);
	border-radius: 999px;
	padding: .2rem .55rem;
}

.bk-step__title {
	font-size: 1.08rem;
	font-weight: 700;
	letter-spacing: -.025em;
	margin-bottom: .55rem;
}

.bk-step__text {
	font-size: .9rem;
	color: var(--bk-muted);
	line-height: 1.55;
	margin-bottom: 1.1rem;
	flex: 1;
}

.bk-step__result {
	font-size: .82rem;
	line-height: 1.5;
	color: var(--bk-ink-2);
	padding-top: .95rem;
	border-top: 1px dashed var(--bk-line-2);
	display: flex;
	gap: .5rem;
}

.bk-step__result::before {
	content: "⟶";
	color: var(--bk-green);
	flex: none;
}

/* ---------------------------------------------------------
   3.5 Гарантии по договору
   --------------------------------------------------------- */

.bk-guarantees {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 2.18fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
	padding: clamp(1.5rem, 3.5vw, 2.5rem);
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-xl);
}

@media (max-width: 1000px) {
	.bk-guarantees { grid-template-columns: 1fr; }
}

.bk-guarantees__title {
	font-size: clamp(1.4rem, 2.3vw, 1.85rem);
	letter-spacing: -.03em;
	margin-bottom: .6rem;
}

.bk-guarantees__note {
	font-size: .9rem;
	color: var(--bk-muted);
	line-height: 1.55;
	margin: 0;
}

.bk-guarantees__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: var(--bk-line);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r);
	overflow: hidden;
}

@media (max-width: 900px) { .bk-guarantees__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .bk-guarantees__list { grid-template-columns: 1fr; } }

.bk-guarantee {
	background: var(--bk-surface);
	padding: 1.35rem 1.35rem 1.4rem;
	display: flex;
	flex-direction: column;
}

.bk-guarantee__value {
	font-family: var(--bk-mono);
	font-size: clamp(1.35rem, 2.4vw, 1.7rem);
	font-weight: 700;
	letter-spacing: -.045em;
	line-height: 1;
	color: var(--bk-green);
	margin-bottom: .75rem;
}

.bk-guarantee__title {
	font-size: .98rem;
	font-weight: 700;
	letter-spacing: -.02em;
	margin-bottom: .35rem;
}

.bk-guarantee__text {
	font-size: .85rem;
	line-height: 1.5;
	color: var(--bk-muted);
}

/* ---------------------------------------------------------
   4. Тарифы
   --------------------------------------------------------- */

.bk-tariffs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-bottom: 1.25rem;
}

@media (max-width: 820px) { .bk-tariffs { grid-template-columns: 1fr; } }

.bk-tariff {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-xl);
	padding: clamp(1.6rem, 3vw, 2.25rem);
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.bk-tariff:hover {
	transform: translateY(-3px);
	box-shadow: var(--bk-shadow-m);
}

.bk-tariff.is-featured {
	border-color: var(--bk-green);
	box-shadow: 0 0 0 1px var(--bk-green), var(--bk-shadow-m);
}

.bk-tariff__badge {
	position: absolute;
	top: -.7rem;
	left: clamp(1.6rem, 3vw, 2.25rem);
	padding: .3rem .85rem;
	border-radius: 999px;
	background: var(--bk-green);
	color: #fff;
	font-family: var(--bk-mono);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.bk-tariff__head { margin-bottom: 1.5rem; }

.bk-tariff__name {
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	letter-spacing: -.04em;
	margin-bottom: .5rem;
}

.bk-tariff__for {
	font-size: .93rem;
	color: var(--bk-muted);
	line-height: 1.5;
	margin: 0;
}

.bk-tariff__price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: .4rem;
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--bk-line);
}

.bk-tariff__from { font-size: .85rem; color: var(--bk-faint); }

.bk-tariff__amount {
	font-family: var(--bk-mono);
	font-size: clamp(2.4rem, 5vw, 3.2rem);
	font-weight: 700;
	letter-spacing: -.055em;
	line-height: 1;
	color: var(--bk-ink);
}

.bk-tariff__per { font-size: .88rem; color: var(--bk-muted); }

.bk-tariff__device {
	display: grid;
	gap: .3rem;
	margin-bottom: 1.75rem;
	flex: 1;
}

.bk-tariff__model { font-size: 1rem; font-weight: 700; letter-spacing: -.02em; }

.bk-tariff__spec {
	font-family: var(--bk-mono);
	font-size: .82rem;
	color: var(--bk-ink-2);
	line-height: 1.5;
}

/* Построчное сравнение тарифов */
.bk-matrix {
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-lg);
	overflow: hidden;
}

.bk-matrix__head,
.bk-matrix__row {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
}

.bk-matrix__head {
	background: var(--bk-surface-2);
	border-bottom: 1px solid var(--bk-line);
	font-family: var(--bk-mono);
	font-size: .72rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--bk-muted);
}

.bk-matrix__caption { padding: .9rem 1.35rem; }

.bk-matrix__col {
	padding: .9rem 1.35rem;
	text-align: center;
	color: var(--bk-ink);
	font-weight: 600;
}

.bk-matrix__row { border-bottom: 1px solid var(--bk-line); }
.bk-matrix__row:last-child { border-bottom: 0; }
.bk-matrix__row:hover { background: rgba(0, 148, 69, .028); }

.bk-matrix__label {
	padding: .95rem 1.35rem;
	font-size: .93rem;
	color: var(--bk-ink-2);
	line-height: 1.45;
}

.bk-matrix__cell {
	padding: .95rem 1.35rem;
	text-align: center;
	font-size: .9rem;
}

.bk-matrix__text {
	font-family: var(--bk-mono);
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--bk-ink);
}

.bk-matrix__yes {
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--bk-green-050);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23006911' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m1 5 3.4 3.4L11 1.6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
}

@media (max-width: 640px) {
	.bk-matrix__head { display: none; }

	.bk-matrix__row {
		grid-template-columns: 1fr;
		padding: .9rem 1.1rem;
		gap: .4rem;
	}

	.bk-matrix__label { padding: 0; font-weight: 600; color: var(--bk-ink); }

	.bk-matrix__cell {
		padding: 0;
		text-align: left;
		display: flex;
		align-items: center;
		gap: .5rem;
		font-size: .86rem;
		color: var(--bk-muted);
	}

	.bk-matrix__cell::before {
		content: attr(data-col) " —";
		font-family: var(--bk-mono);
		font-size: .7rem;
		letter-spacing: .06em;
		text-transform: uppercase;
		color: var(--bk-faint);
	}

	.bk-matrix__yes { width: 18px; height: 18px; }
}

/* Смартфоны как дополнение */
.bk-addon {
	margin-top: clamp(2rem, 4vw, 3rem);
	padding: clamp(1.5rem, 3.5vw, 2.25rem);
	background: linear-gradient(180deg, rgba(0, 148, 69, .05), transparent 60%), var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-xl);
}

.bk-addon__head { margin-bottom: 1.5rem; }

.bk-addon__title {
	font-size: clamp(1.3rem, 2.3vw, 1.7rem);
	letter-spacing: -.03em;
	margin-bottom: .5rem;
}

.bk-addon__note {
	font-size: .92rem;
	color: var(--bk-muted);
	line-height: 1.55;
	max-width: 62ch;
	margin: 0;
}

.bk-addon__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

@media (max-width: 700px) { .bk-addon__grid { grid-template-columns: 1fr; } }

.bk-phone {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-lg);
	padding: 1.5rem 1.5rem 1.4rem;
	transition: border-color .18s ease, transform .18s ease;
}

.bk-phone:hover { border-color: var(--bk-line-2); transform: translateY(-2px); }

.bk-phone__badge { position: absolute; top: 1.3rem; right: 1.3rem; }

.bk-phone__name {
	font-size: 1.18rem;
	letter-spacing: -.03em;
	margin-bottom: .45rem;
}

.bk-phone__spec {
	font-family: var(--bk-mono);
	font-size: .8rem;
	color: var(--bk-ink-2);
	line-height: 1.5;
	margin-bottom: .7rem;
}

.bk-phone__for {
	font-size: .88rem;
	color: var(--bk-muted);
	line-height: 1.5;
	flex: 1;
	margin-bottom: 1.25rem;
}

.bk-phone__price {
	display: flex;
	align-items: baseline;
	gap: .25rem;
	padding-top: 1.1rem;
	border-top: 1px solid var(--bk-line);
}

.bk-phone__plus,
.bk-phone__amount {
	font-family: var(--bk-mono);
	font-weight: 700;
	letter-spacing: -.04em;
	color: var(--bk-green);
}

.bk-phone__plus { font-size: 1.15rem; }
.bk-phone__amount { font-size: 1.65rem; }
.bk-phone__per { font-size: .82rem; color: var(--bk-muted); margin-left: .2rem; }

.bk-lines__note {
	margin-top: 2rem;
	padding: 1.15rem 1.4rem;
	background: var(--bk-surface-2);
	border-radius: var(--bk-r);
	font-size: .88rem;
	color: var(--bk-ink-2);
	line-height: 1.7;
}

.bk-lines__note b { color: var(--bk-ink); }

/* Отрасли */
.bk-industries {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem 1.1rem;
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: 1.75rem;
	border-top: 1px solid var(--bk-line);
}

.bk-industries__label {
	font-family: var(--bk-mono);
	font-size: .7rem;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--bk-faint);
}

.bk-industries__list {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bk-industries__list li {
	padding: .42rem .95rem;
	border: 1px solid var(--bk-line-2);
	border-radius: 999px;
	font-size: .85rem;
	color: var(--bk-ink-2);
	background: var(--bk-surface);
}

/* Документы */
.bk-docs {
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: clamp(2rem, 4vw, 2.75rem);
	border-top: 1px solid var(--bk-dark-line);
}

.bk-docs__title {
	font-size: clamp(1.2rem, 2.2vw, 1.55rem);
	letter-spacing: -.03em;
	margin-bottom: 1.5rem;
}

.bk-docs__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

@media (max-width: 980px) { .bk-docs__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .bk-docs__list { grid-template-columns: 1fr; } }

.bk-doc {
	display: flex;
	flex-direction: column;
	gap: .35rem;
	padding: 1.15rem 1.25rem 1.25rem 2.9rem;
	position: relative;
	background: var(--bk-dark-2);
	border: 1px solid var(--bk-dark-line);
	border-radius: var(--bk-r);
}

.bk-doc::before {
	content: "";
	position: absolute;
	left: 1.15rem;
	top: 1.3rem;
	width: 17px;
	height: 17px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 17 17'%3E%3Cpath fill='none' stroke='%237ee0a1' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' d='M9.8 1.5H4.2a1.4 1.4 0 0 0-1.4 1.4v11.2a1.4 1.4 0 0 0 1.4 1.4h8.6a1.4 1.4 0 0 0 1.4-1.4V6.1zM9.8 1.5V6h4.4M5.8 9.2h5.4M5.8 12h3.6'/%3E%3C/svg%3E") no-repeat center / contain;
}

.bk-doc b { color: #fff; font-size: .95rem; letter-spacing: -.02em; line-height: 1.35; }
.bk-doc span { font-size: .84rem; color: #8b978d; line-height: 1.5; }

.bk-ru__complabel {
	font-family: var(--bk-mono);
	font-size: .7rem;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: #63d68c;
	align-self: center;
	margin-right: .35rem;
}

/* ---------------------------------------------------------
   5. SLA (тёмная секция)
   --------------------------------------------------------- */

.bk-sla__grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}

@media (max-width: 940px) { .bk-sla__grid { grid-template-columns: 1fr; } }

.bk-sla__figures {
	display: grid;
	gap: 1px;
	background: var(--bk-dark-line);
	border: 1px solid var(--bk-dark-line);
	border-radius: var(--bk-r-lg);
	overflow: hidden;
}

.bk-sla__fig { background: var(--bk-dark-2); padding: 1.35rem 1.5rem; }

.bk-sla__fignum {
	font-family: var(--bk-mono);
	font-size: clamp(2rem, 4.5vw, 2.9rem);
	font-weight: 700;
	letter-spacing: -.05em;
	line-height: 1;
	color: #fff;
	display: block;
}

.bk-sla__figunit {
	display: block;
	margin-top: .35rem;
	font-size: .82rem;
	color: #7ee0a1;
	font-weight: 600;
}

.bk-sla__figtext { margin-top: .5rem; font-size: .85rem; color: #8b978d; line-height: 1.5; }

.bk-sla__flowtitle {
	font-family: var(--bk-mono);
	font-size: .74rem;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: #7ee0a1;
	margin-bottom: 1.5rem;
}

.bk-sla__flow { list-style: none; margin: 0 0 1.75rem; padding: 0; counter-reset: bk-flow; }

.bk-sla__flow li {
	counter-increment: bk-flow;
	position: relative;
	padding-left: 3.15rem;
	padding-bottom: 1.55rem;
}

.bk-sla__flow li::before {
	content: counter(bk-flow);
	position: absolute;
	left: 0;
	top: -2px;
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	border: 1px solid var(--bk-dark-line);
	background: var(--bk-dark-2);
	font-family: var(--bk-mono);
	font-size: .82rem;
	font-weight: 600;
	color: #7ee0a1;
}

.bk-sla__flow li::after {
	content: "";
	position: absolute;
	left: 17px;
	top: 36px;
	bottom: 4px;
	width: 1px;
	background: var(--bk-dark-line);
}

.bk-sla__flow li:last-child { padding-bottom: 0; }
.bk-sla__flow li:last-child::after { display: none; }

.bk-sla__flow b {
	display: block;
	color: #fff;
	font-size: 1.02rem;
	letter-spacing: -.02em;
	margin-bottom: .25rem;
}

.bk-sla__flow span { font-size: .9rem; color: #a9b6ac; line-height: 1.55; }

.bk-sla__outro {
	padding: 1.15rem 1.35rem;
	background: var(--bk-dark-2);
	border: 1px solid var(--bk-dark-line);
	border-left: 3px solid var(--bk-teal);
	border-radius: var(--bk-r);
	font-size: .92rem;
	color: #a9b6ac;
	line-height: 1.6;
}

/* ---------------------------------------------------------
   6. ИТ-отдел в подписке
   --------------------------------------------------------- */

.bk-payroll__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

@media (max-width: 940px) { .bk-payroll__grid { grid-template-columns: 1fr; } }

.bk-payroll__card {
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-lg);
	overflow: hidden;
}

.bk-payroll__cardhead {
	padding: 1.1rem 1.5rem;
	background: var(--bk-surface-2);
	border-bottom: 1px solid var(--bk-line);
	font-size: .92rem;
	font-weight: 600;
	color: var(--bk-ink-2);
}

.bk-payroll__rows { padding: .5rem 1.5rem; }

.bk-payroll__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: .82rem 0;
	border-bottom: 1px solid var(--bk-line);
	font-size: .95rem;
}

.bk-payroll__row:last-child { border-bottom: 0; }
.bk-payroll__row span { color: var(--bk-ink-2); }

.bk-payroll__row b {
	font-family: var(--bk-mono);
	font-weight: 600;
	letter-spacing: -.02em;
	white-space: nowrap;
}

.bk-payroll__row--add b { color: var(--bk-warn); }

.bk-payroll__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.15rem 1.5rem;
	background: var(--bk-ink);
	color: #fff;
}

.bk-payroll__total span { font-size: .92rem; color: #b9c4bb; }

.bk-payroll__total b {
	font-family: var(--bk-mono);
	font-size: clamp(1.3rem, 2.4vw, 1.7rem);
	letter-spacing: -.04em;
	color: #fff;
}

.bk-payroll__vs {
	margin-top: 1.15rem;
	padding: 1.35rem 1.5rem;
	background: var(--bk-green-050);
	border: 1px solid rgba(0, 105, 17, .2);
	border-radius: var(--bk-r-lg);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.bk-payroll__vstext { font-size: .95rem; color: var(--bk-green-700); max-width: 40ch; line-height: 1.5; }
.bk-payroll__vstext b { display: block; font-size: 1.05rem; color: var(--bk-ink); letter-spacing: -.02em; }

.bk-payroll__vsvalue {
	font-family: var(--bk-mono);
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--bk-green);
	letter-spacing: -.03em;
}

.bk-payroll__disclaimer { margin-top: 1rem; font-size: .78rem; color: var(--bk-faint); line-height: 1.55; }

.bk-included {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .75rem;
}

.bk-included li {
	display: flex;
	align-items: flex-start;
	gap: .85rem;
	padding: 1rem 1.15rem;
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r);
	font-size: .95rem;
	color: var(--bk-ink-2);
	line-height: 1.45;
	transition: border-color .18s ease;
}

.bk-included li:hover { border-color: var(--bk-line-2); }

.bk-included li::before {
	content: "";
	flex: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--bk-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m1 5 3.4 3.4L11 1.6'/%3E%3C/svg%3E") center / 12px 10px no-repeat;
}

.bk-included__head {
	font-family: var(--bk-mono);
	font-size: .74rem;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--bk-muted);
	margin-bottom: 1.15rem;
}

/* ---------------------------------------------------------
   7. Отечественное оборудование (тёмная секция)
   --------------------------------------------------------- */

.bk-ru__compliance {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin-bottom: clamp(2.25rem, 5vw, 3.5rem);
}

.bk-ru__chip {
	padding: .5rem 1.05rem;
	border: 1px solid var(--bk-dark-line);
	border-radius: 999px;
	background: var(--bk-dark-2);
	font-family: var(--bk-mono);
	font-size: .78rem;
	color: #c2cec6;
	letter-spacing: -.01em;
}

.bk-ru__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.15rem;
}

@media (max-width: 820px) { .bk-ru__grid { grid-template-columns: 1fr; } }

.bk-vendor {
	background: var(--bk-dark-2);
	border: 1px solid var(--bk-dark-line);
	border-radius: var(--bk-r-lg);
	padding: 1.6rem 1.6rem 1.35rem;
}

.bk-vendor__head {
	display: flex;
	align-items: baseline;
	gap: .8rem;
	padding-bottom: 1.15rem;
	margin-bottom: 1.15rem;
	border-bottom: 1px solid var(--bk-dark-line);
}

.bk-vendor__name {
	font-family: var(--bk-mono);
	font-size: 1.12rem;
	font-weight: 700;
	letter-spacing: .06em;
	color: #fff;
}

.bk-vendor__kind { font-size: .82rem; color: #7ee0a1; }

.bk-vendor__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }

.bk-vendor__list b {
	display: block;
	color: #fff;
	font-size: .98rem;
	letter-spacing: -.02em;
	margin-bottom: .2rem;
}

.bk-vendor__list span { font-family: var(--bk-mono); font-size: .76rem; color: #8b978d; line-height: 1.5; }

.bk-ru__foot {
	margin-top: 2rem;
	font-size: .87rem;
	color: #8b978d;
	max-width: 72ch;
	line-height: 1.6;
}

/* ---------------------------------------------------------
   8. Калькулятор
   --------------------------------------------------------- */

.bk-calc__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr);
	gap: clamp(1.25rem, 3vw, 2.25rem);
	align-items: start;
}

@media (max-width: 940px) { .bk-calc__grid { grid-template-columns: 1fr; } }

.bk-calc__panel {
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-lg);
	padding: clamp(1.35rem, 3vw, 2rem);
}

.bk-calc__label {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: .7rem;
	font-size: .82rem;
	font-weight: 600;
	color: var(--bk-ink-2);
}

.bk-calc__label output {
	font-family: var(--bk-mono);
	font-size: .95rem;
	font-weight: 700;
	color: var(--bk-green);
	letter-spacing: -.02em;
}

.bk-calc__block + .bk-calc__block { margin-top: 1.75rem; }

.bk-calc__choices { display: grid; gap: .55rem; }

.bk-calc__choice {
	display: flex;
	align-items: center;
	gap: .85rem;
	padding: .85rem 1rem;
	border: 1px solid var(--bk-line-2);
	border-radius: var(--bk-r);
	cursor: pointer;
	transition: border-color .16s ease, background-color .16s ease;
}

.bk-calc__choice:hover { border-color: var(--bk-ink-2); }

.bk-calc__choice input { position: absolute; opacity: 0; pointer-events: none; }

.bk-calc__choice:has(input:checked),
.bk-calc__choice.is-checked {
	border-color: var(--bk-green);
	background: var(--bk-green-050);
	box-shadow: 0 0 0 1px var(--bk-green);
}

.bk-calc__choice:has(input:focus-visible) { outline: 2px solid var(--bk-teal); outline-offset: 2px; }

.bk-calc__dot {
	flex: none;
	width: 18px;
	height: 18px;
	border: 1.5px solid var(--bk-line-2);
	border-radius: 50%;
	position: relative;
	transition: border-color .16s ease;
}

.bk-calc__choice:has(input:checked) .bk-calc__dot,
.bk-calc__choice.is-checked .bk-calc__dot { border-color: var(--bk-green); }

.bk-calc__choice:has(input:checked) .bk-calc__dot::after,
.bk-calc__choice.is-checked .bk-calc__dot::after {
	content: "";
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--bk-green);
}

.bk-calc__choicebody { flex: 1; min-width: 0; }

.bk-calc__choicetitle {
	display: flex;
	align-items: baseline;
	gap: .5rem;
	font-size: .95rem;
	font-weight: 600;
	letter-spacing: -.02em;
}

.bk-calc__choicetitle em {
	font-family: var(--bk-mono);
	font-style: normal;
	color: var(--bk-green);
	font-size: .85rem;
}

.bk-calc__choicemeta {
	font-size: .78rem;
	color: var(--bk-muted);
	margin-top: .12rem;
	line-height: 1.4;
}

.bk-calc__choiceprice {
	flex: none;
	font-family: var(--bk-mono);
	font-size: .9rem;
	font-weight: 600;
	color: var(--bk-ink);
	letter-spacing: -.02em;
}

.bk-calc__range {
	width: 100%;
	appearance: none;
	background: transparent;
	height: 26px;
	cursor: pointer;
	padding: 0;
	border: 0;
}

.bk-calc__range::-webkit-slider-runnable-track {
	height: 5px;
	border-radius: 999px;
	background: var(--bk-surface-2);
	border: 1px solid var(--bk-line);
}

.bk-calc__range::-webkit-slider-thumb {
	appearance: none;
	width: 22px;
	height: 22px;
	margin-top: -9.5px;
	border-radius: 50%;
	background: var(--bk-green);
	border: 3px solid #fff;
	box-shadow: 0 1px 6px rgba(7, 16, 9, .28);
}

.bk-calc__range::-moz-range-track {
	height: 5px;
	border-radius: 999px;
	background: var(--bk-surface-2);
	border: 1px solid var(--bk-line);
}

.bk-calc__range::-moz-range-thumb {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--bk-green);
	border: 3px solid #fff;
	box-shadow: 0 1px 6px rgba(7, 16, 9, .28);
}

.bk-calc__scale {
	display: flex;
	justify-content: space-between;
	margin-top: .35rem;
	font-family: var(--bk-mono);
	font-size: .68rem;
	color: var(--bk-faint);
}

.bk-calc__terms { display: flex; flex-wrap: wrap; gap: .45rem; }

.bk-calc__term {
	position: relative;
	flex: 1 1 auto;
	min-width: 78px;
	text-align: center;
	padding: .65rem .5rem;
	border: 1px solid var(--bk-line-2);
	border-radius: var(--bk-r-sm);
	font-family: var(--bk-mono);
	font-size: .88rem;
	font-weight: 600;
	color: var(--bk-ink-2);
	cursor: pointer;
	transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

.bk-calc__term input { position: absolute; opacity: 0; pointer-events: none; }
.bk-calc__term:hover { border-color: var(--bk-ink-2); }

.bk-calc__term:has(input:checked),
.bk-calc__term.is-checked {
	background: var(--bk-green);
	border-color: var(--bk-green);
	color: #fff;
}

.bk-calc__term small { display: block; font-size: .62rem; font-weight: 400; opacity: .7; margin-top: .1rem; }

/* Результат */
.bk-calc__result {
	position: sticky;
	top: calc(var(--bk-header-h) + 1.25rem);
	background: var(--bk-ink);
	color: #fff;
	border-radius: var(--bk-r-lg);
	overflow: hidden;
}

@media (max-width: 940px) { .bk-calc__result { position: static; } }

.bk-calc__resulthead {
	padding: 1.5rem clamp(1.35rem, 3vw, 2rem) 1.15rem;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.bk-calc__resulteyebrow {
	font-family: var(--bk-mono);
	font-size: .68rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #7ee0a1;
	margin-bottom: .85rem;
}

.bk-calc__big {
	display: flex;
	align-items: baseline;
	gap: .45rem;
	flex-wrap: wrap;
}

.bk-calc__bigvalue {
	font-family: var(--bk-mono);
	font-size: clamp(2.1rem, 5.5vw, 3.1rem);
	font-weight: 700;
	letter-spacing: -.055em;
	line-height: 1;
	color: #fff;
}

.bk-calc__bigunit { font-size: .92rem; color: #9fada2; }

.bk-calc__perseat { margin-top: .65rem; font-size: .88rem; color: #9fada2; }
.bk-calc__perseat b { font-family: var(--bk-mono); color: #7ee0a1; font-weight: 600; }

.bk-calc__rows { padding: 1.15rem clamp(1.35rem, 3vw, 2rem); }

.bk-calc__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: .58rem 0;
	font-size: .88rem;
	color: #9fada2;
	border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.bk-calc__row:last-child { border-bottom: 0; }

.bk-calc__row b {
	font-family: var(--bk-mono);
	color: #fff;
	font-weight: 600;
	letter-spacing: -.02em;
	white-space: nowrap;
}

.bk-calc__row--save b { color: #7ee0a1; }

.bk-calc__compare {
	margin: 0 clamp(1.35rem, 3vw, 2rem) 1.25rem;
	padding: 1.15rem 1.25rem;
	background: rgba(255, 255, 255, .05);
	border-radius: var(--bk-r);
	border-left: 3px solid var(--bk-teal);
}

.bk-calc__comparetitle {
	font-family: var(--bk-mono);
	font-size: .66rem;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: #7ee0a1;
	margin-bottom: .8rem;
}

.bk-calc__foot {
	padding: 0 clamp(1.35rem, 3vw, 2rem) 1.6rem;
	display: grid;
	gap: .65rem;
}

.bk-calc__disclaimer {
	padding: 0 clamp(1.35rem, 3vw, 2rem) 1.6rem;
	font-size: .74rem;
	line-height: 1.55;
	color: #77857b;
}

/* CTA-полоса калькулятора на главной */
.bk-calccta {
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-xl);
	padding: clamp(1.75rem, 4vw, 3rem);
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

@media (max-width: 860px) { .bk-calccta { grid-template-columns: 1fr; } }

.bk-calccta__facts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .7rem;
}

.bk-calccta__facts li {
	display: flex;
	align-items: center;
	gap: .65rem;
	font-size: .92rem;
	color: var(--bk-ink-2);
}

.bk-calccta__facts li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--bk-teal);
	flex: none;
}

/* ---------------------------------------------------------
   9. Партнёрский стек ПО
   --------------------------------------------------------- */

.bk-stack__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	padding: 1.15rem 1.35rem;
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r);
	margin-bottom: 1.5rem;
}

.bk-stack__filtergroup { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; }

.bk-stack__filterlabel {
	font-family: var(--bk-mono);
	font-size: .66rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bk-faint);
	margin-right: .3rem;
}

.bk-chip {
	padding: .38rem .85rem;
	border: 1px solid var(--bk-line-2);
	border-radius: 999px;
	background: transparent;
	font-family: inherit;
	font-size: .82rem;
	font-weight: 500;
	color: var(--bk-ink-2);
	cursor: pointer;
	transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}

.bk-chip:hover { border-color: var(--bk-ink-2); }

.bk-chip[aria-pressed="true"] {
	background: var(--bk-green);
	border-color: var(--bk-green);
	color: #fff;
}

.bk-stack__count {
	margin-left: auto;
	align-self: center;
	font-family: var(--bk-mono);
	font-size: .78rem;
	color: var(--bk-muted);
}

.bk-stack__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(288px, 1fr));
	gap: 1rem;
}

.bk-soft {
	display: flex;
	flex-direction: column;
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-lg);
	padding: 1.35rem 1.35rem 1.2rem;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.bk-soft:hover { border-color: var(--bk-line-2); transform: translateY(-2px); box-shadow: var(--bk-shadow-m); }
.bk-soft.is-hidden { display: none; }
.bk-soft.is-included { border-color: rgba(0, 148, 69, .45); background: linear-gradient(180deg, rgba(0, 148, 69, .05), transparent 55%); }

.bk-soft__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-bottom: .9rem;
}

.bk-soft__cat {
	font-family: var(--bk-mono);
	font-size: .64rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--bk-muted);
}

.bk-soft__name { font-size: 1.02rem; font-weight: 700; letter-spacing: -.025em; margin-bottom: .2rem; line-height: 1.3; }
.bk-soft__vendor { font-size: .8rem; color: var(--bk-green); margin-bottom: .8rem; }
.bk-soft__desc { font-size: .87rem; color: var(--bk-muted); line-height: 1.55; flex: 1; margin-bottom: 1.15rem; }

.bk-soft__price {
	display: flex;
	align-items: baseline;
	gap: .4rem;
	padding-top: .95rem;
	border-top: 1px solid var(--bk-line);
}

.bk-soft__amount {
	font-family: var(--bk-mono);
	font-size: 1.12rem;
	font-weight: 700;
	letter-spacing: -.03em;
	color: var(--bk-ink);
}

.bk-soft.is-included .bk-soft__amount { color: var(--bk-teal); }
.bk-soft__unit { font-size: .76rem; color: var(--bk-muted); }

.bk-stack__empty {
	display: none;
	padding: 3rem 1rem;
	text-align: center;
	color: var(--bk-muted);
	font-size: .95rem;
}

.bk-stack__empty.is-visible { display: block; }

.bk-stack__foot { margin-top: 1.5rem; font-size: .84rem; color: var(--bk-faint); }

/* ---------------------------------------------------------
   10. FAQ
   --------------------------------------------------------- */

.bk-faq__grid {
	display: grid;
	grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}

@media (max-width: 880px) { .bk-faq__grid { grid-template-columns: 1fr; } }

.bk-faq__list { border-top: 1px solid var(--bk-line); }

.bk-faq__item { border-bottom: 1px solid var(--bk-line); }

.bk-faq__q {
	width: 100%;
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.35rem .25rem;
	background: none;
	border: 0;
	font-family: inherit;
	font-size: clamp(1rem, 1.5vw, 1.1rem);
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--bk-ink);
	text-align: left;
	cursor: pointer;
	line-height: 1.4;
}

.bk-faq__q:hover { color: var(--bk-green); }

.bk-faq__num {
	flex: none;
	font-family: var(--bk-mono);
	font-size: .72rem;
	font-weight: 500;
	color: var(--bk-faint);
	padding-top: .3em;
	width: 1.6rem;
}

.bk-faq__qtext { flex: 1; }

.bk-faq__icon {
	flex: none;
	width: 24px;
	height: 24px;
	position: relative;
	margin-top: .15em;
}

.bk-faq__icon::before,
.bk-faq__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 13px;
	height: 1.8px;
	background: var(--bk-ink-2);
	border-radius: 2px;
	transform: translate(-50%, -50%);
	transition: transform .22s ease, opacity .22s ease;
}

.bk-faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.bk-faq__q[aria-expanded="true"] .bk-faq__icon::after { transform: translate(-50%, -50%) rotate(0deg); opacity: 0; }
.bk-faq__q[aria-expanded="true"] .bk-faq__icon::before { background: var(--bk-green); }

.bk-faq__a {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .28s ease;
}

.bk-faq__a[data-open="true"] { grid-template-rows: 1fr; }
.bk-faq__ainner { overflow: hidden; }

.bk-faq__atext {
	padding: 0 2.6rem 1.5rem 1.85rem;
	font-size: .96rem;
	line-height: 1.65;
	color: var(--bk-muted);
}

.bk-faq__aside {
	position: sticky;
	top: calc(var(--bk-header-h) + 1.5rem);
}

@media (max-width: 880px) { .bk-faq__aside { position: static; } }

/* ---------------------------------------------------------
   11. Контакты и форма заявки
   --------------------------------------------------------- */

.bk-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}

@media (max-width: 940px) { .bk-contact__grid { grid-template-columns: 1fr; } }

.bk-contact__promises {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: var(--bk-line);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r);
	overflow: hidden;
	margin: 2rem 0;
}

@media (max-width: 520px) { .bk-contact__promises { grid-template-columns: 1fr; } }

.bk-contact__promise { background: var(--bk-bg); padding: 1.05rem 1.15rem; }

.bk-contact__promise b {
	display: block;
	font-family: var(--bk-mono);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -.04em;
	color: var(--bk-green);
	line-height: 1;
	margin-bottom: .35rem;
}

.bk-contact__promise span { font-size: .8rem; color: var(--bk-muted); line-height: 1.35; }

.bk-contact__details {
	display: grid;
	gap: 1rem;
	font-style: normal;
}

.bk-contact__detail { display: flex; gap: .85rem; align-items: flex-start; }

.bk-contact__detail dt {
	font-family: var(--bk-mono);
	font-size: .66rem;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--bk-faint);
	width: 5.5rem;
	flex: none;
	padding-top: .28em;
}

.bk-contact__detail dd { margin: 0; font-size: .98rem; color: var(--bk-ink); }

.bk-form {
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-xl);
	padding: clamp(1.5rem, 3.5vw, 2.35rem);
	box-shadow: var(--bk-shadow-m);
}

.bk-form__title { font-size: 1.25rem; margin-bottom: 1.35rem; letter-spacing: -.03em; }

/* ---------------------------------------------------------
   12. Финальный CTA
   --------------------------------------------------------- */

.bk-cta {
	position: relative;
	overflow: hidden;
	background: linear-gradient(140deg, var(--bk-green) 0%, #00461e 55%, var(--bk-dark) 100%);
	color: #fff;
	border-radius: var(--bk-r-xl);
	padding: clamp(2.25rem, 6vw, 4rem);
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

@media (max-width: 820px) { .bk-cta { grid-template-columns: 1fr; } }

.bk-cta::after {
	content: "";
	position: absolute;
	right: -8%;
	bottom: -60%;
	width: min(560px, 60%);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, .12), transparent 66%);
	pointer-events: none;
}

.bk-cta > * { position: relative; z-index: 1; }
.bk-cta h2 { color: #fff; margin-bottom: .85rem; }
.bk-cta p { color: rgba(255, 255, 255, .8); max-width: 52ch; margin-bottom: 0; }
.bk-cta__actions { display: grid; gap: .7rem; }

/* ---------------------------------------------------------
   13. Внутренние страницы: hero, таблицы, TCO
   --------------------------------------------------------- */

.bk-pagehero {
	padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(2rem, 4vw, 3rem);
	border-bottom: 1px solid var(--bk-line);
	background: linear-gradient(180deg, rgba(0, 148, 69, .05), transparent);
}

.bk-pagehero__inner { max-width: 900px; }
.bk-pagehero h1 { font-size: clamp(2rem, 4.6vw, 3.4rem); margin-bottom: 1rem; }

.bk-crumbs {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	list-style: none;
	margin: 0 0 1.35rem;
	padding: 0;
	font-size: .8rem;
	color: var(--bk-faint);
}

.bk-crumbs li::after { content: "/"; margin-left: .45rem; color: var(--bk-line-2); }
.bk-crumbs li:last-child::after { display: none; }

/* Табличное сравнение CapEx / OpEx */
.bk-vs {
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-lg);
	overflow: hidden;
}

.bk-vs table { border-collapse: collapse; width: 100%; font-size: .93rem; }

.bk-vs thead th {
	background: var(--bk-surface-2);
	font-family: var(--bk-mono);
	font-size: .7rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--bk-muted);
	padding: .95rem 1.25rem;
	border-bottom: 1px solid var(--bk-line);
	white-space: nowrap;
}

.bk-vs thead th:last-child { color: var(--bk-green); }

.bk-vs tbody th {
	font-weight: 600;
	color: var(--bk-ink);
	padding: 1.05rem 1.25rem;
	border-bottom: 1px solid var(--bk-line);
	width: 26%;
	vertical-align: top;
}

.bk-vs tbody td {
	padding: 1.05rem 1.25rem;
	border-bottom: 1px solid var(--bk-line);
	color: var(--bk-muted);
	vertical-align: top;
	line-height: 1.5;
}

.bk-vs tbody td:last-child { color: var(--bk-ink-2); background: rgba(0, 148, 69, .035); }
.bk-vs tbody tr:last-child th, .bk-vs tbody tr:last-child td { border-bottom: 0; }

.bk-vs__scroll { overflow-x: auto; }
.bk-vs__scroll table { min-width: 720px; }

/* Матрица TCO с галочками */
.bk-tco__row td:nth-child(2),
.bk-tco__row td:nth-child(3) { text-align: center; width: 15%; }

.bk-mark {
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	font-size: .8rem;
	font-weight: 700;
}

.bk-mark--yes { background: var(--bk-green-050); color: var(--bk-green); }
.bk-mark--no { background: #fdeaec; color: var(--bk-danger); }
.bk-mark--extra { background: #fdf0e2; color: var(--bk-warn); font-size: .62rem; font-family: var(--bk-mono); width: auto; padding-inline: .5rem; border-radius: 999px; }

/* Пример расчёта TCO */
.bk-tcocalc {
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-lg);
	overflow: hidden;
}

.bk-tcocalc__head {
	padding: 1.15rem 1.5rem;
	background: var(--bk-surface-2);
	border-bottom: 1px solid var(--bk-line);
	font-weight: 600;
	letter-spacing: -.02em;
}

.bk-tcocalc__rows { padding: .35rem 1.5rem; }

.bk-tcocalc__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: .85rem 0;
	border-bottom: 1px solid var(--bk-line);
	font-size: .95rem;
	color: var(--bk-ink-2);
}

.bk-tcocalc__row:last-child { border-bottom: 0; }

.bk-tcocalc__row b {
	font-family: var(--bk-mono);
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--bk-ink);
	white-space: nowrap;
}

.bk-tcocalc__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	padding: 1.25rem 1.5rem;
	background: var(--bk-ink);
	color: #fff;
}

.bk-tcocalc__total span { font-size: .95rem; color: #b9c4bb; }

.bk-tcocalc__total b {
	font-family: var(--bk-mono);
	font-size: clamp(1.35rem, 3vw, 1.85rem);
	letter-spacing: -.045em;
	color: #fff;
}

.bk-tcocalc__foot {
	padding: 1.05rem 1.5rem;
	font-size: .88rem;
	color: var(--bk-muted);
	background: var(--bk-green-050);
	line-height: 1.55;
}

/* Список «кому подходит» / «когда покупка выгоднее» */
.bk-fit {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bk-fit li {
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-left: 3px solid var(--bk-green);
	border-radius: var(--bk-r);
	padding: 1.25rem 1.35rem;
}

.bk-fit b { display: block; font-size: 1rem; letter-spacing: -.02em; margin-bottom: .3rem; }
.bk-fit span { font-size: .88rem; color: var(--bk-muted); line-height: 1.5; }

.bk-honest {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .7rem;
}

.bk-honest li {
	display: flex;
	gap: .85rem;
	align-items: flex-start;
	padding: 1rem 1.25rem;
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r);
	font-size: .95rem;
	color: var(--bk-ink-2);
	line-height: 1.5;
}

.bk-honest li::before {
	content: "—";
	color: var(--bk-warn);
	font-weight: 700;
	flex: none;
}

/* ---------------------------------------------------------
   14. Карточки записей, кейсов
   --------------------------------------------------------- */

.bk-grid-posts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 1.35rem;
}

.bk-post-card {
	display: flex;
	flex-direction: column;
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r-lg);
	overflow: hidden;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.bk-post-card:hover { transform: translateY(-3px); border-color: var(--bk-line-2); box-shadow: var(--bk-shadow-m); }

.bk-post-card__thumb {
	aspect-ratio: 16 / 9;
	background: var(--bk-surface-2);
	overflow: hidden;
}

.bk-post-card__thumb img { width: 100%; height: 100%; object-fit: cover; }

.bk-post-card__body { padding: 1.35rem 1.4rem 1.4rem; display: flex; flex-direction: column; flex: 1; }

.bk-post-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem .85rem;
	font-family: var(--bk-mono);
	font-size: .68rem;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--bk-faint);
	margin-bottom: .8rem;
}

.bk-post-card__meta a { color: var(--bk-green); }

.bk-post-card__title { font-size: 1.14rem; letter-spacing: -.028em; margin-bottom: .55rem; line-height: 1.3; }
.bk-post-card__title a { color: var(--bk-ink); }
.bk-post-card__title a:hover { color: var(--bk-green); }
.bk-post-card__excerpt { font-size: .91rem; color: var(--bk-muted); line-height: 1.55; flex: 1; margin-bottom: 1.15rem; }

.bk-case-metrics {
	display: flex;
	flex-wrap: wrap;
	gap: 1.35rem;
	padding-top: 1.1rem;
	border-top: 1px solid var(--bk-line);
}

.bk-case-metric b {
	display: block;
	font-family: var(--bk-mono);
	font-size: 1.18rem;
	font-weight: 700;
	letter-spacing: -.035em;
	color: var(--bk-green);
	line-height: 1.1;
}

.bk-case-metric span { font-size: .72rem; color: var(--bk-muted); }

/* Одиночная запись */
.bk-single__head { max-width: 780px; margin-bottom: 2.25rem; }

.bk-single__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.15rem;
	font-family: var(--bk-mono);
	font-size: .74rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--bk-faint);
	margin-bottom: 1.15rem;
}

.bk-single__thumb {
	border-radius: var(--bk-r-xl);
	overflow: hidden;
	margin-bottom: 2.5rem;
	border: 1px solid var(--bk-line);
}

.bk-single__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}

@media (max-width: 1000px) { .bk-single__layout { grid-template-columns: 1fr; } }

.bk-single__aside { position: sticky; top: calc(var(--bk-header-h) + 1.5rem); display: grid; gap: 1.25rem; }

@media (max-width: 1000px) { .bk-single__aside { position: static; } }

.bk-postnav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--bk-line);
}

@media (max-width: 640px) { .bk-postnav { grid-template-columns: 1fr; } }

.bk-postnav a {
	display: block;
	padding: 1.15rem 1.35rem;
	background: var(--bk-surface);
	border: 1px solid var(--bk-line);
	border-radius: var(--bk-r);
	color: var(--bk-ink);
}

.bk-postnav a:hover { border-color: var(--bk-ink); }

.bk-postnav small {
	display: block;
	font-family: var(--bk-mono);
	font-size: .66rem;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--bk-faint);
	margin-bottom: .4rem;
}

.bk-postnav b { font-size: .98rem; letter-spacing: -.02em; font-weight: 600; }
.bk-postnav .bk-postnav__next { text-align: right; }

/* 404 и пустые состояния */
.bk-empty { text-align: center; padding-block: clamp(3rem, 9vw, 7rem); max-width: 620px; margin-inline: auto; }

.bk-empty__code {
	font-family: var(--bk-mono);
	font-size: clamp(4rem, 16vw, 9rem);
	font-weight: 700;
	letter-spacing: -.07em;
	line-height: 1;
	color: var(--bk-green);
	margin-bottom: 1rem;
}

.bk-empty__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .6rem;
	margin-top: 2rem;
}
