/* Newsroom article pages (/newsroom[-ms|-zh]/<slug>/). Built by _tools/build-articles.py.
   Uses site tokens from tokens.css, so light/dark follow the site theme. */
.ers-article-wrap { padding-top: var(--sp-10); }
.ers-article__head { max-width: 820px; margin-bottom: var(--sp-6); }
.ers-article__crumbs { font-size: var(--type-sm); color: var(--text-muted); }
.ers-article__crumbs a { color: var(--text-muted); text-decoration: none; }
.ers-article__crumbs a:hover { color: var(--accent-orange); }
.ers-article__eyebrow { font-size: var(--type-xs); font-weight: var(--fw-bold); letter-spacing: .08em; text-transform: uppercase; color: var(--accent-teal); margin: var(--sp-4) 0 var(--sp-2); }
.ers-article__head h1 { font-size: clamp(1.75rem, 4.2vw, 2.75rem); line-height: 1.15; letter-spacing: -.02em; margin: var(--sp-2) 0 var(--sp-4); text-wrap: balance; color: var(--text-primary); }
.ers-article__meta { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-4); font-size: var(--type-sm); color: var(--text-muted); margin: 0; }
.ers-article__hero { margin: 0; position: relative; }
.ers-article__imgnote { position: absolute; right: 10px; bottom: 10px; max-width: min(460px, calc(100% - 20px)); margin: 0; padding: 3px 8px; border-radius: 4px; background: rgba(0,0,0,.45); color: rgba(255,255,255,.88); font-size: 10.5px; line-height: 1.4; text-align: right; pointer-events: none; }
@media (max-width: 640px) { .ers-article__imgnote { right: 6px; bottom: 6px; font-size: 9.5px; padding: 2px 6px; } }
.ers-article__hero img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; border-radius: var(--radius-lg); }

.ers-article__layout { display: grid; grid-template-columns: 220px minmax(0, 720px); gap: 56px; justify-content: center; padding: var(--sp-10) 0 var(--sp-16); }
.ers-article__aside { position: sticky; top: 96px; align-self: start; font-size: var(--type-sm); min-width: 0; }
.ers-article__toc summary { cursor: pointer; margin: 0; }
.ers-article__toc ol { list-style: none; padding: 0; margin: var(--sp-3) 0 var(--sp-6); display: grid; gap: var(--sp-2); border-left: 2px solid var(--border); }
.ers-article__toc a { display: block; padding-left: var(--sp-3); color: var(--text-secondary); text-decoration: none; line-height: 1.4; }
.ers-article__toc a:hover { color: var(--accent-orange); }
.ers-article__share { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.ers-article__share a, .ers-article__copy { font: inherit; font-size: var(--type-xs); border: 1px solid var(--border-strong); border-radius: var(--radius-pill); padding: 5px 12px; color: var(--text-secondary); background: transparent; text-decoration: none; cursor: pointer; }
.ers-article__share a:hover, .ers-article__copy:hover { color: var(--accent-orange); border-color: var(--border-orange); }
@media (max-width: 1023px) {
  .ers-article__layout { grid-template-columns: minmax(0, 1fr); gap: var(--sp-6); }
  .ers-article__aside { position: static; }
  .ers-article__toc { border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--sp-3) var(--sp-4); }
  .ers-article__toc ol { margin-bottom: var(--sp-2); }
}

