/* Stage 4.1 Newsroom (public pages). Uses the marketing site's variables. */
.news-banner { background: var(--color-brand-strong); color: var(--warm-white); padding-block: var(--space-6) var(--space-5); }
.news-banner h1 { color: var(--warm-white); max-width: 30ch; font-size: var(--fs-800); }
.news-banner .lede { color: #c3ced4; max-width: 60ch; }
.news-banner .eyebrow { color: var(--teal-100); }
.news-banner a { color: var(--warm-white); }
.news-back { font-weight: 600; text-decoration: none; }
.news-back:hover { text-decoration: underline; }
.news-tabs { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-5); }
.news-tabs a { padding: .5em 1em; border: 1.5px solid var(--border-strong); border-radius: 999px; text-decoration: none; color: var(--color-ink); font-weight: 600; font-size: var(--fs-300); min-height: 44px; display: inline-flex; align-items: center; }
.news-tabs a[aria-current="page"] { background: var(--color-brand-strong); border-color: var(--color-brand-strong); color: var(--warm-white); }
.news-grid { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-4); grid-template-columns: 1fr; }
@media (min-width: 720px) { .news-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .news-grid { grid-template-columns: repeat(3, 1fr); } }
.news-card { background: var(--color-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: var(--space-4); display: flex; flex-direction: column; }
.news-card h2 { font-size: var(--fs-600); margin: var(--space-2) 0; }
.news-card h2 a { color: var(--color-brand-strong); text-decoration: none; }
.news-card h2 a:hover { text-decoration: underline; }
.news-card > p:last-child { margin-top: auto; }
.news-meta { font-size: var(--fs-200); color: var(--color-ink-muted); display: flex; flex-wrap: wrap; gap: .6em; align-items: center; margin: 0; }
.news-banner .news-meta { color: #c3ced4; }
.news-cat { display: inline-block; padding: .15em .7em; border-radius: 999px; background: var(--teal-100); color: var(--teal-700); font-weight: 700; text-decoration: none; font-size: var(--fs-200); }
.news-banner .news-cat { background: rgba(250, 248, 243, .14); color: var(--warm-white); }
.news-cat--notice { background: #f5e2ee; color: #ae2f7c; }
.news-empty { color: var(--color-ink-muted); }
.news-pager { display: flex; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-5); }
.news-byline { color: #c3ced4; font-size: var(--fs-300); margin: 0; }
.news-body { font-size: 1.09rem; line-height: 1.75; }
.news-body h2 { font-size: var(--fs-700); margin-top: var(--space-5); }
.news-body h3 { font-size: var(--fs-600); margin-top: var(--space-4); }
.news-body p, .news-body li { max-width: 68ch; }
.news-body blockquote { margin: var(--space-4) 0; padding: var(--space-2) var(--space-4); border-left: 4px solid var(--color-accent); background: var(--color-surface-alt); }
.news-body table { border-collapse: collapse; width: 100%; margin: var(--space-4) 0; display: block; overflow-x: auto; }
.news-body th, .news-body td { border: 1px solid var(--border-subtle); padding: .5em .75em; text-align: left; }
.news-body th { background: var(--color-surface-alt); }
.news-body pre { overflow-x: auto; background: var(--color-surface-alt); padding: var(--space-3); }
.news-note { background: var(--color-surface-alt); padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); }
.news-share { margin-top: var(--space-5); }
.news-share a { display: inline-block; padding: .35em 0; }
.news-cta { margin-top: var(--space-5); }
.news-cta h2 { font-size: var(--fs-600); }
.news-preview-bar { margin: 0; background: #f5e2ee; color: #7a1f57; text-align: center; font-weight: 700; padding: .6em; max-width: none; }
/* Stage 4.2 */
.news-card--image { padding-top: 0; overflow: hidden; }
.news-card-img { width: calc(100% + 2 * var(--space-4)); max-width: none; margin: 0 calc(-1 * var(--space-4)) var(--space-3); height: 190px; object-fit: cover; }
.news-cover { margin: 0 0 var(--space-5); }
.news-cover img { width: 100%; height: auto; border-radius: var(--radius-lg); }
.news-cover figcaption, .news-body figcaption { font-size: var(--fs-200); color: var(--color-ink-muted); margin-top: .4em; }
.news-body figure { margin: var(--space-4) 0; }
.news-body figure img { width: 100%; height: auto; border-radius: var(--radius-md); }
.news-tags a { display: inline-block; margin-right: .6em; font-weight: 600; padding: .3em 0; }
.news-tagline { font-weight: 700; }
.news-related { margin-top: var(--space-6); border-top: 1px solid var(--border-subtle); padding-top: var(--space-4); }
.news-related h2 { font-size: var(--fs-600); }
.news-related ul { list-style: none; padding: 0; }
.news-related li { padding: .6em 0; border-bottom: 1px solid var(--border-subtle); display: flex; flex-direction: column; gap: .2em; }
.news-related a { font-weight: 700; }

/* ---------- Stage 5 P1 (Desk): list banner, format chips, article extras ---------- */
.news-desk-banner { margin: 0; background: var(--pm-gossip, #d5f2a3); text-align: center; padding: .55em 1em; font-weight: 700; font-size: var(--fs-300); }
.news-desk-banner a { color: var(--pm-navy); text-decoration: none; }
.news-desk-banner a:hover { text-decoration: underline; text-underline-offset: 3px; }
.news-desk-tabs { align-items: center; }
.news-desk-label { font-size: var(--fs-200); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--color-ink-muted, var(--pm-navy-75)); padding-right: .35em; }

/* Article header: format badge + direction / commodity chips (dark banner). */
.news-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: var(--space-2) 0 0; }
.news-chip { display: inline-flex; align-items: center; padding: .2em .85em; border: 1.5px solid rgba(250, 248, 243, .45); border-radius: 999px; color: var(--warm-white); font-size: var(--fs-200); font-weight: 600; text-decoration: none; }
.news-chip:hover { background: rgba(250, 248, 243, .16); }

/* Layout: body + sticky "On this page" TOC (≥ 3 headings, ≥ 1000 px). */
.news-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.news-main { min-width: 0; }
.news-toc-aside { min-width: 0; }
@media (min-width: 1000px) {
  .news-layout--toc { grid-template-columns: minmax(0, 1fr) 16rem; }
  .news-toc-aside { order: 2; position: sticky; top: 1rem; align-self: start; max-height: calc(100vh - 2rem); overflow: auto; }
}
.news-toc { border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); background: var(--color-surface-alt); padding: var(--space-2) var(--space-3); }
.news-toc summary { display: flex; align-items: center; min-height: 40px; font-weight: 800; font-size: var(--fs-300); cursor: pointer; }
.news-toc summary::marker { color: var(--color-secondary); }
.news-toc ol { list-style: none; margin: 0 0 var(--space-2); padding: 0; }
.news-toc li { margin: .1rem 0; }
.news-toc a { display: block; font-size: var(--fs-300); padding: .35rem .25rem; color: var(--color-text-secondary); text-decoration: none; border-left: 2px solid transparent; }
.news-toc a:hover { color: var(--color-link); text-decoration: underline; border-left-color: var(--color-focus); }
.news-toc-l3 a { padding-left: 1.1rem; font-size: var(--fs-200); }

/* The inline subscribe box lands after the second h2 (or at the end). */
.news-subscribe--inline { margin: var(--space-5) 0; }

/* Writer box under the article. */
.news-author { margin-top: var(--space-5); background: var(--color-surface-alt); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: var(--space-3) var(--space-4); }
.news-author h2 { font-size: var(--fs-200); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--color-ink-muted, var(--pm-navy-75)); margin: 0 0 .35rem; }
.news-author-name { margin: 0 0 .25rem; font-size: var(--fs-500); }
.news-author-line { margin: 0; color: var(--color-text-secondary); font-size: var(--fs-300); }

@media (max-width: 560px) {
  .news-chips { gap: .4rem; }
  .news-toc { padding: var(--space-2); }
}
