/* Public News surfaces shared by articles, reports and listings. */
body:has(.news-report-page, .news-listing-page) {
  --report-ink: #183d30;
  --report-text: #304d40;
  --report-muted: #52695b;
  --report-line: #d8e5da;
  --report-white: #fff;
  --report-tint: #eef5ee;
  --news-soft: #f1f6ed;
  --news-card-radius: 16px;
}
.news-report-page {
  display: block;
  width: min(100%, 1312px);
  max-width: none;
  padding: clamp(20px, 4vw, 56px) clamp(16px, 3vw, 36px) 72px;
}
.news-article-shell, .news-market-report {
  min-width: 0;
  color: var(--report-ink);
  overflow-wrap: anywhere;
}
body:has(.news-report-page, .news-listing-page) > .news-nav {
  padding-inline: max(16px, calc((100% - 1240px) / 2));
  border-block-end: 1px solid #e2eae2;
}
body:has(.news-market-report) > footer {
  padding: 24px;
  border-block-start: 1px solid #e2eae2;
  color: #52695b;
  text-align: center;
}
.report-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .94fr);
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
  padding: clamp(24px, 3.1vw, 46px);
  border: 1px solid var(--report-line);
  border-radius: 26px;
  background: var(--news-soft, #f1f6ed);
}
.report-hero--text { grid-template-columns: minmax(0, 820px); }
.report-badge {
  display: inline-block;
  padding: 6px 12px;
  border: 1px solid #c8ddca;
  border-radius: 999px;
  background: #e5f0e4;
  color: #24513a;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .04em;
}
.report-hero h1 {
  margin: 18px 0;
  color: #123a2d;
  font-size: clamp(42px, 4vw, 58px);
  font-weight: 760;
  line-height: 1.11;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.report-summary { margin: 0; color: var(--report-text); font-size: clamp(18px, 1.45vw, 20px); line-height: 1.6; }
.report-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-block-start: 23px; color: var(--report-muted); font-size: 14px; line-height: 1.5; }
.report-byline > :not(:first-child) { padding-inline-start: 12px; border-inline-start: 1px solid #b8cebf; }
.report-hero img { display: block; width: 100%; max-height: 420px; aspect-ratio: 16 / 10; border-radius: 22px; object-fit: cover; }

.news-share { margin-block-start: 20px; }
.news-share-title { margin: 0 0 8px; color: var(--report-text); font-size: 14px; font-weight: 700; }
.news-share-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.news-share .news-share-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 44px;
  min-height: 44px;
  padding: 5px 8px;
  border: 1px solid var(--report-line);
  border-radius: 10px;
  background: var(--report-white);
  color: var(--report-ink);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
  cursor: pointer;
}
.news-share-button svg { flex: none; }
.news-share .news-share-button--native { background: #e4f0e6; border-color: #a6c7af; }
.news-share .news-share-button:hover { background: var(--report-tint); border-color: #a6c7af; }
.news-share :is(.news-share-button, .news-share-link):focus-visible { outline: 3px solid #428259; outline-offset: 2px; }
.news-share-status { margin: 6px 0 0; color: var(--report-ink); font-size: 14px; }
.news-share-status:empty { position: absolute; margin: 0; }
.news-share-link { width: 100%; min-width: 0; padding: 8px; border: 1px solid #a6c7af; border-radius: 8px; font: inherit; }
.news-share [hidden] { display: none; }
.news-share--compact {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  max-width: 790px;
  margin: 28px auto 0;
  padding-block: 12px;
  border-block: 1px solid var(--report-line);
}
.news-share--compact .news-share-title { margin: 0; }
.news-share--compact .news-share-button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.news-share--compact .news-share-status:not(:empty) { flex-basis: 100%; margin: 0; }

.report-layout {
  display: grid;
  grid-template-columns: minmax(195px, 224px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(32px, 3.4vw, 52px);
  margin-block-start: clamp(32px, 5vw, 62px);
}
.report-content { display: grid; min-width: 0; gap: clamp(50px, 5.5vw, 78px); }
.report-toc {
  position: sticky;
  inset-block-start: 24px;
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 20px 15px;
  border: 1px solid var(--report-line);
  border-radius: 17px;
  background: var(--report-white);
}
.report-toc > p { margin: 0 8px 10px; font-size: 16px; font-weight: 750; }
.report-layout nav ol { margin: 0; padding: 0; list-style: none; }
.report-layout nav a {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 9px;
  padding: 8px;
  border-radius: 7px;
  color: var(--report-text);
  font-size: 14px;
  line-height: 1.45;
  text-decoration: none;
}
.report-layout nav a:hover, .report-layout nav a:focus-visible { background: var(--report-tint); }
.report-layout nav a > span { color: #486854; font-variant-numeric: tabular-nums; font-weight: 750; }
.report-mobile-toc { display: none; }
.news-market-report :is(a, summary, .news-table-scroll):focus-visible { outline: 3px solid #428259; outline-offset: 3px; }

.report-section { min-width: 0; scroll-margin-block-start: 24px; }
.report-section > header { margin-block-end: 23px; padding-block-end: 15px; border-block-end: 1px solid var(--report-line); }
.report-section-number { color: #3a694e; font-size: 14px; font-variant-numeric: tabular-nums; font-weight: 760; }
.report-section > header h2, .report-sources > h2, .report-related > h2 {
  margin: 4px 0 0;
  color: var(--report-ink);
  font-size: clamp(27px, 3vw, 36px);
  line-height: 1.2;
  letter-spacing: -.02em;
}
.news-market-report .news-blocks { gap: 20px; color: var(--report-text); }
.news-market-report .news-blocks > p, .report-assumptions p, .report-section--closing .news-blocks > p {
  max-width: 760px;
  font-size: 18px;
  line-height: 1.8;
}
.news-market-report .news-blocks > h3, .report-assumptions h3 { color: var(--report-ink); font-size: clamp(22px, 2.1vw, 26px); line-height: 1.3; }
.report-section--overview .news-callout { padding: clamp(22px, 3vw, 36px); border-inline-start-width: 5px; border-radius: 18px; background: #e9f2ed; }
.report-section--overview h2 { margin: 0 0 10px; color: var(--report-ink); font-size: clamp(25px, 3vw, 34px); line-height: 1.25; }
.report-section--overview p { max-width: 760px; font-size: 18px; line-height: 1.75; }
.report-section--closing { padding: clamp(20px, 3vw, 32px); border: 1px solid var(--report-line); border-inline-start: 4px solid #457654; border-radius: 17px; background: var(--report-tint); }
.report-section--closing > header { margin-block-end: 13px; }

.news-market-report .news-kpi-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 182px), 1fr)); gap: 14px; margin: 0; }
.news-market-report .news-kpi-grid > div { min-width: 0; padding: clamp(19px, 2vw, 25px); border-radius: 16px; background: var(--report-white); }
.news-market-report .news-kpi-grid dt, .report-stock-grid > li > strong { color: var(--report-muted); font-size: 13px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.news-market-report .news-kpi-grid dd { gap: 5px; margin-block-start: 9px; }
.news-market-report .news-kpi-grid dd strong, .report-stock-grid .report-stock-value dd {
  color: #18553a;
  font-size: clamp(28px, 2.45vw, 38px);
  font-weight: 750;
  line-height: 1.13;
  letter-spacing: -.025em;
}
.news-market-report .news-kpi-grid dd span, .news-market-report .news-kpi-grid dd small { font-size: 14px; line-height: 1.45; }
.news-market-report .news-kpi-grid dd i { font-style: normal; font-weight: 800; }
.report-media-pair { display: grid; grid-template-columns: minmax(122px, 163px) minmax(0, 1fr); align-items: stretch; gap: 14px; }
.news-market-report .report-media-pair .news-inline-image { display: grid; align-content: center; justify-items: center; padding: 15px; border: 1px solid #dae6d7; border-radius: 16px; background: #edf3e8; text-align: center; }
.news-market-report .report-media-pair .news-inline-image img { width: min(100%, 102px); max-height: 94px; object-fit: contain; }
.report-media-pair .news-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.report-media-pair .news-kpi-grid > div { padding-inline: clamp(13px, 1.45vw, 21px); }

.news-market-report :is(.news-bar-chart, .news-block-table, .report-comparison) {
  min-width: 0;
  padding: clamp(17px, 2.3vw, 28px);
  border: 1px solid var(--report-line);
  border-radius: 18px;
  background: var(--report-white);
}
.news-market-report :is(.news-bar-chart figcaption, .news-table-scroll caption, .report-comparison figcaption) {
  margin-block-end: 17px;
  color: var(--report-ink);
  font-size: clamp(18px, 1.65vw, 23px);
  font-weight: 750;
  line-height: 1.4;
  text-align: start;
}
.news-market-report .news-bar-chart { min-height: 270px; }
.news-market-report .news-bar-chart figcaption small { display: inline-block; margin-inline-start: 8px; color: var(--report-muted); font-size: 15px; font-weight: 600; }
.news-market-report .news-bar-chart ul { gap: 11px; margin: 0 0 19px; }
.news-market-report .news-bar-chart li {
  grid-template-columns: minmax(100px, 1.1fr) minmax(80px, 3.2fr) minmax(66px, auto);
  min-height: 39px;
  gap: 13px;
  font-size: 15px;
  font-weight: 650;
}
.news-market-report .news-bar-chart li > bdi { text-align: end; font-size: 17px; font-weight: 760; }
.news-market-report .news-bar-chart meter { height: 28px; }
.news-market-report .news-bar-chart meter::-webkit-meter-inner-element { height: 100%; }
.news-market-report .news-bar-chart meter::-webkit-meter-bar { height: 100%; background: #e6eee5; }
.news-market-report .news-bar-chart meter::-webkit-meter-optimum-value { background: #4b875e; }
.news-market-report .news-table-scroll { padding-block-end: 2px; }
.news-market-report .news-table-scroll table { min-width: 460px; }
.news-market-report .report-table-caption { margin-block-start: 15px; text-align: start; }
.report-table-caption > strong { color: var(--report-ink); font-size: 17px; }
.report-table-hint { display: none; margin: 0 0 9px; color: var(--report-muted); font-size: 14px; }
.news-market-report .news-table-scroll :is(th, td) { padding: 12px 14px; font-size: 15px; line-height: 1.55; }
.news-market-report .news-table-scroll th { font-weight: 750; }
.news-market-report :is(.news-block-note, .news-block-references, .news-inline-image figcaption) { color: var(--report-muted); font-size: 14px; line-height: 1.55; }
.news-market-report .news-block-references a { display: inline-block; min-width: 24px; color: #225c40; }

.report-stock-grid, .report-scenario-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}
.report-scenario-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.report-stock-grid > li, .report-scenario-grid > li { padding: clamp(17px, 2vw, 24px); border: 1px solid var(--report-line); border-radius: 15px; background: #f3f7f1; }
.report-stock-grid dl { display: grid; gap: 8px; margin: 8px 0 0; }
.report-stock-grid dl div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 8px; }
.report-stock-grid dl dt { color: var(--report-muted); font-size: 14px; }
.report-stock-grid dl dd { margin: 0; font-size: 15px; font-weight: 700; }
.report-stock-grid .report-stock-value { flex-direction: column-reverse; align-items: flex-start; margin-block-end: 4px; }
.report-scenario-grid li:nth-child(2) { background: #f1f5f5; }
.report-scenario-grid li:nth-child(3) { background: #f7f4ec; }
.report-scenario-grid li > div { display: flex; align-items: center; gap: 9px; font-size: 18px; }
.report-scenario-symbol { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #bdcfc1; border-radius: 50%; font-weight: 750; }
.report-scenario-grid p { margin: 10px 0 0; font-size: 16px; line-height: 1.65; }
.report-simulation { display: grid; gap: 17px; padding: clamp(17px, 2.7vw, 34px); border: 1px solid #ceded1; border-radius: 20px; background: #edf5ef; }
.report-assumptions h3 { margin: 0 0 8px; }
.report-assumptions p { margin: 0; }
.report-simulation .news-kpi-grid > :last-child { border-color: #93b99d; background: #dfeee1; }
.report-simulation .news-callout--warning { padding: 17px 20px; color: #513916; font-size: 16px; }

.report-sources, .report-related { width: min(100%, 1180px); margin: clamp(54px, 7vw, 90px) auto 0; }
.report-sources > h2, .report-related > h2 { margin: 0 0 22px; padding-block-end: 15px; border-block-end: 1px solid var(--report-line); }
.report-sources ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.report-sources ol:not(:has(> li:nth-child(5))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.report-sources ol:has(> li:only-child) { grid-template-columns: minmax(0, 760px); }
.report-sources li, .report-related-card { min-width: 0; padding: 20px; border: 1px solid var(--report-line); border-radius: 16px; background: var(--report-white); }
.report-sources li { display: flex; flex-direction: column; gap: 8px; scroll-margin-block-start: 24px; }
.report-sources li:hover, .report-sources li:focus-within { border-color: #9fbea7; background: #f7faf6; }
.report-sources li:target { outline: 2px solid #5b8c6b; }
.report-sources li > div { display: flex; align-items: baseline; gap: 10px; }
.report-source-index { color: var(--report-muted); font-size: 13px; font-weight: 750; }
.report-sources li a { color: #215a3c; font-size: 16px; font-weight: 750; text-underline-offset: .2em; }
.report-sources p { margin: 0; color: var(--report-text); font-size: 15px; line-height: 1.55; }
.report-sources small { margin-block-start: auto; padding-block-start: 4px; color: var(--report-muted); font-size: 14px; }
.report-related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 265px), 1fr)); gap: 16px; }
.report-related-card { position: relative; display: grid; gap: 19px; align-items: center; }
.report-related-card:only-child { grid-template-columns: minmax(180px, .43fr) minmax(0, 1fr); gap: clamp(22px, 3vw, 42px); }
.report-related-card img { display: block; width: 100%; height: auto; max-height: 220px; aspect-ratio: 16 / 9; border-radius: 12px; object-fit: cover; }
.report-related-card h3 { margin: 5px 0 9px; font-size: clamp(20px, 2vw, 28px); line-height: 1.3; }
.report-related-card h3 a { text-underline-offset: .18em; }
.report-related-card h3 a::after { position: absolute; inset: 0; border-radius: 16px; content: ""; }
.report-related-card p { margin: 0 0 10px; color: var(--report-text); line-height: 1.55; }
.report-related-card time { color: var(--report-muted); font-size: 14px; }
.report-related-card div > span { color: #215a3c; font-weight: 750; }
.report-related-arrow { display: inline-block; }
[dir=rtl] .report-related-arrow { transform: scaleX(-1); }
[dir=rtl] .news-market-report :is(h1, h2, dt, .report-badge, .report-stock-grid > li > strong) { letter-spacing: normal; }
[dir=rtl] .report-hero h1 { line-height: 1.32; }
[dir=rtl] .news-market-report :is(.news-blocks > p, .report-assumptions p, .report-section--overview p) { line-height: 1.9; }

.news-standard-content {
  width: min(100%, 1100px);
  margin: clamp(35px, 5.2vw, 72px) auto 0;
  justify-items: stretch;
}
.news-market-report .news-standard-content > :is(p, h2, h3, aside) { width: min(100%, 790px); max-width: none; margin-inline: auto; }
.news-market-report .news-standard-content > h2 {
  margin-block-start: 24px;
  padding-block-start: 20px;
  font-size: clamp(24px, 2.65vw, 34px);
  line-height: 1.3;
}
.news-standard-content .news-inline-image img { aspect-ratio: 16 / 9; }
.news-preview-card .news-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 11px;
  color: var(--report-muted);
  font-size: 13px;
}
.news-preview-card .news-card-meta time { margin: 0; }
.news-preview-card .news-card-meta .news-kind { padding: 3px 9px; background: #e8f1e7; font-weight: 700; }
.news-preview-card img:not(.news-card-image--cover) { padding: 12px; object-fit: contain; background: var(--news-soft); }
.news-listing-page {
  width: min(100%, 1312px);
  max-width: none;
  grid-template-columns: minmax(184px, 226px) minmax(0, 1fr);
  padding: clamp(20px, 4vw, 56px) clamp(16px, 3vw, 36px) 60px;
}
.news-listing-page .news-hero {
  min-height: 0;
  margin: 0;
  padding: clamp(23px, 3.8vw, 46px);
  border: 1px solid var(--report-line);
  border-radius: 23px;
  background: var(--news-soft);
  color: var(--report-ink);
}
.news-listing-page .news-kicker { margin-block: 0; color: #27583f; font-size: 13px; }
.news-listing-page .news-hero h1 { margin-block: 12px; font-size: clamp(32px, 4vw, 52px); }
.news-listing-page .news-hero p { color: var(--report-muted); }
.news-listing-page .news-categories { align-self: start; border: 1px solid var(--report-line); }
.news-advanced-filters { grid-column: 1 / -1; border-block-start: 1px solid var(--report-line); margin-block-start: 6px; padding-block-start: 8px; }
.news-advanced-filters summary { padding-block: 6px; color: var(--report-text); font-weight: 700; cursor: pointer; }
.news-advanced-filters .news-clear { display: inline-block; margin-block-start: 9px; }
.news-listing-page .news-grid--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.news-listing-page .news-grid--list { grid-template-columns: minmax(0, 1fr); }
.news-listing-page .news-preview-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 15px;
  min-width: 0;
  padding: 14px;
  border-color: var(--report-line);
  border-radius: var(--news-card-radius);
}
.news-listing-page .news-grid--list .news-preview-card { grid-template-columns: minmax(125px, .48fr) minmax(0, 1fr); align-items: center; }
.news-listing-page .news-preview-card img { width: 100%; height: auto; aspect-ratio: 16 / 10; border-radius: 11px; }
.news-listing-page .news-preview-card img.news-card-image--cover { object-fit: cover; }
.news-listing-page .news-preview-card h2 { margin: 9px 0; font-size: 19px; line-height: 1.35; }
.news-listing-page .news-preview-card p { margin: 0; color: var(--report-muted); font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.news-listing-page .news-preview-card a { text-underline-offset: .18em; }
.news-listing-page .news-preview-card a::after { position: absolute; inset: 0; border-radius: var(--news-card-radius); content: ""; }
.news-listing-page .news-preview-card:hover { border-color: #9fbea7; }
.news-listing-page :is(a, button, input, select):focus-visible { outline: 3px solid #428259; outline-offset: 3px; }
.news-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 18px;
  padding: 22px 16px;
  border-block-start: 1px solid var(--report-line);
  color: var(--report-muted);
  font-size: 14px;
}

@media (max-width: 1050px) {
  .report-layout { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .report-toc { display: none; }
  .report-mobile-toc { display: block; padding: 13px 16px; border: 1px solid var(--report-line); border-radius: 13px; background: var(--report-white); }
  .report-mobile-toc summary { padding: 5px 2px; font-size: 16px; font-weight: 750; cursor: pointer; }
  .report-mobile-toc nav { margin-block-start: 6px; }
  .report-sources ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-listing-page .news-grid--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 840px) {
  .report-hero { grid-template-columns: minmax(0, 1fr); gap: 20px; border-radius: 20px; }
  .report-hero h1 { font-size: clamp(31px, 5.6vw, 45px); }
  .report-hero img { max-height: 340px; border-radius: 15px; }
  .news-listing-page { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
  body:has(.news-report-page, .news-listing-page) > .news-nav { gap: 8px; }
  body:has(.news-report-page, .news-listing-page) .news-brand img { width: clamp(104px, 32vw, 145px); }
  body:has(.news-report-page, .news-listing-page) .news-nav nav a { min-height: 42px; padding: 7px 8px; font-size: 13px; }
  .news-report-page { padding-block-end: 48px; }
  .report-hero { padding: 17px; }
  .report-hero h1 { margin-block: 14px; font-size: clamp(28px, 7.3vw, 36px); }
  .report-summary { font-size: 17px; }
  .report-byline { margin-block-start: 15px; }
  .report-hero img { height: clamp(185px, 58vw, 250px); }
  .news-market-report .news-blocks { gap: 15px; }
  .report-table-hint { display: block; }
  .news-market-report :is(.news-blocks > p, .report-assumptions p, .report-section--overview p) { font-size: 17px; }
  .report-section > header { margin-block-end: 17px; }
  .report-media-pair { grid-template-columns: minmax(0, 1fr); }
  .news-market-report .report-media-pair .news-inline-image { grid-template-columns: 60px 1fr; align-items: center; justify-items: start; gap: 12px; text-align: start; }
  .news-market-report .report-media-pair .news-inline-image img { max-height: 54px; }
  .news-market-report .report-media-pair .news-inline-image figcaption { padding-block-start: 0; }
  .news-market-report .news-kpi-grid, .news-market-report .report-media-pair .news-kpi-grid,
  .report-sources ol, .report-stock-grid, .report-scenario-grid, .report-related-grid, .report-related-card:only-child { grid-template-columns: minmax(0, 1fr); }
  .news-market-report .news-bar-chart { min-height: 0; }
  .news-market-report .news-bar-chart li { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; min-height: 0; }
  .news-market-report .news-bar-chart li > bdi { grid-row: 1; grid-column: 2; }
  .news-market-report .news-bar-chart li > meter { grid-column: 1 / -1; grid-row: 2; height: 22px; }
  .report-related-card:only-child { gap: 14px; }
  .report-sources ol:not(:has(> li:nth-child(5))) { grid-template-columns: minmax(0, 1fr); }
  .news-listing-page .news-grid--grid, .news-listing-page .news-grid--list .news-preview-card { grid-template-columns: minmax(0, 1fr); }
}
