/* Article shared tokens */
:root, .wpcursor-component[class*="wpcursor-article-"] {
	--cns-article-green: #173326;
	--cns-article-ink: #2c3830;
	--cns-article-muted: #667068;
	--cns-article-cream: #f4f2ea;
	--cns-article-font: "Poppins", system-ui, sans-serif;
}
.wpcursor-component[class*="wpcursor-article-"],
.wpcursor-component[class*="wpcursor-article-"] p,
.wpcursor-component[class*="wpcursor-article-"] li,
.wpcursor-component[class*="wpcursor-article-"] h1,
.wpcursor-component[class*="wpcursor-article-"] h2,
.wpcursor-component[class*="wpcursor-article-"] a,
.wpcursor-component[class*="wpcursor-article-"] span {
	font-family: "Poppins", system-ui, sans-serif !important;
	box-sizing: border-box;
}
.cns-post-layout {
	background: #f7f6f2;
	color: #2c3830;
	font-family: var(--cns-article-font);
}

.cns-post-layout__inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: clamp(1.6rem, 3vw, 2.6rem) clamp(1.15rem, 4vw, 2rem) 0.4rem;
	display: grid;
	grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
	gap: clamp(1.4rem, 3vw, 2.8rem);
	align-items: start;
	box-sizing: border-box;
}

.cns-post-layout__inner--solo {
	grid-template-columns: minmax(0, 46rem);
}

.cns-post-toc {
	position: sticky;
	top: 1.25rem;
	padding: 1.05rem 1rem 1.1rem;
	border-radius: 1.05rem;
	background: #f3f4f0;
	box-shadow: inset 0 0 0 1px rgba(23, 51, 38, 0.04);
}

.cns-post-toc__title {
	margin: 0 0 0.85rem;
	color: #1a1f1c !important;
	font-size: 0.98rem;
	font-weight: 700;
}

.cns-post-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.35rem;
}

.cns-post-toc__link {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	padding: 0.28rem 0.2rem;
	color: #3d4741 !important;
	font-size: 0.86rem;
	line-height: 1.35;
	text-decoration: none !important;
}

.cns-post-toc__link:hover .cns-post-toc__label {
	color: #173326;
}

.cns-post-toc__n {
	flex: 0 0 1.35rem;
	width: 1.35rem;
	height: 1.35rem;
	margin-top: 0.05rem;
	border-radius: 50%;
	background: #d5ec78;
	color: #1d3a22;
	font-size: 0.72rem;
	font-weight: 700;
	display: inline-grid;
	place-items: center;
}

.cns-post-toc__link.is-active .cns-post-toc__n {
	background: #1d3a22;
	color: #fff;
}

.cns-post-toc__link.is-active .cns-post-toc__label {
	color: #173326;
	font-weight: 600;
}

.cns-post-sec {
	scroll-margin-top: 1.4rem;
}

.cns-post-sec + .cns-post-sec,
.cns-post-sec + .cns-post-take,
.cns-post-take + .cns-post-sec {
	margin-top: 1.7rem;
}

.cns-post-sec__title {
	margin: 0 0 0.7rem;
	color: #17191a !important;
	font-family: var(--cns-article-font);
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.cns-post-sec__content {
	color: #3e4842;
	font-size: 0.98rem;
	line-height: 1.65;
}

.cns-post-sec__content::after {
	content: "";
	display: block;
	clear: both;
}

.cns-post-sec__content p,
.cns-post-take__body p {
	margin: 0 0 0.85rem;
}

.cns-post-sec__content a {
	color: #1d3a22;
	font-weight: 600;
}

.cns-post-sec__content ul,
.cns-post-sec__content ol {
	margin: 0 0 0.9rem;
	padding-left: 1.15rem;
}

.cns-post-fig {
	margin: 0 0 1rem;
}

.cns-post-fig--side {
	float: right;
	width: min(230px, 42%);
	margin: 0.15rem 0 0.85rem 1.15rem;
}

.cns-post-fig img,
.cns-post-sec__content img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0.9rem;
}

.cns-post-sec__content img {
	max-width: min(280px, 46%);
	float: right;
	width: auto;
	margin: 0.15rem 0 0.85rem 1.15rem;
}

.cns-post-fig img {
	float: none;
	width: 100%;
	max-width: none;
	margin: 0;
}

.cns-post-quote {
	margin: 0.4rem 0 1.1rem;
	padding: 1.15rem 1.25rem 1rem;
	border-radius: 0.95rem;
	background: #f3f5f0;
	color: #2a332e !important;
}

.cns-post-quote::before {
	content: "“";
	display: block;
	margin-bottom: 0.15rem;
	color: #b6d24c;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 2.7rem;
	line-height: 0.7;
}

.cns-post-quote p {
	margin: 0 !important;
	font-size: 1.02rem;
	font-style: italic;
	font-weight: 500;
	line-height: 1.45;
}

.cns-post-take {
	margin-top: 1.8rem;
	padding: 1.15rem 1.2rem 0.4rem;
	border-radius: 1rem;
	background: #e7f6c8;
}

.cns-post-take__head {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 0.65rem;
}

.cns-post-take__icon {
	width: 1.9rem;
	height: 1.9rem;
	border-radius: 50%;
	background: #fff;
	color: #7ea314;
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
}

.cns-post-take__title {
	margin: 0;
	color: #17301c !important;
	font-size: 1.05rem;
	font-weight: 800;
}

.cns-post-take__body {
	color: #243128;
	font-size: 0.95rem;
	line-height: 1.55;
}

.cns-post-take__body ul {
	margin: 0;
	padding-left: 1.1rem;
}

.cns-post-take__body li::marker {
	color: #6f9a12;
}

.cns-post-take__body li {
	margin: 0 0 0.4rem;
}
@media (max-width: 860px) {
	.cns-post-layout__inner {
		grid-template-columns: 1fr;
	}
	.cns-post-toc {
		position: sticky;
		top: 0.4rem;
		z-index: 30;
		background: #f7f6f2;
	}
	.cns-post-toc__list {
		display: flex;
		gap: 0.35rem;
		overflow-x: auto;
		padding-bottom: 0.2rem;
	}
	.cns-post-toc__list li {
		flex: 0 0 auto;
		max-width: 15rem;
	}
	.cns-post-fig--side,
	.cns-post-sec__content img {
		float: none;
		width: 100%;
		max-width: 22rem;
		margin: 0 0 1rem;
	}
}

.wpcursor-article-body .cns-post-sec__title,
.wpcursor-article-body h2.cns-post-sec__title {
	color: #17191a !important;
	font-weight: 800 !important;
}
