/* Article content the approved article mockup did not include (tables, quotes,
   code, ordered lists, rules). Lifted unchanged from the live article CSS
   (app/(site)/blog/[slug]/prose.css and key-takeaways.css) so these elements keep
   their live styling. Everything the mockup shows is styled by pages-r2.css and
   blog-article-r3.css. Not a mockup file. */
/* colour tokens the rules below read (custom properties only) */
.prose-gray{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:#1118271a;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151}
.prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}
.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}
.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}
.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}
.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}
.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}
.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}
.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}
.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}
.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}
.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}
.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}
.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}
.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}
.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}
.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}
.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}
.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}
.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}
.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}
.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}
.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}
.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}
.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}
.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}
.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}
.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}
.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}
.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}
.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:initial;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}
.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}
.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}
.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}
.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}
.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}
.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}
.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}
.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:initial}
.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}
.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}
.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}
.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}
.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}
.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}
.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}
.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}
.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}
.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}
.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}
.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}
.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}
.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}
.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6666667em;margin-bottom:1.6666667em;padding-inline-start:1em}
.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;border-radius:.3125rem;padding-top:.2222222em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-inline-start:.4444444em}
.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}
.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}
.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}
.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding-top:1em;padding-inline-end:1.5em;padding-bottom:1em;padding-inline-start:1.5em}
.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}
.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}
.prose-lg :where(.prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}
.prose-lg :where(.prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}
.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}
.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3.1111111em;margin-bottom:3.1111111em}
.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}
.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}
.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}
.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}
.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}
.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.75em;padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}
.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}
.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}
.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}
.prose blockquote{
  position: relative;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 6px 8px 6px 58px;
  margin: 1.8em 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: 1.15em;
  font-weight: 500;
  line-height: 1.65;
  color: #1e293b;
}
.prose blockquote::before{
  content: '\201C';
  position: absolute;
  top: -8px;
  left: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-style: normal;
  font-size: 64px;
  line-height: 1;
  color: #2563eb;
}
.prose blockquote p{
  margin: 0;
}
.prose blockquote p + p{
  margin-top: 12px;
}
.prose blockquote p:first-of-type::before,
.prose blockquote p:last-of-type::after{
  content: none;
}
.prose table{
  background: #ffffff;
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(37, 99, 235, 0.10), 0 1px 3px rgba(15, 23, 42, 0.06);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}
.prose thead{
  background: #dbeafe;
  border-bottom: 0;
}
.prose thead th{
  padding: 14px 16px;
  color: #1e3a8a;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.06em;
  border-bottom: 2px solid #bfdbfe;
}
.prose tbody tr{
  border-bottom: 1px solid #e2e8f0;
}
.prose tbody tr:nth-child(even){
  background: #eff6ff;
}
.prose tbody td{
  padding: 12px 16px;
}
.prose tbody tr:last-child{
  border-bottom: 0;
}
.article-table,
.article-table-frame{
  display: contents;
}
.article-table-hint{
  display: none;
}
@media (max-width: 767px){.prose .article-table{
    display: block;
    margin: 2em 0;
    min-width: 0;
  }.article-table-frame{
    display: block;
    position: relative;
  }.prose .article-table table{
    margin: 0;
  }.article-table[data-overflow="true"] .article-table-hint{
    display: flex;
    justify-content: flex-end;
    margin-bottom: 8px;
  }.article-table-hint button{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 4px 2px;
    border: 0;
    background: none;
    color: #2563eb;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    cursor: pointer;
  }.article-table-hint button:focus-visible,
  .article-table table:focus-visible{
    outline: 2px solid #2563eb;
    outline-offset: 4px;
  }.article-table-arrow{
    flex: none;
  }.article-table[data-more-right="false"] .article-table-arrow{
    transform: rotate(180deg);
  }.article-table-frame::before,
  .article-table-frame::after{
    content: '';
    position: absolute;
    z-index: 1;
    top: 14px;
    bottom: 14px;
    width: 2px;
    background: #60a5fa;
    pointer-events: none;
    opacity: 0;
  }.article-table-frame::before{ left: 0; }.article-table-frame::after{ right: 0; }.article-table[data-more-left="true"] .article-table-frame::before,
  .article-table[data-more-right="true"] .article-table-frame::after{
    opacity: 1;
  }.prose table{
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }.prose thead th,
  .prose tbody td{
    min-width: 150px;
  }.prose thead th{
    white-space: nowrap;
  }}
