:root {
	--kh-green: #6A7553;
	--kh-green-dark: #4c553a;
	--kh-green-soft: #eef1e8;
	--kh-beige: #C0B283;
	--kh-beige-soft: #f7f3e8;
	--kh-gold: #968b05;
	--kh-ink: #1b1e21;
	--kh-body: #4a4f55;
	--kh-muted: #838a91;
	--kh-border: #e7e5e0;
	--kh-border-soft: #f0eeea;
	--kh-bg: #fafaf8;
	--kh-amber: #9a7a08;
	--kh-amber-soft: #fdf6e3;
	--kh-red: #9d4b3f;
	--kh-red-soft: #fbeeec;
	--kh-blue: #3f6b8c;
	--kh-blue-soft: #eef4f9;
	--kh-teal: #3f7d78;
	--kh-teal-soft: #eaf4f3;
}

.kh {
	background-color: var(--kh-bg);
	color: var(--kh-body);
}

#rotating-button { display: none; }

.kh .container {
	max-width: 100%;
	padding-left: 45px;
	padding-right: 45px;
}

.kh a:not(.kh-btn):not(.kh-btn-outline):not(.kh-btn-ghost):not(.kh-pill) { color: inherit; }
.kh a:hover { text-decoration: none; }

.kh-display {
	font-family: "Bell MT Bold", "Merriweather", Georgia, serif;
	color: var(--kh-ink);
	letter-spacing: -0.01em;
}

.kh-eyebrow {
	font-family: "Montserrat Semi Bold", Sans-Serif;
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--kh-muted);
}

.kh-section-title {
	font-family: "Montserrat Bold", Sans-Serif;
	font-size: 19px;
	color: var(--kh-ink);
	border-left: 3px solid var(--kh-green);
	padding-left: 12px;
	line-height: 1.25;
	margin: 0;
}

.kh-section-subtitle {
	font-size: 12.5px;
	color: var(--kh-muted);
	padding-left: 15px;
	margin-top: 4px;
}

/* ---------- Barra del hub ---------- */

.kh-topbar {
	position: sticky;
	top: 0;
	z-index: 1030;
	background-color: #fff;
	border-bottom: 1px solid var(--kh-border);
}

.kh-topbar-inner {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 12px 0;
}

.kh-topbar-logo { flex: 0 0 auto; }
.kh-topbar-logo img { width: 150px; height: auto; display: block; }

.kh-topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }

.kh-topbar-brand {
	font-family: "Montserrat Bold", Sans-Serif;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--kh-ink);
	white-space: nowrap;
	border-left: 1px solid var(--kh-border);
	padding-left: 16px;
}

.kh-topbar-brand small {
	display: block;
	font-family: "Montserrat Regular", Sans-Serif;
	font-size: 9px;
	letter-spacing: 0.06em;
	text-transform: none;
	color: var(--kh-muted);
}

.kh-search {
	position: relative;
	flex: 1 1 auto;
	max-width: 640px;
}

.kh-search input {
	width: 100%;
	border: 1px solid var(--kh-border);
	border-radius: 8px;
	background-color: #fbfbfa;
	padding: 9px 16px 9px 38px;
	font-size: 12.5px;
	color: var(--kh-ink);
	text-overflow: ellipsis;
}

.kh-search input:focus {
	outline: none;
	border-color: var(--kh-green);
	background-color: #fff;
}

.kh-search .kh-search-icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--kh-muted);
	font-size: 12px;
	background: none;
	border: 0;
	padding: 0;
	line-height: 1;
	cursor: pointer;
}

.kh-search .kh-search-icon:hover { color: var(--kh-green); }

/* ---------- Badges ---------- */

.kh-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: "Montserrat Semi Bold", Sans-Serif;
	font-size: 10.5px;
	letter-spacing: 0.03em;
	padding: 5px 11px;
	border: 1px solid var(--kh-border);
	border-radius: 20px;
	background-color: #fff;
	color: var(--kh-body);
	margin-right: 6px;
	margin-bottom: 6px;
	white-space: nowrap;
}

.kh-badge i { font-size: 10px; }

