.kcp-faq,
.kcp-related,
.kcp-source-note,
.kcp-disclaimer {
	box-sizing: border-box;
	margin-block: clamp(1.25rem, 3vw, 2rem);
	padding: clamp(1rem, 3vw, 1.5rem);
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: .65rem;
}

.kcp-faq { background: color-mix(in srgb, currentColor 4%, transparent); }
.kcp-related { background: color-mix(in srgb, currentColor 3%, transparent); }
.kcp-faq h2:first-child,
.kcp-related h2:first-child { margin-top: 0; }
.kcp-related ul { margin-bottom: 0; }
.kcp-source-note,
.kcp-disclaimer { font-size: .92em; line-height: 1.6; }
.kcp-source-note { border-left: .3rem solid currentColor; }
.kcp-disclaimer { background: color-mix(in srgb, #b68113 8%, transparent); }
.kcp-source-note p,
.kcp-disclaimer p { margin: 0; }
.kcp-cta { margin-block: clamp(1.5rem, 4vw, 2.5rem); }
.kcp-stock-hero { margin-block: 0 clamp(1.5rem, 4vw, 2.5rem); }
.kcp-stock-hero img { width: 100%; height: auto; border-radius: .65rem; }
.kcp-stock-hero figcaption,
.kcp-image-credit { color: color-mix(in srgb, currentColor 70%, transparent); font-size: .78em; line-height: 1.45; }
.kcp-image-credit { margin-block: 1.25rem; }

@media (max-width: 480px) {
	.kcp-faq,
	.kcp-related,
	.kcp-source-note,
	.kcp-disclaimer { border-radius: .45rem; }
	.kcp-cta .wp-block-button,
	.kcp-cta .wp-block-button__link { width: 100%; text-align: center; }
}