.ers-article { min-width: 0; font-size: 1.0625rem; line-height: 1.75; }
.ers-article p, .ers-article li { color: var(--text-secondary); }
.ers-article a { color: var(--accent-orange); }
/* (0,2,1) beats `.ers-article a` (0,1,1); covers every link state so primary-button text stays white in both themes */
.ers-article a.btn, .ers-article a.btn:link, .ers-article a.btn:visited, .ers-article a.btn:hover, .ers-article a.btn:focus, .ers-article a.btn:focus-visible, .ers-article a.btn:active { color: #ffffff; text-decoration: none; }
.ers-article h2 { font-size: var(--type-2xl); line-height: 1.3; letter-spacing: -.01em; color: var(--text-primary); margin: var(--sp-12) 0 var(--sp-3); scroll-margin-top: 96px; text-wrap: balance; }
.ers-article .article-answer { background: var(--bg-surface); border-left: 4px solid var(--accent-orange); border-radius: 0 var(--radius-lg) var(--radius-lg) 0; padding: var(--sp-5) var(--sp-6); margin-bottom: var(--sp-6); }
.ers-article .article-answer p { font-size: var(--type-lg); line-height: 1.6; color: var(--text-primary); margin: 0; }
.ers-article .article-facts { border: 1px solid var(--border); border-radius: var(--radius-lg); padding: var(--sp-5) var(--sp-6); }
.ers-article .article-facts .ers-article__eyebrow { margin-top: 0; }
.ers-article .article-facts ul { list-style: none; margin: var(--sp-3) 0 0; padding: 0; display: grid; gap: var(--sp-3); }
.ers-article .article-facts li { position: relative; padding-left: 1.6rem; line-height: 1.6; }
.ers-article .article-facts li::before { content: ""; position: absolute; left: .2rem; top: .68em; width: .55rem; height: .55rem; border-radius: 50%; background: var(--accent-orange); box-shadow: 0 0 0 3px rgba(242, 101, 34, .18); }
.ers-article__table { overflow-x: auto; margin: var(--sp-4) 0; }
.ers-article table { width: 100%; border-collapse: collapse; font-size: var(--type-base); }
.ers-article th, .ers-article td { text-align: left; padding: var(--sp-3); border-bottom: 1px solid var(--border); color: var(--text-secondary); vertical-align: top; }
.ers-article th { background: var(--bg-surface); color: var(--text-primary); font-weight: var(--fw-semibold); }
.ers-article__tool { display: flex; flex-wrap: wrap; gap: var(--sp-4); align-items: center; justify-content: space-between; border: 1px solid var(--border-strong); border-radius: var(--radius-lg); padding: var(--sp-5) var(--sp-6); margin: var(--sp-10) 0 var(--sp-2); }
.ers-article__tool strong { display: block; color: var(--text-primary); }
.ers-article__tool span { font-size: var(--type-sm); color: var(--text-muted); }
.ers-article .article-faq { margin-top: var(--sp-6); }
.ers-article .article-faq details { border-bottom: 1px solid var(--border); padding: var(--sp-4) 0; }
.ers-article .article-faq summary { cursor: pointer; font-weight: var(--fw-semibold); color: var(--text-primary); }
.ers-article .article-faq details p { margin: var(--sp-2) 0 0; }
.ers-article__sources { margin-top: var(--sp-10); font-size: var(--type-sm); }
.ers-article__sources ol { padding-left: var(--sp-5); margin: var(--sp-2) 0; }
.ers-article__asof { color: var(--text-muted); font-size: var(--type-xs); }
.ers-article__asof + .ers-article__asof { margin-top: var(--sp-2); }
.ers-article__cta { display: flex; flex-wrap: wrap; gap: var(--sp-5); align-items: center; justify-content: space-between; margin-top: var(--sp-10); padding: var(--sp-8); border-radius: var(--radius-lg); background: var(--bg-cta); }
.ers-article__cta p { margin: 0; max-width: 440px; color: #d6d6d6; font-size: var(--type-lg); }
.ers-article__cta .btn { white-space: nowrap; }

.ers-article__related { border-top: 1px solid var(--border); padding: var(--sp-12) 0 var(--sp-4); }
.ers-article__related h2 { font-size: var(--type-xl); margin: 0 0 var(--sp-5); color: var(--text-primary); }
.ers-article__rel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--sp-5); }
.ers-article__rel-card { display: grid; gap: var(--sp-2); text-decoration: none; color: var(--text-primary); min-width: 0; }
.ers-article__rel-card img { width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius-md); }
.ers-article__rel-title { font-weight: var(--fw-semibold); line-height: 1.35; }
.ers-article__rel-card:hover .ers-article__rel-title { color: var(--accent-orange); }

/* Newsroom listing: latest news & insights (newsroom[-ms|-zh].html, generated between ers-news markers) */
.ers-news__filters { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-bottom: var(--sp-6); }
.ers-news__filters[hidden], .ers-news__pager[hidden] { display: none; }
.ers-news__featured a { display: block; }
.ers-news__pager { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-2); margin-top: var(--sp-10); }
.ers-news__pbtn { min-width: 40px; height: 40px; padding: 0 var(--sp-3); font-size: var(--type-sm); font-weight: var(--fw-semibold); color: var(--text-secondary); border: 1px solid var(--border); border-radius: var(--radius-pill); background: transparent; cursor: pointer; }
.ers-news__pbtn:hover:not(:disabled) { color: var(--text-primary); border-color: var(--border-strong); background: var(--bg-surface); }
.ers-news__pbtn.is-current { color: #ffffff; background: var(--accent-orange); border-color: var(--accent-orange); }
.ers-news__pbtn:disabled { opacity: .4; cursor: not-allowed; }
.ers-news__pbtn:focus-visible, .ers-news__filters .newsroom-filters__btn:focus-visible, .ers-guides__card:focus-visible { outline: 2px solid var(--accent-orange); outline-offset: 2px; }
.ers-guides__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--sp-6); }
.ers-guides__card { display: grid; grid-template-rows: auto auto auto auto 1fr; align-content: start; gap: var(--sp-2); text-decoration: none; color: var(--text-primary); }
.ers-guides__card img { width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius-md); }
.ers-guides__card .ers-article__eyebrow { margin: var(--sp-2) 0 0; }
.ers-guides__title { font-weight: var(--fw-semibold); line-height: 1.35; }
.ers-guides__excerpt { font-size: var(--type-sm); line-height: 1.55; color: var(--text-secondary); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ers-guides__card:hover .ers-guides__title { color: var(--accent-orange); }
.ers-guides__card[hidden] { display: none; }
.ers-news__featured .btn { display: inline-flex; width: auto; }
