/* Shared public/constructor article elements.
   Stitch 1092143651721585207: Sources 25bec0c670124a2cad242a20811fb818;
   Quote/Table 40b2828b5ca84f3791d476ed126ac072. Sample claims and metadata
   are deliberately not added to the author's content. */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url('/theme-assets/fonts/newsreader-italic-variable.ttf') format('truetype');
}
@font-face {
  font-family: 'Article Symbols';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/theme-assets/fonts/material-symbols-blog.ttf') format('truetype');
}

/* Same surface, border, radius and shadow tokens as the landing FAQ card. */
:is(.blog-article, .blog-builder) .article-body [data-article-faq] {
  min-width: 0;
  margin: 48px 0 24px;
  padding: 36px 36px 32px;
  border: 1px solid var(--brand-border);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
:is(.blog-article, .blog-builder) .article-body [data-article-faq] h2 {
  margin: 0 0 4px;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--border);
}
.blog-builder .article-body [data-article-faq] { margin: 0; }
.blog-builder .article-body [data-article-faq] > :first-child { display: block; }
.blog-builder .article-body .blog-faq-item {
  margin: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  background: transparent;
}
.blog-builder .article-body .blog-faq-item:last-child { border-bottom: 0; }

/* Warm Editorial Classic: paper surface, gradient rule, Newsreader italic. */
:is(.blog-article, .blog-builder) .article-body blockquote {
  position: relative;
  box-sizing: border-box;
  min-width: 0;
  margin: 24px 0;
  padding: 36px 36px 36px 58px;
  border: 1px solid rgb(224 192 177 / 35%);
  border-radius: 12px;
  background:
    linear-gradient(#9d4300, #f97316, #ffdbce) 36px 36px / 6px calc(100% - 72px) no-repeat,
    linear-gradient(90deg, rgb(255 219 202 / 20%), rgb(251 242 240 / 40%), transparent), #fff;
  box-shadow: 0 1px 2px rgb(0 0 0 / 5%);
  color: #1e1b1a;
  font: italic 400 25px/38px 'Newsreader', Georgia, serif;
  text-transform: none;
}
:is(.blog-article, .blog-builder) .article-body blockquote::before {
  content: 'Pull quote';
  display: block;
  width: fit-content;
  max-width: calc(100% - 36px);
  margin-bottom: 8px;
  padding: 2px 10px 2px 22px;
  border-radius: 9999px;
  background: radial-gradient(circle at 13px 50%, #9d4300 3px, transparent 3.5px), rgb(255 219 202 / 60%);
  color: #341100;
  font: 600 12px/16px Inter, sans-serif;
  letter-spacing: .025em;
  text-transform: none;
}
:is(.blog-article, .blog-builder) .article-body blockquote::after {
  content: '\e244'; /* Material Symbols: format_quote */
  position: absolute;
  top: 30px;
  right: 36px;
  color: rgb(157 67 0 / 30%);
  font: 400 32px/32px 'Article Symbols';
  pointer-events: none;
}
:is(.blog-article, .blog-builder) .article-body blockquote p {
  margin: 0 0 16px;
  color: inherit;
  font: inherit;
}
:is(.blog-article, .blog-builder) .article-body blockquote p:last-child { margin-bottom: 0; }
:is(.blog-article, .blog-builder) .article-body blockquote cite {
  display: block;
  position: relative;
  margin-top: 16px;
  padding: 4px 0 0 12px;
  border-top: 1px solid rgb(224 192 177 / 30%);
  color: #1e1b1a;
  font: 700 15px/26px 'Plus Jakarta Sans', sans-serif;
  letter-spacing: .025em;
  text-transform: none;
}
:is(.blog-article, .blog-builder) .article-body blockquote cite::before {
  content: '';
  position: absolute;
  top: 16px;
  left: 0;
  width: 8px;
  height: 2px;
  background: #9d4300;
}
.blog-builder .article-body .blog-block-card > blockquote { margin: 0; }

/* A real table remains a table, with one scroll frame on narrow canvases. */
.article-body .article-table-frame {
  max-width: 100%;
  margin: 24px 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  border: 1px solid rgb(224 192 177 / 40%);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgb(0 0 0 / 5%);
}
.article-body .article-table-frame:focus-visible { outline: 2px solid #9d4300; outline-offset: 4px; }
.blog-builder .article-body .article-table-frame { margin: 0; }
:is(.blog-article, .blog-builder) .article-body table {
  display: table;
  width: 100%;
  min-width: min(100%, 420px);
  max-width: none;
  margin: 0;
  overflow: visible;
  border: 0;
  border-collapse: collapse;
  table-layout: auto;
  color: #1e1b1a;
  font: 400 15px/24px Inter, sans-serif;
}
:is(.blog-article, .blog-builder) .article-body table caption {
  display: table-caption;
  position: relative;
  caption-side: top;
  padding: 20px 24px 20px 64px;
  border-bottom: 1px solid rgb(224 192 177 / 30%);
  background: #fbf2f0;
  color: #1e1b1a;
  text-align: left;
  font: 700 18px/26px 'Plus Jakarta Sans', sans-serif;
}
:is(.blog-article, .blog-builder) .article-body table caption::before {
  content: '\e265'; /* Material Symbols: table_chart */
  position: absolute;
  left: 24px;
  top: calc(50% - 16px);
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #ffdbca;
  color: #341100;
  text-align: center;
  font: 400 18px/32px 'Article Symbols';
}
:is(.blog-article, .blog-builder) .article-body table :is(th, td) {
  min-width: 0;
  padding: 14px 24px;
  border: 0;
  border-bottom: 1px solid rgb(224 192 177 / 20%);
  background: transparent;
  color: inherit;
  text-align: left;
  vertical-align: top;
  font: inherit;
}
:is(.blog-article, .blog-builder) .article-body table th {
  padding-top: 12px;
  padding-bottom: 12px;
  border-bottom-color: rgb(224 192 177 / 30%);
  background: rgb(251 242 240 / 50%);
  color: #584237;
  font: 700 11px/16px Inter, sans-serif;
  letter-spacing: .05em;
  text-transform: uppercase;
}
:is(.blog-article, .blog-builder) .article-body table tr:nth-child(even of :has(td)) { background: rgb(251 242 240 / 40%); }
:is(.blog-article, .blog-builder) .article-body table tr:has(td):hover { background: rgb(255 219 202 / 15%); }
:is(.blog-article, .blog-builder) .article-body table tr:last-child td { border-bottom: 0; }
:is(.blog-article, .blog-builder) .article-body table :is(td, th):nth-child(2):nth-last-child(2) { text-align: center; }
:is(.blog-article, .blog-builder) .article-body table :is(td, th):nth-child(3):last-child { text-align: right; }
:is(.blog-article, .blog-builder) .article-body table td:first-child { font-weight: 500; }
:is(.blog-article, .blog-builder) .article-body table td:first-child::before {
  content: '';
  float: left;
  width: 6px;
  height: 6px;
  margin: 9px 8px 0 0;
  border-radius: 50%;
  background: #f97316;
}
:is(.blog-article, .blog-builder) .article-body table tr:nth-child(even of :has(td)) td:first-child::before { background: #a73a00; }
:is(.blog-article, .blog-builder) .article-body table .article-table-number {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 6px;
  background: #f5ecea;
  font: 600 13px/20px ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}
:is(.blog-article, .blog-builder) .article-body table .article-table-money {
  color: #9d4300;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
  font-weight: 600;
}
:is(.blog-article, .blog-builder) .article-body table p { margin: 0; color: inherit; font: inherit; overflow-wrap: normal; }

/* Minimalist Inset Editorial: numbered footnotes, never a second card. */
:is(.blog-article, .blog-builder) .article-body [data-article-sources] {
  margin: 32px 0 0;
  padding: 32px 0 0;
  border: 0;
  border-top: 1px solid rgb(224 192 177 / 60%);
  border-radius: 0;
  background: transparent;
  color: #584237;
  font: 400 14px/20px Inter, sans-serif;
  counter-reset: article-source;
}
.blog-builder .article-body [data-article-sources] > :first-child { display: block; }
:is(.blog-article, .blog-builder) .article-body [data-article-sources] :is(h2, h3, h4) {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  color: #1e1b1a;
  font: 700 14px/20px 'Plus Jakarta Sans', sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}
:is(.blog-article, .blog-builder) .article-body [data-article-sources] :is(h2, h3, h4)::before {
  content: '';
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: #9d4300;
  clip-path: polygon(4px 2px, 14px 2px, 14px 16px, 9px 12px, 4px 16px, 4px 2px, 5.5px 3.5px, 5.5px 13px, 9px 10px, 12.5px 13px, 12.5px 3.5px, 5.5px 3.5px);
}
:is(.blog-article, .blog-builder) .article-body [data-article-sources] :is(ol, ul) { margin: 0; padding: 0; list-style: none; }
:is(.blog-article, .blog-builder) .article-body [data-article-sources] :is(li, [data-article-sources] > p, [data-article-sources] > .blog-inner-node[data-block-type='paragraph']) {
  position: relative;
  min-height: 48px;
  margin: 0 0 16px;
  padding: 12px 12px 12px 55px;
  border-radius: 8px;
  color: rgb(88 66 55 / 90%);
  font: 400 12px/16px Inter, sans-serif;
  counter-increment: article-source;
}
:is(.blog-article, .blog-builder) .article-body [data-article-sources] :is(li, [data-article-sources] > p, [data-article-sources] > .blog-inner-node[data-block-type='paragraph'])::before {
  content: counter(article-source, decimal-leading-zero);
  position: absolute;
  left: 12px;
  top: 14px;
  padding: 2px 8px;
  border-radius: 4px;
  background: #ffdbca;
  color: #9d4300;
  font: 700 12px/16px ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}
:is(.blog-article, .blog-builder) .article-body [data-article-sources] :is(li, [data-article-sources] > p, [data-article-sources] > .blog-inner-node[data-block-type='paragraph']):hover { background: rgb(251 242 240 / 70%); }
:is(.blog-article, .blog-builder) .article-body [data-article-sources] p { margin: 2px 0 0; color: inherit; font: inherit; }
:is(.blog-article, .blog-builder) .article-body [data-article-sources] a {
  color: #1e1b1a;
  font: 500 14px/20px Inter, sans-serif;
  text-decoration: underline;
  text-decoration-color: #e0c0b1;
  text-underline-offset: 2px;
}
:is(.blog-article, .blog-builder) .article-body [data-article-sources] a:hover { color: #9d4300; text-decoration-color: #9d4300; }
:is(.blog-article, .blog-builder) .article-body [data-article-sources] a:first-child { display: block; }
:is(.blog-article, .blog-builder) .article-body [data-article-sources] a:focus-visible { outline: 2px solid #9d4300; outline-offset: 3px; }
.blog-builder .article-body :is([data-block-type='table'], [data-block-type='articleSources'], [data-block-type='articleFAQ']) > .blog-block-controls > .blog-block-title { display: none; }

@media (max-width: 767px) {
  :is(.blog-article, .blog-builder) .article-body [data-article-faq] { padding: 24px 20px; }
  :is(.blog-article, .blog-builder) .article-body blockquote {
    padding: 24px 24px 24px 46px;
    background-position: 24px 24px, 0 0;
    background-size: 6px calc(100% - 48px), auto;
    font-size: 22px;
    line-height: 34px;
  }
  :is(.blog-article, .blog-builder) .article-body blockquote::after { top: 18px; right: 24px; }
}
.blog-builder.is-mobile-preview .article-body blockquote {
  padding: 24px 24px 24px 46px;
  background-position: 24px 24px, 0 0;
  background-size: 6px calc(100% - 48px), auto;
  font-size: 22px;
  line-height: 34px;
}
.blog-builder.is-mobile-preview .article-body blockquote::after { top: 18px; right: 24px; }