.kh-badge-green { background-color: var(--kh-green-soft); border-color: #dfe5d4; color: var(--kh-green-dark); }
.kh-badge-amber { background-color: var(--kh-amber-soft); border-color: #f0e4c2; color: var(--kh-amber); }
.kh-badge-red   { background-color: var(--kh-red-soft);   border-color: #f3d9d5; color: var(--kh-red); }
.kh-badge-blue  { background-color: var(--kh-blue-soft);  border-color: #d8e5ef; color: var(--kh-blue); }
.kh-badge-beige { background-color: var(--kh-beige-soft); border-color: #ece2cb; color: #7a6b3f; }
.kh-badge-solid { background-color: var(--kh-ink); border-color: var(--kh-ink); color: #fff; }

.kh-updated-text {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: "Montserrat Regular", Sans-Serif;
	font-size: 10.5px;
	letter-spacing: 0.03em;
	color: var(--kh-muted);
	margin-right: 6px;
	margin-bottom: 6px;
}

.kh-updated-text i { color: var(--kh-green); }

/* ---------- Botones ---------- */

.kh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: "Montserrat Semi Bold", Sans-Serif;
	font-size: 12.5px;
	padding: 10px 18px;
	border-radius: 6px;
	border: 1px solid var(--kh-green);
	background-color: var(--kh-green);
	color: #fff;
	transition: background-color .18s ease, border-color .18s ease;
}

.kh-btn:hover { background-color: var(--kh-green-dark); border-color: var(--kh-green-dark); color: #fff; }

.kh-btn-outline { background-color: #fff; color: var(--kh-ink); border-color: var(--kh-border); }
.kh-btn-outline:hover { background-color: #fff; border-color: var(--kh-green); color: var(--kh-green); }

.kh-btn-ghost {
	background: none;
	border: 0;
	color: var(--kh-body);
	font-family: "Montserrat Semi Bold", Sans-Serif;
	font-size: 12px;
	padding: 8px 10px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.kh-btn-ghost:hover { color: var(--kh-green); }

.kh-btn-block { width: 100%; }

/* ---------- Hero destacado ---------- */

.kh-featured-slider {
	position: relative;
	display: grid;
	overflow: hidden;
	border-radius: 10px;
}

.kh-slide { grid-area: 1 / 1; visibility: hidden; }
.kh-slide.active { visibility: visible; z-index: 1; }
.kh-slide.leaving { visibility: visible; }

.kh-featured-slider.started .kh-slide.active { animation: kh-slide-in 1.1s cubic-bezier(.4, 0, .2, 1) both; }
.kh-featured-slider.started .kh-slide.leaving { animation: kh-slide-out 1.1s cubic-bezier(.4, 0, .2, 1) both; }
.kh-featured-slider.reverse .kh-slide.active { animation-name: kh-slide-in-reverse; }
.kh-featured-slider.reverse .kh-slide.leaving { animation-name: kh-slide-out-reverse; }

@keyframes kh-slide-in {
	from { transform: translateX(100%); }
	to { transform: none; }
}

@keyframes kh-slide-out {
	from { transform: none; }
	to { transform: translateX(-100%); }
}

@keyframes kh-slide-in-reverse {
	from { transform: translateX(-100%); }
	to { transform: none; }
}

@keyframes kh-slide-out-reverse {
	from { transform: none; }
	to { transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce) {
	.kh-featured-slider .kh-slide.active,
	.kh-featured-slider .kh-slide.leaving { animation: none; }
}

.kh-slider-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 18px;
	display: flex;
	justify-content: center;
	gap: 8px;
	z-index: 2;
}

.kh-slider-dot {
	width: 8px;
	height: 8px;
	border-radius: 4px;
	border: 0;
	padding: 0;
	background-color: rgba(27, 30, 33, .18);
	cursor: pointer;
	transition: width .2s ease, background-color .2s ease;
}

.kh-slider-dot:hover { background-color: rgba(27, 30, 33, .3); }
.kh-slider-dot.active { width: 22px; background-color: var(--kh-green); }

.kh-hero {
	position: relative;
	height: 460px;
	border: 1px solid var(--kh-border);
	border-radius: 10px;
	overflow: hidden;
	background-color: #fff;
	background-size: cover;
	background-position: center right;
}

.kh-hero-body {
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 130px 44px 52px 44px;
	background: linear-gradient(90deg, #fdfdfb 0%, rgba(253,253,251,.96) 42%, rgba(253,253,251,.55) 70%, rgba(253,253,251,.05) 100%);
}

.kh-hero-body h1 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-family: "Montserrat Bold", Sans-Serif;
	font-size: 36px;
	line-height: 1.12;
	color: var(--kh-ink);
	margin: 14px 0 16px;
	max-width: 640px;
}

.kh-hero-body p {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	max-width: 560px;
	color: var(--kh-body);
	font-size: 13.5px;
	line-height: 1.7;
}

.kh-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: auto; }

.kh-proof {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	border: 1px solid var(--kh-border);
	border-radius: 6px;
	background-color: #fff;
	padding: 12px 14px;
}

.kh-proof-info {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 3px;
}

.kh-proof span { font-size: 7px; line-height: 1; letter-spacing: .08em; text-transform: uppercase; color: var(--kh-muted); }
.kh-proof strong { font-family: "Montserrat Semi Bold", Sans-Serif; font-size: 11px; line-height: 1; color: var(--kh-ink); }

/* ---------- Tarjetas de categoría ---------- */

.kh-grid-cats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }

@media (min-width: 576px) { .kh-grid-cats { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .kh-grid-cats { grid-template-columns: repeat(5, 1fr); } }

.kh-category-card {
	display: block;
	position: relative;
	height: 100%;
	padding: 20px 18px;
	border: 1px solid var(--kh-border);
	border-radius: 8px;
	background-color: #fff;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.kh-category-card:hover { border-color: var(--kh-green); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.05); }

.kh-category-card .kh-index {
	position: absolute;
	top: 18px;
	right: 18px;
	font-family: "Montserrat Semi Bold", Sans-Serif;
	font-size: 10px;
	color: #c9c6bf;
}

.kh-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 9px;
	font-size: 15px;
	margin-bottom: 16px;
	background-color: var(--kh-green-soft);
	color: var(--kh-green);
}

.kh-c1 { background-color: var(--kh-green-soft); color: var(--kh-green); }
.kh-c2 { background-color: var(--kh-amber-soft); color: var(--kh-amber); }
.kh-c3 { background-color: var(--kh-red-soft);   color: var(--kh-red); }
.kh-c4 { background-color: var(--kh-teal-soft);  color: var(--kh-teal); }
.kh-c5 { background-color: var(--kh-blue-soft);  color: var(--kh-blue); }
.kh-c6 { background-color: var(--kh-beige-soft); color: #7a6b3f; }

.kh-category-card h3 {
	font-family: "Montserrat Semi Bold", Sans-Serif;
	font-size: 13.5px;
	color: var(--kh-ink);
	margin-bottom: 3px;
	line-height: 1.3;
}

.kh-category-card span { font-size: 11px; color: var(--kh-muted); }

/* ---------- Tarjetas de artículo ---------- */

.kh-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--kh-border);
	border-radius: 8px;
	background-color: #fff;
	overflow: hidden;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.kh-card:hover { border-color: var(--kh-green); box-shadow: 0 8px 20px rgba(0,0,0,.06); }

.kh-card-cover {
	position: relative;
	height: 165px;
	background-color: #eeece6;
	background-size: cover;
	background-position: center;
}

.kh-card-cover .kh-badge { position: absolute; bottom: 10px; left: 10px; margin: 0; }

.kh-card-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 16px 0;
	font-family: "Montserrat Semi Bold", Sans-Serif;
	font-size: 9.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--kh-muted);
}

.kh-card-body { flex: 1 1 auto; padding: 8px 16px 16px; }

.kh-card-body h3 {
	font-family: "Montserrat Semi Bold", Sans-Serif;
	font-size: 14.5px;
	line-height: 1.4;
	color: var(--kh-ink);
	margin: 0 0 8px;
}

.kh-card-body p { font-size: 12.5px; line-height: 1.6; color: var(--kh-muted); margin: 0; }

.kh-card-footer { border-top: 1px solid var(--kh-border-soft); padding: 10px 16px; font-size: 11px; color: var(--kh-muted); }
.kh-card-footer strong { color: var(--kh-ink); font-family: "Montserrat Semi Bold", Sans-Serif; }

.kh-scroller {
	display: flex;
	align-items: stretch;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.kh-scroller::-webkit-scrollbar { display: none; }

.kh-scroller > * { flex: 0 0 296px; align-self: stretch; scroll-snap-align: start; }

.kh-carousel-nav { display: inline-flex; gap: 8px; }

.kh-carousel-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid var(--kh-border);
	background-color: #fff;
	color: var(--kh-ink);
	font-size: 12px;
	cursor: pointer;
	transition: border-color .18s ease, color .18s ease, background-color .18s ease;
}

.kh-carousel-btn:hover { border-color: var(--kh-green); color: var(--kh-green); }

.kh-carousel-btn:disabled {
	opacity: .35;
	cursor: default;
	border-color: var(--kh-border);
	color: var(--kh-muted);
	background-color: #fff;
}

/* ---------- Stats ---------- */

.kh-stats { display: flex; flex-wrap: wrap; gap: 16px; }

.kh-stat {
	flex: 1 1 210px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	border: 1px solid var(--kh-border);
	border-radius: 8px;
	background-color: #fff;
	padding: 16px 18px;
}

.kh-stat-label { font-family: "Montserrat Semi Bold", Sans-Serif; font-size: 9.5px; letter-spacing: .09em; text-transform: uppercase; color: var(--kh-muted); display: block; margin-bottom: 5px; }
.kh-stat-value { font-family: "Montserrat Bold", Sans-Serif; font-size: 17px; color: var(--kh-ink); display: block; line-height: 1.2; }
.kh-stat-note { font-size: 10.5px; color: var(--kh-muted); display: block; margin-top: 3px; }
.kh-stat i { color: #c9c6bf; font-size: 14px; flex: 0 0 auto; }

/* ---------- Filtros ---------- */

.kh-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

.kh-pill {
	display: inline-block;
	font-family: "Montserrat Semi Bold", Sans-Serif;
	font-size: 11.5px;
	padding: 7px 15px;
	border: 1px solid var(--kh-border);
	border-radius: 20px;
	background-color: #fff;
	color: var(--kh-body);
}

.kh-pill:hover { border-color: var(--kh-green); color: var(--kh-green); }
.kh-pill.active { background-color: var(--kh-green); border-color: var(--kh-green); color: #fff; }

/* ---------- Barra de acciones / breadcrumb ---------- */

.kh-actionbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--kh-border);
}

.kh-breadcrumb { font-size: 11.5px; color: var(--kh-muted); display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.kh-breadcrumb a:hover { color: var(--kh-green); }
.kh-breadcrumb .kh-sep { color: #d5d2cc; }
.kh-breadcrumb .kh-current { font-family: "Montserrat Semi Bold", Sans-Serif; font-size: 10px; border: 1px solid var(--kh-border); border-radius: 4px; padding: 3px 8px; color: var(--kh-ink); }

/* ---------- Artículo ---------- */

.kh-article h1 { font-size: 38px; line-height: 1.15; margin: 0; }
.kh-article .kh-subtitle { font-size: 15px; line-height: 1.7; color: var(--kh-body); max-width: 760px; }

.kh-article .kh-meta { font-size: 11.5px; color: var(--kh-muted); display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.kh-article .kh-meta span { display: inline-flex; align-items: center; gap: 7px; }
.kh-article .kh-meta i { color: var(--kh-green); font-size: 11px; }

.kh-figure { position: relative; border-radius: 8px; overflow: hidden; }
.kh-figure img { width: 100%; display: block; }

.kh-figure-caption {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 13px 18px;
	background: linear-gradient(180deg, rgba(27,30,33,0) 0%, rgba(27,30,33,.92) 60%);
	color: #fff;
	font-size: 11.5px;
	display: flex;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
}

.kh-lead {
	font-size: 14.5px;
	line-height: 1.85;
	color: var(--kh-body);
	border-left: 2px solid var(--kh-beige);
	padding-left: 20px;
}

.kh-block { padding-top: 46px; scroll-margin-top: 92px; }

.kh-block-title { display: flex; align-items: center; margin-bottom: 22px; }

.kh-block-title .kh-block-number {
	flex: 0 0 26px;
	width: 26px; height: 26px; line-height: 24px;
	text-align: center;
	border: 1px solid #dfe5d4;
	background-color: var(--kh-green-soft);
	border-radius: 7px;
	color: var(--kh-green);
	font-family: "Montserrat Semi Bold", Sans-Serif;
	font-size: 11px;
	margin-right: 12px;
}

.kh-block-title h2 { font-family: "Bell MT Bold", "Merriweather", Georgia, serif; font-size: 25px; color: var(--kh-ink); margin: 0; }

.kh-tech-card { height: 100%; border: 1px solid var(--kh-border); border-radius: 8px; background-color: #fff; padding: 18px; }
.kh-tech-card h3 { font-family: "Montserrat Semi Bold", Sans-Serif; font-size: 13.5px; color: var(--kh-ink); margin: 10px 0 8px; }
.kh-tech-card p { font-size: 12.5px; line-height: 1.65; color: var(--kh-muted); margin: 0; }

.kh-table { width: 100%; background-color: #fff; border: 1px solid var(--kh-border); border-radius: 8px; border-collapse: separate; border-spacing: 0; font-size: 12.5px; overflow: hidden; }
.kh-table th { font-family: "Montserrat Semi Bold", Sans-Serif; font-size: 9.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--kh-muted); background-color: #faf9f6; padding: 12px 14px; border-bottom: 1px solid var(--kh-border); text-align: left; }
.kh-table td { padding: 13px 14px; border-bottom: 1px solid var(--kh-border-soft); color: var(--kh-body); }
.kh-table tr:last-child td { border-bottom: 0; }
.kh-table td strong { color: var(--kh-ink); }

.kh-alert-list { list-style: none; padding: 0; margin: 0; }

.kh-alert-list li {
	position: relative;
	padding: 15px 16px 15px 44px;
	margin-bottom: 10px;
	background-color: #fff;
	border: 1px solid var(--kh-border);
	border-left: 3px solid var(--kh-amber);
	border-radius: 6px;
	font-size: 12.5px;
	line-height: 1.65;
	color: var(--kh-body);
}

.kh-alert-list li:before {
	content: '!';
	position: absolute;
	left: 16px; top: 15px;
	width: 17px; height: 17px; line-height: 17px;
	text-align: center;
	border-radius: 50%;
	background-color: var(--kh-amber);
	color: #fff;
	font-size: 11px;
	font-weight: bold;
}

.kh-steps { counter-reset: kh-step; list-style: none; padding: 0; margin: 0; }

.kh-steps li {
	counter-increment: kh-step;
	position: relative;
	padding: 0 0 20px 42px;
	font-size: 12.5px;
	line-height: 1.65;
	color: var(--kh-body);
	border-left: 1px solid var(--kh-border);
	margin-left: 13px;
}

.kh-steps li:last-child { border-left-color: transparent; padding-bottom: 0; }

.kh-steps li:before {
	content: counter(kh-step);
	position: absolute;
	left: -13px; top: -3px;
	width: 26px; height: 26px; line-height: 24px;
	text-align: center;
	border-radius: 7px;
	background-color: #fff;
	border: 1px solid #dfe5d4;
	color: var(--kh-green);
	font-family: "Montserrat Semi Bold", Sans-Serif;
	font-size: 11px;
}

/* ---------- Pirámide olfativa ---------- */

.kh-note { background-color: #fff; border: 1px solid var(--kh-border); border-radius: 8px; padding: 16px 18px; margin-bottom: 12px; }
.kh-note-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; gap: 12px; }
.kh-note-head .kh-note-label { font-family: "Montserrat Semi Bold", Sans-Serif; font-size: 9.5px; letter-spacing: .09em; text-transform: uppercase; color: var(--kh-green-dark); background-color: var(--kh-green-soft); border-radius: 4px; padding: 4px 9px; }
.kh-note-head .kh-note-pct { font-family: "Montserrat Bold", Sans-Serif; font-size: 13px; color: var(--kh-ink); }
.kh-note-components { font-family: "Montserrat Semi Bold", Sans-Serif; font-size: 13px; color: var(--kh-ink); margin-bottom: 8px; }
.kh-note-bar { height: 5px; border-radius: 3px; background-color: #eeece6; overflow: hidden; margin-bottom: 10px; }
.kh-note-bar span { display: block; height: 100%; background-color: var(--kh-green); }
.kh-note p { font-size: 12.5px; line-height: 1.65; color: var(--kh-muted); margin: 0; }
.kh-note-time { font-family: "Montserrat Regular", Sans-Serif; font-size: 10.5px; color: var(--kh-muted); text-transform: none; letter-spacing: 0; }

/* ---------- Sidebar ---------- */

.kh-sidebar { position: sticky; top: 88px; }

.kh-widget { border: 1px solid var(--kh-border); border-radius: 8px; background-color: #fff; padding: 18px; margin-bottom: 18px; }

.kh-widget h4 {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: "Montserrat Semi Bold", Sans-Serif;
	font-size: 10px;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--kh-ink);
	margin-bottom: 14px;
}

.kh-widget h4 i { color: var(--kh-green); font-size: 11px; }
.kh-widget h4 .kh-dot { margin-left: auto; width: 7px; height: 7px; border-radius: 50%; background-color: var(--kh-green); }

.kh-spec { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--kh-border-soft); font-size: 12px; }
.kh-spec:last-child { border-bottom: 0; padding-bottom: 0; }
.kh-spec .kh-spec-label { color: var(--kh-muted); display: inline-flex; align-items: center; gap: 8px; }
.kh-spec .kh-spec-label i { color: var(--kh-muted); font-size: 11px; }
.kh-spec .kh-spec-value { font-family: "Montserrat Semi Bold", Sans-Serif; color: var(--kh-ink); text-align: right; background-color: #f7f6f3; border-radius: 5px; padding: 4px 9px; font-size: 11.5px; white-space: nowrap; }

.kh-toc { list-style: none; padding: 0; margin: 0; counter-reset: kh-toc; }
.kh-toc li { counter-increment: kh-toc; border-bottom: 1px solid var(--kh-border-soft); }
.kh-toc li:last-child { border-bottom: 0; }
.kh-toc a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; font-size: 12px; color: var(--kh-body); }
.kh-toc a:before { content: counter(kh-toc) "."; color: var(--kh-beige); font-family: "Montserrat Semi Bold", Sans-Serif; }
.kh-toc a span { flex: 1 1 auto; }
.kh-toc a:hover { color: var(--kh-green); }

.kh-related { display: block; padding: 11px 0; border-bottom: 1px solid var(--kh-border-soft); }
.kh-related:last-child { border-bottom: 0; }
.kh-related .kh-related-code { font-family: "Montserrat Semi Bold", Sans-Serif; font-size: 9.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--kh-beige); }
.kh-related .kh-related-title { font-size: 12.5px; line-height: 1.45; color: var(--kh-ink); margin-top: 2px; }
.kh-related:hover .kh-related-title { color: var(--kh-green); }

/* ---------- CTA ---------- */

.kh-cta { background-color: var(--kh-ink); border-radius: 10px; padding: 36px 32px; color: #fff; }
.kh-cta h3 { font-family: "Bell MT Bold", "Merriweather", Georgia, serif; font-size: 24px; margin-bottom: 8px; color: #fff; }
.kh-cta p { color: rgba(255,255,255,.72); margin-bottom: 20px; font-size: 13.5px; }
.kh-cta .kh-btn { background-color: var(--kh-green); border-color: var(--kh-green); color: #fff; }
.kh-cta .kh-btn:hover { background-color: #7b8762; border-color: #7b8762; }

.kh-empty { border: 1px dashed var(--kh-border); border-radius: 8px; padding: 54px 20px; text-align: center; color: var(--kh-muted); background-color: #fff; }

.kh-pagination .page-link { color: var(--kh-body); border-color: var(--kh-border); }
.kh-pagination .page-item.active .page-link { background-color: var(--kh-ink); border-color: var(--kh-ink); color: #fff; }

@media (max-width: 991px) {
	.kh-sidebar { position: static; margin-top: 32px; }
}

@media (max-width: 1199px) {
	.kh-topbar-logo img { width: 120px; }
	.kh-search { max-width: none; }
}

@media (max-width: 767px) {
	.kh-topbar { position: static; }
	.kh-hero { height: auto; }
	.kh-hero-body { padding: 30px 22px; background: linear-gradient(180deg, rgba(253,253,251,.97) 60%, rgba(253,253,251,.8) 100%); }
	.kh-hero-body h1 { font-size: 25px; -webkit-line-clamp: 3; }
	.kh-hero-body p { -webkit-line-clamp: 3; }
	.kh-article h1 { font-size: 27px; }
	.kh-block-title h2 { font-size: 20px; }
	.kh-topbar-inner { flex-wrap: wrap; gap: 12px; }
	.kh-topbar-brand { border-left: 0; padding-left: 0; }
}
