/* 5.8.113 — shared page/article rhythm. Scoped away from homepage, chat and admin. */
body.np-editorial {
 --ed-sans:var(--np-font-body,"NP Sans","Segoe UI",Arial,sans-serif);
 --ed-serif:var(--np-font-display,"NP Serif",Georgia,serif);
 --ed-text:#173e4b;--ed-muted:#526b73;--ed-border:#c7d9d5;
 --ed-gutter:clamp(16px,3vw,32px);--ed-pad:clamp(20px,3vw,36px);
 --ed-gap:clamp(24px,3vw,40px);--ed-body:17px;
}
body.np-editorial #main-content>.container,
body.np-editorial #main-content>.section>.container {width:calc(100% - var(--ed-gutter)*2);max-width:1180px;margin-inline:auto}
body.np-editorial #main-content .np-editorial-heading {padding:var(--ed-pad)!important;margin-block:24px var(--ed-gap);background:#f8faf6;border:1px solid var(--ed-border);border-radius:20px;color:var(--ed-text)}
body.np-editorial #main-content .np-editorial-heading .breadcrumbs {font:400 14px/1.5 var(--ed-sans);display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;color:var(--ed-muted);overflow-wrap:anywhere}
body.np-editorial #main-content .np-editorial-heading-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:var(--ed-gap);align-items:center}
body.np-editorial #main-content .has-visual .np-editorial-heading-grid {grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body.np-editorial #main-content .np-editorial-heading-copy {min-width:0}
body.np-editorial #main-content .np-editorial-heading .kicker {font:700 12px/1.5 var(--ed-sans);letter-spacing:.1em;color:#08777b;margin:0 0 12px}
body.np-editorial #main-content .np-editorial-heading h1 {font-family:var(--ed-serif)!important;font-size:clamp(30px,2.8vw,42px)!important;font-weight:700;line-height:1.25;letter-spacing:normal;word-spacing:normal;max-width:26ch;margin:0 0 16px;text-wrap:pretty;overflow-wrap:break-word}
body.np-editorial #main-content .np-editorial-heading .pub-lead {font:400 17px/1.7 var(--ed-sans);color:var(--ed-muted);max-width:68ch;margin:0}
body.np-editorial #main-content .np-editorial-heading .byline {font:400 14px/1.6 var(--ed-sans);color:var(--ed-muted);margin:16px 0 0}
body.np-editorial #main-content .np-editorial-heading-visual {min-width:0;overflow:hidden;border-radius:14px;border:1px solid var(--ed-border);background:#e8efeb}
body.np-editorial #main-content .np-editorial-heading-visual .media-figure {margin:0;border-radius:0;background:transparent}
body.np-editorial #main-content .np-editorial-heading-visual img {display:block;width:100%;height:auto;max-height:380px;object-fit:contain;aspect-ratio:auto}
body.np-editorial #main-content .article-layout {display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:28px;align-items:start;padding-bottom:var(--ed-gap)}
body.np-editorial #main-content :is(.article-body,.np-legal-article) {min-width:0;border:1px solid var(--ed-border);border-radius:18px;background:#fffdf8;padding:var(--ed-pad);color:var(--ed-text);box-shadow:0 8px 28px #00283a0a}
body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) {font:400 var(--ed-body)/1.75 var(--ed-sans);overflow-wrap:break-word;word-break:normal;letter-spacing:normal;word-spacing:normal}
body.np-editorial #main-content .article-body :is(.smart-article,.np-rich-article) {font:inherit;color:inherit}
body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) :is(p,li,td,th) {font-family:var(--ed-sans)!important;font-size:var(--ed-body)!important;line-height:1.75!important;letter-spacing:normal!important;word-spacing:normal!important}
body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) :is(p,li,td,th) :is(span,a,strong,b,em,i,u) {font-family:inherit!important;font-size:inherit!important;line-height:inherit!important}
body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) p {margin:0 0 1em!important;text-align:start!important}
body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) :is(h1,h2,h3,h4) {font-family:var(--ed-serif)!important;font-weight:700!important;line-height:1.4!important;letter-spacing:normal!important;word-spacing:normal!important;margin:1.5em 0 .65em!important;color:var(--ed-text)!important;scroll-margin-top:120px;text-align:start!important}
body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) :is(h1,h2) {font-size:28px!important}
body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) h3 {font-size:23px!important}
body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) h4 {font-size:20px!important}
body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) :is(h1,h2,h3,h4) :is(span,a,strong,b,em,i) {font:inherit!important;color:inherit!important}
body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) :is(ul,ol) {padding-inline-start:1.4em;margin:0 0 1.25em}
body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) li {margin:.35em 0}
body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) :is(strong,b) {font-weight:700}
body.np-editorial #main-content .article-body :is(.smart-block,.content-block) {margin:0 0 28px}
body.np-editorial #main-content .article-body>p {max-width:72ch}
body.np-editorial #main-content .article-body img {max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
body.np-editorial #main-content .article-body figure {margin:24px 0}
body.np-editorial #main-content .article-body figcaption {font:400 14px/1.6 var(--ed-sans);color:var(--ed-muted);padding:12px 16px;text-align:center}
body.np-editorial #main-content .article-body figcaption :is(p,span) {font:inherit!important;margin:0!important;text-align:center!important}
body.np-editorial #main-content .article-body blockquote {border-left:3px solid #c8a95c;background:#f1f6f2;padding:18px 20px;margin:24px 0}
body.np-editorial #main-content :is(.article-body,.np-legal-copy) table {display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:24px 0}
body.np-editorial #main-content :is(.article-body,.np-legal-copy) :is(td,th) {padding:12px;border:1px solid var(--ed-border);min-width:100px;vertical-align:top}
body.np-editorial #main-content .article-body :is(.np-rich-article,.smart-article)>:first-child,
body.np-editorial #main-content .np-legal-copy>:first-child {margin-top:0!important}
body.np-editorial #main-content .article-aside {position:sticky;top:110px;min-width:0}
body.np-editorial #main-content .article-aside :is(.toc,.aside-contact) {padding:20px;background:#eef5ef;border:1px solid var(--ed-border);border-radius:14px;margin:0 0 20px}
body.np-editorial #main-content .article-aside h2 {font:700 21px/1.4 var(--ed-serif);margin:0 0 12px}
body.np-editorial #main-content .article-aside :is(p,a) {font-size:15px;line-height:1.6}
body.np-editorial #main-content .source-panel {margin:28px 0 0;padding:20px;background:#eef5f1}
body.np-editorial #main-content .source-panel h2 {font-size:21px!important;margin:0 0 12px!important}
body.np-editorial #main-content .source-panel p {font-size:14px!important;line-height:1.65!important}
body.np-editorial #main-content>.section {padding-block:0 var(--ed-gap)}
body.np-editorial #main-content>.pub-cream {padding-top:var(--ed-gap)}
body.np-editorial #main-content .editorial-grid {gap:24px}
body.np-editorial #main-content .editorial-card>div {padding:20px}
body.np-editorial #main-content .editorial-card img {object-fit:contain;background:#eef3ef}
body.np-editorial #main-content .editorial-card h3 {font:700 20px/1.45 var(--ed-sans)!important;margin:12px 0}
body.np-editorial #main-content .editorial-card p {font:400 16px/1.7 var(--ed-sans);margin:0 0 16px}
body.np-editorial #main-content .np-legal-layout {max-width:none;gap:28px}
body.np-editorial #main-content a:focus-visible {outline:3px solid #ac7d24;outline-offset:4px}
@media(max-width:850px){
 body.np-editorial #main-content .article-layout {grid-template-columns:minmax(0,1fr);gap:24px}
 body.np-editorial #main-content .article-aside {position:static}
 body.np-editorial #main-content .article-aside .toc {display:block}
 body.np-editorial #main-content .has-visual .np-editorial-heading-grid {grid-template-columns:minmax(0,1fr)}
 body.np-editorial #main-content .np-editorial-heading-visual {max-width:640px;width:100%;margin-inline:auto}
}
@media(max-width:600px){
 body.np-editorial {--ed-body:16px;--ed-gap:24px;--ed-pad:20px;--ed-gutter:14px}
 body.np-editorial #main-content .np-editorial-heading {margin-top:16px;border-radius:16px}
 body.np-editorial #main-content .np-editorial-heading .breadcrumbs {font-size:13px;margin-bottom:18px}
 body.np-editorial #main-content .np-editorial-heading .pub-lead {font-size:16px}
 body.np-editorial #main-content .np-editorial-heading h1 {font-size:30px!important}
 body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) :is(h1,h2) {font-size:25px!important}
 body.np-editorial #main-content :is(.article-body,.np-legal-copy,.np-legal-supplement) h3 {font-size:21px!important}
 body.np-editorial #main-content .editorial-grid {grid-template-columns:minmax(0,1fr);gap:20px}
 body.np-editorial #main-content .np-legal-layout {gap:20px}
}
@media print {body.np-editorial #main-content .article-layout{display:block}body.np-editorial #main-content .article-aside{display:none}body.np-editorial #main-content :is(.article-body,.np-editorial-heading,.np-legal-article){border:0;box-shadow:none;background:#fff;padding:0!important}}

/* Keep contrast in the existing dark call-to-action, after shared heading rules. */
body.np-editorial #main-content .article-body .smart-cta h2 {color:#fff8e9!important}
body.np-editorial #main-content .article-body .smart-cta p {color:#d7e7e6}
@media(max-width:600px){body.np-editorial #main-content .article-body :is(.smart-keypoints,.smart-callout,.smart-cta){padding:20px 16px}body.np-editorial #main-content .article-body .smart-keypoint-grid{grid-template-columns:minmax(0,1fr)}}
/* Legacy inventory CSS globally changed all mobile tables into cards. Restore article semantics. */
body.np-editorial #main-content :is(.article-body,.np-legal-copy) table {min-width:0;width:100%;box-sizing:border-box}
body.np-editorial #main-content :is(.article-body,.np-legal-copy) thead {display:table-header-group}
body.np-editorial #main-content :is(.article-body,.np-legal-copy) tbody {display:table-row-group;padding:0;background:transparent}
body.np-editorial #main-content :is(.article-body,.np-legal-copy) tfoot {display:table-footer-group}
body.np-editorial #main-content :is(.article-body,.np-legal-copy) tr {display:table-row;border:0;border-radius:0;padding:0}
body.np-editorial #main-content :is(.article-body,.np-legal-copy) :is(td,th) {display:table-cell;white-space:normal;letter-spacing:normal;text-transform:none}
body.np-editorial #main-content :is(.article-body,.np-legal-copy) td::before {display:none}

body.np-editorial #main-content .article-body>:first-child {margin-top:0!important}

/* One reading axis for ALL published news: plain, imported rich text and generated compositions.
   Shared renderer attaches np-news-article; no per-post data migration or author action needed. */
body.np-news-article {--ed-pad:32px;--ed-gap:24px}
body.np-news-article #main-content>.np-editorial-heading,
body.np-news-article #main-content>.article-layout {max-width:820px}
body.np-news-article #main-content .np-editorial-heading-grid,
body.np-news-article #main-content .has-visual .np-editorial-heading-grid {grid-template-columns:minmax(0,1fr);gap:24px}
body.np-news-article #main-content .np-editorial-heading h1 {font-size:38px!important;line-height:1.32;max-width:none;margin:0 0 16px;text-align:start;white-space:normal}
body.np-news-article #main-content .np-editorial-heading :is(.pub-lead,.byline) {max-width:none;text-align:start}
body.np-news-article #main-content .np-editorial-heading-visual {max-width:none;width:100%;margin:0}
body.np-news-article #main-content .np-editorial-heading-visual img {max-height:460px}
body.np-news-article #main-content .article-layout {grid-template-columns:minmax(0,1fr);gap:24px}
body.np-news-article #main-content .article-body>p {max-width:none}
body.np-news-article #main-content .article-body :is(p,li) {text-indent:0!important}
body.np-news-article #main-content .article-body :is(h1,h2) {font-size:26px!important;margin:32px 0 12px!important}
body.np-news-article #main-content .article-body h3 {font-size:22px!important;margin:24px 0 10px!important}
body.np-news-article #main-content .article-body h4 {font-size:19px!important;margin:20px 0 8px!important}
body.np-news-article #main-content .article-body :is(.np-rich-article,.smart-article)>:first-child,
body.np-news-article #main-content .article-body>:first-child {margin-top:0!important}
body.np-news-article #main-content .article-body :is(.smart-block,.content-block) {margin-bottom:24px}
body.np-news-article #main-content .article-aside {position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body.np-news-article #main-content .article-aside>:only-child {grid-column:1/-1}
body.np-news-article #main-content .article-aside :is(.toc,.aside-contact) {margin:0}
body.np-news-article #main-content .article-aside .toc {display:block}
body.np-news-article #main-content .source-panel h2 {font-size:21px!important;margin:0 0 12px!important}
body.np-news-article #main-content .article-body .smart-cta h2 {color:#fff8e9!important}
@media(max-width:850px){body.np-news-article{--ed-pad:24px}}
@media(max-width:600px){
 body.np-news-article {--ed-pad:18px;--ed-gutter:12px;--ed-gap:20px}
 body.np-news-article #main-content .np-editorial-heading h1 {font-size:28px!important;line-height:1.35}
 body.np-news-article #main-content .np-editorial-heading-grid {gap:20px}
 body.np-news-article #main-content .article-body :is(h1,h2){font-size:23px!important;margin:28px 0 12px!important}
 body.np-news-article #main-content .article-body h3 {font-size:20px!important}
 body.np-news-article #main-content .article-aside {grid-template-columns:minmax(0,1fr);gap:16px}
 body.np-news-article #main-content .article-body .source-panel h2 {font-size:20px!important;margin:0 0 12px!important}
}
/* Lead belongs to the reading column; reserve indented styling for real quotations/callouts. */
body.np-news-article #main-content .article-body .smart-lead {border:0;padding:0}
