/* 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:not(.sd-btn):not(.wp-block-button__link) { color: var(--accent-ink); text-decoration: underline; text-decoration-color: rgba(194, 65, 12, .35); text-decoration-thickness: 1.5px; text-underline-offset: 3px; transition: color .2s, text-decoration-color .2s; }
.sd-prose a:not(.sd-btn):not(.wp-block-button__link):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; }
/* Code block with a Copy button pinned to the top right corner */
.sd-code { position: relative; margin: 1.6em 0; }
.sd-code pre { margin: 0; padding-top: 52px; }
.sd-code__copy { position: absolute; top: 10px; right: 10px; z-index: 1; display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 0; border-radius: var(--r-pill); background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); color: #E6EAF0; font: 500 13px/1 var(--f-text); cursor: pointer; transition: background .2s, color .2s, box-shadow .2s; }
.sd-code__copy:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.sd-code__copy:focus-visible { outline: 2px solid var(--sky-300, #FFB27A); outline-offset: 2px; }
.sd-code__copy.is-done { background: rgba(52, 211, 153, .16); box-shadow: inset 0 0 0 1px rgba(52, 211, 153, .45); color: #6EE7B7; }
.sd-cs-body pre { padding: 22px 24px; border-radius: 14px; background: var(--ink-950); color: var(--chrome); overflow-x: auto; font-size: 14px; line-height: 1.65; }
.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); }
/* Wide tables scroll sideways inside the text column instead of pushing the page wider */
.sd-prose .wp-block-table { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.sd-prose .wp-block-table table { margin: 0; }
/* Lighter rules than the block editor's default black grid */
.sd-prose .wp-block-table th, .sd-prose .wp-block-table td { border: 0; border-bottom: 1px solid var(--line); }
.sd-prose .wp-block-table thead { border-bottom: 1px solid var(--line-2, var(--line)); }
.sd-prose .wp-block-table tbody tr:last-child td { border-bottom: 0; }
.sd-prose .wp-block-table { border-radius: 14px; box-shadow: inset 0 0 0 1px var(--line); }
.sd-prose figure, .sd-prose .wp-block-image, .sd-prose .wp-block-video { max-width: 100%; }
.sd-prose .wp-block-image img { max-width: 100%; height: 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 .wp-block-video { margin: 1.6em 0; }
.sd-prose .wp-block-video video { display: block; width: 100%; height: auto; border-radius: 14px; background: var(--surface-2); }
.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; }
	/* Tables without a header row: keep columns readable and let them scroll sideways */
	.sd-prose .wp-block-table:not(.sd-stack-wrap) table { min-width: 560px; font-size: 14.5px; }
	.sd-prose th, .sd-prose td { padding: 10px 12px; }
	/* Tables with a header row: every row becomes a card, labelled by column (see tables.js) */
	.sd-prose .wp-block-table.sd-stack-wrap { overflow: visible; border-radius: 0; box-shadow: none; }
	.sd-prose table.sd-stack, .sd-prose table.sd-stack tbody, .sd-prose table.sd-stack tr, .sd-prose table.sd-stack td { display: block; width: 100%; }
	.sd-prose table.sd-stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.sd-prose table.sd-stack tr { margin: 0 0 12px; padding: 4px 16px; border-radius: 14px; background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }
	.sd-prose table.sd-stack td { display: grid; grid-template-columns: minmax(96px, 38%) minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.5; }
	.sd-prose table.sd-stack td::before { content: attr(data-label); font-family: var(--f-mono); font-size: 11px; line-height: 1.6; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
	.sd-prose table.sd-stack td:first-child { display: block; padding: 12px 0 10px; font-size: 16px; font-weight: 600; color: var(--fg); }
	.sd-prose table.sd-stack td:first-child::before { content: none; }
	.sd-prose table.sd-stack tr td:last-child { border-bottom: 0; }
	.sd-prose > p:first-child { font-size: 18px; }
}
