/* Shared editorial typography, also used for articles cleaned in the database. */
#publication .flexible-text {
    font-family: Inter-Regular, Arial, sans-serif;
    font-size: clamp(18px, 1.35vw, 22px);
    line-height: 1.65;
    text-align: left;
    color: #4c4c4c;
}
#publication .flexible-text :is(p, div, span, font, li, td, th, a) {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: normal;
    white-space: normal;
}
#publication .flexible-text :is(p, ul, ol, blockquote, table, pre) { margin: 0 0 1.25em; }
#publication .flexible-text p { padding: 0; text-indent: 0; }
#publication .flexible-text :is(h2, h3, h4, h5, h6) {
    color: #333;
    font-family: Inter, Arial, sans-serif;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    letter-spacing: -.015em;
    margin: 1.75em 0 .7em;
    text-wrap: pretty;
}
#publication .flexible-text h2 { font-size: 1.5em; }
#publication .flexible-text h3 { font-size: 1.25em; }
#publication .flexible-text :is(h4, h5, h6) { font-size: 1.1em; }
#publication .flexible-text > :first-child { margin-top: 0; }
#publication .flexible-text > article > :first-child { margin-top: 0; }
#publication .flexible-text > :last-child { margin-bottom: 0; }
#publication .flexible-text :is(b, strong) { font-weight: 700; }
#publication .flexible-text :is(ul, ol) { padding-left: 1.5em; list-style-position: outside; }
#publication .flexible-text ul { list-style-type: disc; }
#publication .flexible-text ol { list-style-type: decimal; }
#publication .flexible-text ul ul { list-style-type: circle; }
#publication .flexible-text li { margin: 0 0 .5em; padding-left: .2em; }
#publication .flexible-text li > p { margin-bottom: .5em; }
#publication .flexible-text li > :last-child { margin-bottom: 0; }
#publication .flexible-text li :is(ul, ol) { margin-top: .5em; margin-bottom: 0; }
#publication .flexible-text li::marker { color: #777; }
#publication .flexible-text a { color: #d95600; text-decoration-thickness: 1px; text-underline-offset: .18em; }
#publication .flexible-text a:hover { color: #ad4400; }
#publication .flexible-text a :is(span, font) { color: inherit; }
#publication .flexible-text :is(img, video) { display: block; max-width: 100%; height: auto; margin: 1.25em auto; border-radius: 12px; }
#publication .flexible-text img._i454 { width: 300px; max-width: 100%; height: auto; border-radius: 0; }
#publication .flexible-text table { width: 100%; max-width: 100%; font-size: .9em; line-height: 1.5; border-collapse: collapse; }
#publication .flexible-text :is(th, td) { min-width: 120px; padding: 14px 18px; border: 1px solid #e5e5e5; vertical-align: top; text-align: left; }
#publication .flexible-text th { background: #f6f6f6; font-weight: 700; color: #333; }
#publication .flexible-text :is(th, td) > :last-child { margin-bottom: 0; }
#publication .flexible-text .publication-note { display: table; font-size: 1em; background: #fff7f1; border-left: 3px solid #ff6700; }
#publication .flexible-text .publication-note td { border: 0; padding: 20px 24px; min-width: 0; }
#publication .flexible-text blockquote { padding: 20px 24px; border-left: 3px solid #ff6700; background: #fff7f1; }
#publication .flexible-text blockquote > :last-child { margin-bottom: 0; }
#publication .flexible-text pre, #publication .flexible-text pre * { white-space: pre; font-family: monospace; }
#publication .flexible-text hr { border: 0; border-top: 1px solid #e5e5e5; margin: 2em 0; }
@media (max-width: 767px) {
    #publication .flexible-text { font-size: 18px; line-height: 1.6; }
    #publication .flexible-text h2 { font-size: 1.4em; }
    #publication .flexible-text :is(th, td) { padding: 10px 12px; }
    #publication .flexible-text .publication-note td, #publication .flexible-text blockquote { padding: 16px; }
}
