.ctpol-wrap {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	background: var(--ctpol-bg, #f7f9f8);
	color: #1a1a1a;
	padding: 48px 16px 64px;
	width: 100%;
}
.ctpol-inner {
	max-width: 800px;
	margin: 0 auto;
}
.ctpol-header {
	margin-bottom: 28px;
	text-align: center;
}
.ctpol-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ctpol-primary, #0f7a4a);
	margin: 0 0 10px;
}
.ctpol-title {
	font-family: 'Poppins', sans-serif;
	font-size: clamp(26px, 4vw, 34px);
	font-weight: 700;
	margin: 0 0 8px;
	letter-spacing: -0.02em;
}
.ctpol-meta {
	margin: 0;
	font-size: 13px;
	color: #6b7280;
}
.ctpol-toc {
	background: #fff;
	border: 1px solid #e4ebe6;
	border-radius: 14px;
	padding: 18px 22px;
	margin-bottom: 32px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.03);
}
.ctpol-toc strong {
	display: block;
	font-size: 13px;
	margin-bottom: 10px;
	color: var(--ctpol-primary, #0f7a4a);
}
.ctpol-toc ol {
	margin: 0;
	padding-left: 18px;
	columns: 1;
}
.ctpol-toc li {
	margin-bottom: 6px;
	font-size: 13.5px;
}
.ctpol-toc a {
	color: #374151;
	text-decoration: none;
}
.ctpol-toc a:hover {
	color: var(--ctpol-primary, #0f7a4a);
	text-decoration: underline;
}
.ctpol-body {
	background: #fff;
	border-radius: 16px;
	padding: 32px 28px;
	border: 1px solid #e4ebe6;
	box-shadow: 0 4px 16px rgba(0,0,0,0.03);
	line-height: 1.75;
	font-size: 15px;
	color: #374151;
}
.ctpol-h2 {
	font-family: 'Poppins', sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: #111;
	margin: 28px 0 12px;
	padding-top: 8px;
	border-top: 1px solid #eef2ef;
	scroll-margin-top: 80px;
}
.ctpol-body .ctpol-h2:first-child {
	margin-top: 0;
	border-top: none;
	padding-top: 0;
}
.ctpol-body p {
	margin: 0 0 12px;
}
.ctpol-list {
	margin: 0 0 16px;
	padding-left: 22px;
}
.ctpol-list li {
	margin-bottom: 6px;
}
.ctpol-footer {
	margin-top: 24px;
	font-size: 12px;
	color: #9ca3af;
	text-align: center;
}
.ctpol-footer p { margin: 0; }
@media (max-width: 600px) {
	.ctpol-body { padding: 22px 16px; }
	.ctpol-wrap { padding: 32px 12px 48px; }
}
