/* Long-form reading: blog posts, case study text and plain pages. */
.sd-prose { font-size: 18px; line-height: 1.75; color: var(--fg-2); overflow-wrap: break-word; }
.sd-prose > * + * { margin-top: 1.25em; }
.sd-prose > p:first-child { font-size: 20px; line-height: 1.6; color: var(--fg); }
.sd-prose h2, .sd-prose h3, .sd-prose h4 { color: var(--fg); font-weight: 600; line-height: 1.2; text-wrap: balance; scroll-margin-top: 110px; }
.sd-prose h2 { margin-top: 2em; font-size: clamp(26px, 2.4vw, 34px); letter-spacing: -.035em; }
.sd-prose h3 { margin-top: 1.7em; font-size: clamp(21px, 1.8vw, 25px); letter-spacing: -.025em; }
.sd-prose h4 { margin-top: 1.5em; font-size: 19px; letter-spacing: -.015em; }
.sd-prose h2 + *, .sd-prose h3 + *, .sd-prose h4 + * { margin-top: .6em; }
.sd-prose a { color: var(--accent-ink); text-decoration: underline; text-decoration-color: rgba(47, 91, 255, .35); text-decoration-thickness: 1.5px; text-underline-offset: 3px; transition: color .2s, text-decoration-color .2s; }
.sd-prose a:hover { color: var(--fg); text-decoration-color: currentColor; }
.sd-prose strong { font-weight: 600; color: var(--fg); }
.sd-prose ul, .sd-prose ol { padding-left: 1.3em; }
.sd-prose ul:not([class]), .sd-prose ul.wp-block-list { list-style: disc; }
.sd-prose ol:not([class]), .sd-prose ol.wp-block-list { list-style: decimal; }
.sd-prose li > ul:not([class]), .sd-prose li > ul.wp-block-list { list-style: circle; margin-top: .45em; }
.sd-prose li + li { margin-top: .45em; }
.sd-prose ul li::marker { color: var(--accent); }
.sd-prose ol li::marker { color: var(--accent); font-family: var(--f-mono); font-size: .85em; }
.sd-prose blockquote { margin: 1.8em 0; padding: 20px 24px; border-left: 3px solid var(--accent); border-radius: 0 14px 14px 0; background: var(--accent-soft); font-size: 1.12em; line-height: 1.55; color: var(--fg); }
.sd-prose blockquote cite { display: block; margin-top: 10px; font-family: var(--f-mono); font-style: normal; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.sd-prose img, .sd-prose video, .sd-prose iframe { max-width: 100%; height: auto; border-radius: 14px; }
.sd-prose figure { margin: 2em 0; }
.sd-prose figcaption, .sd-prose .wp-element-caption { margin-top: 10px; font-size: 14px; color: var(--muted); text-align: center; }
.sd-prose .alignwide { width: min(1000px, 100vw - var(--gutter) * 2); margin-left: 50%; transform: translateX(-50%); }
.sd-prose .alignfull { width: 100vw; margin-left: 50%; transform: translateX(-50%); border-radius: 0; }
.sd-prose .aligncenter { margin-left: auto; margin-right: auto; }
.sd-prose .alignleft { float: left; max-width: 50%; margin: .4em 1.6em 1em 0; }
.sd-prose .alignright { float: right; max-width: 50%; margin: .4em 0 1em 1.6em; }
.sd-prose hr { height: 1px; margin: 3em 0; border: 0; background: var(--line); }
.sd-prose code { padding: .15em .4em; border-radius: 6px; background: var(--surface-2); font-family: var(--f-mono); font-size: .86em; color: var(--fg); }
.sd-prose pre { padding: 22px 24px; border-radius: 14px; background: var(--ink-950); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); color: var(--chrome); overflow-x: auto; font-size: 14px; line-height: 1.65; }
.sd-prose pre code { padding: 0; background: none; color: inherit; font-size: inherit; }
.sd-prose table { width: 100%; border-collapse: collapse; font-size: 16px; }
.sd-prose th, .sd-prose td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.sd-prose th { font-family: var(--f-mono); font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.sd-prose .wp-block-table { overflow-x: auto; }
.sd-prose .wp-block-button__link { display: inline-flex; padding: 14px 22px; border-radius: var(--r-pill); background: var(--cobalt-600); color: #fff; text-decoration: none; font-weight: 500; }
.sd-prose .wp-block-embed__wrapper iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; }
.sd-prose :lang(bn), .sd-prose.is-bn { line-height: 1.9; }
.sd-prose::after { content: ""; display: table; clear: both; }
.sd-prose .sd-callout { margin: 28px 0; padding: 20px 22px; border-radius: 14px; background: var(--accent-soft); box-shadow: inset 3px 0 0 var(--accent); }
.sd-prose .sd-callout p { margin: 0; }
@media (max-width: 600px) {
	.sd-prose { font-size: 17px; }
	.sd-prose > p:first-child { font-size: 18px; }
}
