:root {
  --ink: #101827;
  --muted: #5e6b7d;
  --line: #d8dee8;
  --soft-line: #e9edf3;
  --paper: #ffffff;
  --surface: #f4f6f9;
  --surface-blue: #eef4fa;
  --navy: #06162e;
  --navy-2: #0d2745;
  --blue: #1677f2;
  --cyan: #16b9ea;
  --gold: #d8ad3f;
  --up: #b42318;
  --down: #067647;
  --warning: #b54708;
  --danger: #b42318;
  --success: #067647;
  --max: 1440px;
  --shadow: 0 8px 24px rgb(11 31 54 / 8%);
}

* { box-sizing: border-box; }
html { color-scheme: light; overflow-x: hidden; scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "Noto Sans TC", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}
#page-root { min-height: calc(100vh - 172px); }

a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; opacity: .62; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.18; }

.container { width: min(100% - 32px, var(--max)); margin-inline: auto; }
.narrow { max-width: 920px; }
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link { position: fixed; left: 12px; top: -80px; z-index: 1000; background: white; color: var(--navy); padding: 10px 14px; border: 2px solid var(--blue); }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid rgb(25 169 219 / 48%); outline-offset: 3px; }

/* Header */
.site-header { position: relative; z-index: 20; background: var(--paper); }
.topline { background: var(--navy); color: #c9d5e4; font-size: 12px; letter-spacing: .035em; }
.topline .container { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.topline time { color: #fff; font-variant-numeric: tabular-nums; }
.nav-shell { border-bottom: 1px solid var(--line); box-shadow: 0 2px 10px rgb(7 24 45 / 5%); }
.nav { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.brand { display: inline-flex; align-items: center; min-width: 0; gap: 10px; }
.brand-symbol { width: 44px; height: 44px; flex: 0 0 auto; object-fit: contain; }
.brand-wordmark { display: flex; min-width: 0; flex-direction: column; line-height: 1; }
.brand-wordmark strong { color: var(--navy); font-family: Georgia, "Times New Roman", "Noto Serif SC", serif; font-size: 18px; font-weight: 800; white-space: nowrap; }
.brand-wordmark small { margin-top: 5px; color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .13em; white-space: nowrap; }
.brand-inverse .brand-symbol { padding: 2px; border-radius: 50%; background: white; }
.brand-inverse .brand-wordmark strong { color: white; }
.brand-inverse .brand-wordmark small { color: var(--gold); }
.nav-actions { display: flex; align-items: center; gap: 8px; }
.mobile-actions { margin-inline-start: auto; }
.desktop-actions { display: none; }
.search-link { display: inline-flex; min-height: 38px; align-items: center; gap: 5px; color: var(--navy); font-size: 22px; }
.search-link span { font-size: 13px; font-weight: 700; }
.nav-toggle { width: 40px; height: 40px; display: grid; place-content: center; gap: 5px; border: 1px solid var(--line); background: white; }
.nav-toggle span { width: 19px; height: 2px; background: var(--navy); }
.nav-panel {
  position: absolute;
  top: 100px;
  left: 0;
  right: 0;
  display: none;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  padding: 16px;
  border-top: 1px solid var(--line);
  background: white;
  box-shadow: var(--shadow);
}
.nav-panel.open { display: block; }
.nav-panel.open .desktop-actions { display: flex; margin-top: 12px; }
.nav-panel.open .desktop-actions .search-link { display: none; }
.nav-panel.open .language-select, .nav-panel.open .language-select select { width: 100%; }
.desktop-primary-nav { display: none; }
.mobile-utility-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.more-groups section { min-width: 0; padding: 7px 4px; }
.more-groups section > b { display: block; padding: 4px 7px; color: var(--muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.more-groups section a, .mobile-utility-menu a { display: block; padding: 10px 7px; border-bottom: 1px solid var(--soft-line); color: #27364a; font-size: 13px; font-weight: 650; }
.mobile-utility-menu section { min-width: 0; padding: 4px; }
.mobile-utility-menu section > b { display: block; padding: 4px 7px; color: var(--muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.language-select select { height: 38px; padding: 0 26px 0 10px; border: 1px solid var(--line); background: white; color: var(--ink); font-size: 13px; }
.mobile-channel-nav { border-top: 1px solid var(--soft-line); background: white; }
.mobile-channel-row { display: flex; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.mobile-channel-row::-webkit-scrollbar { display: none; }
.mobile-channel-row a, .mobile-channel-trigger { min-height: 44px; flex: 0 0 auto; display: inline-flex; align-items: center; padding: 9px 11px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #3f4d60; font-size: 13px; font-weight: 750; white-space: nowrap; }
.mobile-channel-row a:first-child { padding-inline-start: 0; }
.mobile-channel-row a[aria-current="page"], .mobile-channel-trigger.is-active, .mobile-channel-trigger[aria-expanded="true"] { color: var(--blue); border-bottom-color: var(--blue); }
.mobile-secondary { display: flex; overflow-x: auto; gap: 4px; padding-block: 6px 9px; border-top: 1px solid var(--soft-line); scrollbar-width: none; }
.mobile-secondary[hidden], .mobile-more-groups[hidden] { display: none !important; }
.mobile-secondary::-webkit-scrollbar { display: none; }
.mobile-secondary a { flex: 0 0 auto; padding: 6px 12px; border-bottom: 2px solid transparent; color: #435167; font-size: 13px; font-weight: 700; }
.mobile-secondary a[aria-current="page"] { color: var(--blue); border-bottom-color: var(--blue); }
.mobile-more-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: 7px 12px; border-top: 1px solid var(--soft-line); }
.mobile-more-groups section { min-width: 0; padding: 5px 4px; }
.mobile-more-groups section > b { display: block; padding: 4px 7px; color: var(--muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.mobile-more-groups a { display: block; padding: 8px 7px; color: #34445a; font-size: 12px; font-weight: 650; }

.flash-category-tabs { margin: 12px 0 22px; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
.flash-category-tabs::-webkit-scrollbar { display: none; }
.flash-category-tabs a { flex: 0 0 auto; white-space: nowrap; }
.asset-channel > section { margin-top: 28px; }
.asset-topic-strip { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
.asset-topic-strip::-webkit-scrollbar { display: none; }
.asset-topic-strip a { flex: 0 0 auto; white-space: nowrap; }
.coverage-gap { padding-top: 6px; }
.asset-editorial-grid { display: grid; gap: 32px; margin-top: 36px; }
.asset-editorial-grid > * { min-width: 0; }
.trending-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.trending-list li { border-bottom: 1px solid var(--line); }
.trending-list a { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 9px 0; }
.trending-list span { min-width: 0; display: grid; }
.trending-list b { color: var(--navy); }
.trending-list small { color: var(--muted); }
.trending-list strong { color: var(--blue); font-variant-numeric: tabular-nums; }
.asset-provider { display: block; padding: 7px 11px 10px; color: var(--muted); font-size: 11px; }
.search-v3-results { margin-top: 30px; }
.search-topic-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.search-topic-row a { padding: 6px 10px; border: 1px solid var(--line); color: var(--blue); font-size: 13px; font-weight: 700; }
.api-v2-list { display: grid; gap: 7px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.api-v2-list strong, .api-v2-list small { color: var(--navy); }

/* Preview editorial administration */
.admin-page { background: var(--surface); }
.admin-header { background: white; border-bottom: 1px solid var(--line); }
.admin-header .container, .admin-footer .container { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.admin-header span { color: var(--blue); font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.admin-root { min-height: calc(100vh - 146px); padding-block: 38px 64px; }
.admin-login { max-width: 620px; margin: 7vh auto 0; padding: clamp(24px, 5vw, 48px); border: 1px solid var(--line); background: white; box-shadow: var(--shadow); }
.admin-login h1, .admin-title h1 { margin-bottom: 10px; color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 6vw, 48px); }
.admin-login p, .admin-title p { color: var(--muted); }
.admin-login form { display: grid; gap: 12px; margin-top: 24px; }
.admin-login label, .admin-form label { display: grid; gap: 5px; color: #344054; font-size: 13px; font-weight: 700; }
.admin-login input, .admin-form input, .admin-form textarea, .admin-form select { width: 100%; min-height: 43px; padding: 9px 11px; border: 1px solid #aeb8c6; background: white; color: var(--ink); }
.admin-login button, .admin-form button, .admin-tabs button, .workflow-actions button, .button-secondary { min-height: 40px; padding: 8px 13px; border: 1px solid var(--navy); background: var(--navy); color: white; font-weight: 750; }
.button-secondary { background: white; color: var(--navy); }
.admin-message { min-height: 24px; margin-top: 14px; color: var(--danger) !important; }
.admin-title { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.admin-tabs { display: flex; gap: 4px; margin: 28px 0 22px; overflow-x: auto; border-bottom: 1px solid var(--line); }
.admin-tabs button { flex: 0 0 auto; border-color: transparent; background: transparent; color: var(--muted); }
.admin-tabs button.active { color: var(--blue); border-bottom-color: var(--blue); }
.admin-view { min-width: 0; }
.admin-metrics { display: grid; gap: 14px; }
.admin-metrics article { display: grid; gap: 4px; padding: 18px; border: 1px solid var(--line); background: white; }
.admin-metrics span, .admin-metrics small { color: var(--muted); }
.admin-metrics strong { color: var(--navy); font-size: 23px; }
.admin-operations-summary { margin-top: 14px; padding: 14px 18px; border: 1px solid var(--line); background: white; }
.admin-operations-summary p, .admin-caption, .admin-empty { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.admin-boundaries { margin-top: 18px; padding: 18px; border-left: 4px solid var(--gold); background: white; }
.admin-boundaries p { margin: 4px 0 0; color: var(--muted); }
.admin-table-wrap { overflow-x: auto; border: 1px solid var(--line); background: white; }
.admin-table { width: 100%; min-width: 920px; border-collapse: collapse; }
.admin-table th, .admin-table td { padding: 11px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.admin-table th { color: var(--muted); font-size: 11px; text-transform: uppercase; }
.admin-table td > strong, .admin-table td > small { display: block; }
.admin-table td > small { margin-top: 5px; color: var(--muted); }
.admin-table a { color: var(--blue); }
.admin-state { display: inline-flex; padding: 3px 7px; background: var(--surface-blue); color: var(--blue); font-size: 11px; font-weight: 850; letter-spacing: .04em; }
.workflow-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.workflow-actions button { min-height: 30px; padding: 4px 7px; font-size: 11px; }
.admin-form { display: grid; gap: 14px; padding: clamp(18px, 4vw, 34px); border: 1px solid var(--line); background: white; }
.admin-form header, .admin-form .wide { grid-column: 1 / -1; }
.admin-form header p { color: var(--muted); }
.admin-form textarea { resize: vertical; }
.admin-operations-grid { display: grid; gap: 16px; }
.admin-ops-card { min-width: 0; padding: 18px; border: 1px solid var(--line); background: white; }
.admin-ops-card > header { display: flex; align-items: start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.admin-ops-card > header h2 { margin: 0; color: var(--navy); font-size: 19px; }
.admin-ops-card > header p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.admin-ops-card > header > span { color: var(--blue); font-weight: 850; }
.admin-ops-card button, .admin-inline-form button { min-height: 36px; padding: 7px 10px; border: 1px solid var(--navy); background: var(--navy); color: white; font-weight: 750; }
.admin-compact-list { display: grid; gap: 1px; max-height: 280px; margin: 0 0 12px; padding: 0; overflow-y: auto; background: var(--line); list-style: none; }
.admin-compact-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px; background: var(--surface); }
.admin-compact-list strong, .admin-compact-list small { display: block; }
.admin-compact-list small { margin-top: 2px; color: var(--muted); }
.admin-inline-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; }
.admin-inline-form input { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #aeb8c6; }
.admin-form.compact { margin-top: 16px; padding: 16px; background: var(--surface); }
.admin-detail-form { margin-top: 18px; }
.admin-split { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.pipeline { padding: clamp(20px, 4vw, 36px); border: 1px solid var(--line); background: white; }
.pipeline ol { display: grid; margin: 24px 0; padding: 0; counter-reset: pipeline; list-style: none; }
.pipeline li { min-height: 50px; position: relative; display: flex; align-items: center; padding: 8px 10px 8px 48px; border-bottom: 1px solid var(--line); counter-increment: pipeline; }
.pipeline li::before { content: counter(pipeline); position: absolute; left: 8px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--navy); color: white; font-size: 12px; }
.classification-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.classification-grid strong { padding: 7px 10px; border: 1px solid var(--gold); color: var(--navy); font-size: 12px; }
.revision-list { display: grid; gap: 9px; padding-left: 20px; }
.revision-list li span { display: block; color: var(--muted); font-size: 13px; }
.admin-footer { background: var(--navy); color: #dce6f2; }
.admin-footer strong { color: #e0b85d; font-size: 12px; }

.ticker-shell { background: #0b2039; color: white; border-bottom: 1px solid #1c3a5b; }
.ticker { min-height: 40px; display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.ticker::-webkit-scrollbar { display: none; }
.ticker-item { min-height: 40px; flex: 0 0 auto; display: flex; align-items: center; gap: 7px; padding: 0 13px; border-right: 1px solid #29425e; font-size: 12px; white-space: nowrap; }
.ticker-item:first-child { padding-left: 0; }
.ticker-item b { color: #fff; letter-spacing: .035em; }
.ticker-item span { color: #dce6f2; font-variant-numeric: tabular-nums; }
.ticker-item em { font-style: normal; font-weight: 800; }
.ticker-item .up { color: #ff9a91 !important; }
.ticker-item .down { color: #72e0ae !important; }
.ticker-item small { color: #8ba0b8; }
.ticker-loading, .ticker-unavailable { align-self: center; color: #adbbca; font-size: 12px; }

/* Shared page framing */
.page-head { padding-top: 34px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.page-head .eyebrow, .eyebrow { display: block; margin-bottom: 8px; color: var(--blue); font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.page-head h1 { max-width: 900px; margin-bottom: 10px; color: var(--navy); font-family: Georgia, "Times New Roman", "Noto Serif SC", serif; font-size: clamp(30px, 7vw, 50px); letter-spacing: -.025em; }
.page-head p { max-width: 820px; margin: 0; color: var(--muted); font-size: 16px; }
.content-section { padding-top: 24px; padding-bottom: 52px; }
.section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 15px; padding-bottom: 9px; border-bottom: 2px solid var(--navy); }
.section-head h2 { margin: 0; color: var(--navy); font-family: Georgia, "Times New Roman", "Noto Serif SC", serif; font-size: 21px; }
.section-head a { flex: 0 0 auto; color: var(--blue); font-size: 13px; font-weight: 750; }
.home-section { padding-top: 34px; padding-bottom: 4px; }

/* Home */
.home-intro { background: var(--surface); border-bottom: 1px solid var(--line); }
.home-intro .container { display: grid; gap: 20px; padding-block: 28px; }
.home-intro h1 { max-width: 850px; margin-bottom: 10px; color: var(--navy); font-family: Georgia, "Times New Roman", "Noto Serif SC", serif; font-size: clamp(30px, 7vw, 52px); letter-spacing: -.035em; }
.home-intro p { max-width: 800px; margin: 0; color: var(--muted); }
.freshness-box { align-self: end; padding: 12px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.freshness-box strong, .freshness-box time, .freshness-box span { display: block; }
.freshness-box strong { margin-bottom: 3px; color: var(--blue); text-transform: uppercase; letter-spacing: .08em; }
.headline-grid { display: grid; grid-template-areas: "headline" "flash" "focus"; gap: 26px; }
.focus-column { grid-area: focus; }
.headline-column { grid-area: headline; min-width: 0; }
.flash-column { grid-area: flash; min-width: 0; }
.focus-column > h2, .aside-heading h2 { margin-bottom: 10px; color: var(--muted); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.theme-list { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.theme-list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--soft-line); font-size: 14px; text-transform: capitalize; }
.theme-list b { min-width: 26px; color: var(--blue); text-align: right; font-variant-numeric: tabular-nums; }
.lead-story { margin-bottom: 19px; background: white; border-bottom: 1px solid var(--line); }
.lead-visual { min-height: 132px; display: flex; flex-direction: column; justify-content: flex-end; padding: 18px; background: var(--navy); color: white; }
.lead-visual[data-region="us"] { background: #172a46; }
.lead-visual[data-region="taiwan"] { background: #193647; }
.lead-visual[data-region="southeast-asia"] { background: #243a31; }
.lead-visual[data-region="uk-europe"] { background: #242d4c; }
.lead-visual span { font-family: Georgia, serif; font-size: clamp(24px, 6vw, 38px); }
.lead-visual small { margin-top: 4px; color: #9fbed9; text-transform: uppercase; letter-spacing: .1em; }
.lead-content { padding: 17px 0 19px; }
.lead-content h2 { margin-bottom: 10px; font-family: Georgia, "Times New Roman", "Noto Serif SC", serif; font-size: clamp(24px, 6vw, 38px); letter-spacing: -.025em; }
.lead-content h2 a:hover, .news-item h3 a:hover, .flash-item h3 a:hover { color: var(--blue); }
.lead-content > p { margin-bottom: 12px; color: #435267; }
.news-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 8px; color: var(--blue); font-size: 11px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.news-kicker time { color: var(--muted); font-weight: 550; letter-spacing: 0; text-transform: none; }
.news-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; color: var(--muted); font-size: 12px; }
.importance { display: inline-flex; align-items: center; width: fit-content; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.importance.important, .importance.breaking { color: var(--danger); }
.importance.watch { color: var(--warning); }
.secondary-stories { display: grid; border-top: 1px solid var(--line); }
.secondary-stories .news-item { padding-block: 13px; }
.aside-heading { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 8px; border-bottom: 2px solid var(--navy); }
.aside-heading h2 { margin: 0; }
.aside-heading a { color: var(--blue); font-size: 12px; font-weight: 750; }
.flash-list { border-bottom: 1px solid var(--line); }
.flash-item { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 11px; padding: 12px 0; border-bottom: 1px solid var(--soft-line); }
.flash-item:last-child { border-bottom: 0; }
.flash-item > time { color: var(--blue); font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; }
.flash-item > time small { display: block; color: #566477; font-size: 10px; letter-spacing: .08em; }
.flash-item h3 { margin: 3px 0 5px; font-family: Georgia, "Times New Roman", "Noto Serif SC", serif; font-size: 15px; line-height: 1.35; }
.flash-item p { margin: 0; color: var(--muted); font-size: 12px; }
.flash-market { color: var(--muted); font-size: 11px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }

.market-overview { margin-top: 36px; padding-block: 30px; background: var(--navy); color: white; }
.market-overview .section-head { border-color: #496079; }
.market-overview .section-head h2 { color: white; }
.market-overview .section-head a { color: #6bc9ef; }
.market-region-grid { display: grid; gap: 22px; }
.market-region-grid > section { min-width: 0; }
.market-region-grid header { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.market-region-grid h3 { margin: 0; color: #dce7f3; font-size: 12px; letter-spacing: .07em; text-transform: uppercase; }
.market-region-grid header a { color: #6bc9ef; }
.mini-quote { display: grid; grid-template-columns: minmax(70px, 1fr) auto 62px; align-items: center; gap: 7px; min-height: 39px; border-top: 1px solid #263e59; font-size: 12px; }
.mini-quote span { display: flex; min-width: 0; gap: 5px; }
.mini-quote b { overflow: hidden; text-overflow: ellipsis; }
.mini-quote small { color: #8398af; }
.mini-quote > strong { color: #eaf1f8; font-variant-numeric: tabular-nums; }
.mini-quote em { font-style: normal; font-weight: 750; text-align: right; }
.up { color: var(--up) !important; }
.down { color: var(--down) !important; }
.market-overview .up { color: #ff8a80 !important; }
.market-overview .down { color: #65d6a2 !important; }
.market-overview .flat { color: #b4c2d1 !important; }
.flat { color: var(--muted) !important; }
.method-note { color: var(--muted); font-size: 12px; }

.region-streams { display: grid; gap: 25px; }
.region-stream { min-width: 0; }
.region-stream > header { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 7px; border-bottom: 1px solid var(--line); }
.region-stream > header h3 { margin: 0; color: var(--navy); font-size: 14px; }
.region-stream > header a { color: var(--blue); font-size: 11px; }
.editorial-grid { display: grid; gap: 24px; }
.truth-panel, .policy-banner, .coverage-note { padding: 16px; border-left: 4px solid var(--blue); background: var(--surface-blue); }
.truth-panel strong, .policy-banner strong, .coverage-note strong { display: block; color: var(--navy); font-size: 14px; }
.truth-panel p, .policy-banner p, .coverage-note p { margin: 6px 0 0; color: var(--muted); font-size: 13px; }
.truth-panel.unavailable, .truth-panel.degraded { border-color: var(--warning); background: #fff8ed; }
.source-section { padding-bottom: 45px; }

/* Cards and lists */
.news-grid { display: grid; gap: 0; }
.news-item { min-width: 0; padding: 18px 0; border-bottom: 1px solid var(--line); }
.news-item h3 { margin-bottom: 8px; color: var(--ink); font-family: Georgia, "Times New Roman", "Noto Serif SC", serif; font-size: 20px; }
.news-item p { margin-bottom: 10px; color: #4b596c; font-size: 15px; }
.news-item.compact h3 { margin: 0 0 7px; font-size: 16px; }
.provider-strip { display: flex; flex-wrap: wrap; gap: 7px; padding-block: 12px; }
.provider-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.provider-chip span { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); }
.provider-chip.available span { background: var(--success); }
.provider-chip.degraded span { background: var(--warning); }
.provider-chip.unavailable span { background: var(--danger); }
.provider-chip b { font-weight: 750; text-transform: uppercase; }

/* Forms and filters */
.filter-bar { display: grid; gap: 10px; margin-bottom: 18px; padding: 14px; background: var(--surface); border: 1px solid var(--line); }
.filter-bar label { min-width: 0; }
.filter-bar label > span { display: block; margin-bottom: 4px; color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; }
.filter-bar input, .filter-bar select, .search-form input, .cooperation-form input, .cooperation-form textarea {
  width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid #bcc6d3; border-radius: 0; background: white; color: var(--ink);
}
.filter-bar button, .search-form button, .cooperation-form button, .primary-button {
  min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 9px 15px; border: 1px solid var(--navy); background: var(--navy); color: white; font-weight: 750;
}
.filter-bar > a { align-self: center; color: var(--blue); font-size: 12px; font-weight: 700; }
.filter-bar .checkbox { display: flex; align-items: center; gap: 8px; }
.filter-bar .checkbox input { width: 18px; min-height: 18px; }
.filter-bar .checkbox span { margin: 0; }
.result-summary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 7px; padding: 8px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.result-summary strong { color: var(--navy); }
.pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 15px; padding-block: 22px; }
.pagination a { color: var(--blue); font-weight: 750; }
.pagination a:last-child { text-align: right; }
.pagination b { color: var(--muted); font-size: 12px; }
.region-tabs, .topic-strip { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 11px; margin-bottom: 18px; scrollbar-width: thin; }
.region-tabs a, .topic-strip a { flex: 0 0 auto; padding: 7px 10px; border: 1px solid var(--line); background: white; color: #405066; font-size: 12px; font-weight: 700; white-space: nowrap; }
.region-tabs a.active { border-color: var(--blue); background: var(--blue); color: white; }
.flash-toolbar { margin-bottom: 12px; }
.flash-toolbar > time { color: var(--muted); font-size: 11px; }
.flash-page-list { max-width: 980px; border-top: 2px solid var(--navy); }
.flash-page-list .flash-item { grid-template-columns: 58px minmax(0, 1fr); padding-block: 15px; }

/* Market tables */
.market-disclaimer { margin-bottom: 24px; padding: 12px 14px; border-left: 3px solid var(--gold); background: #fffaf0; }
.market-disclaimer strong { font-size: 12px; }
.market-disclaimer p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.market-group { margin: 28px 0; }
.table-wrap, .source-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); }
.market-table, .source-table { width: 100%; min-width: 780px; border-collapse: collapse; font-size: 13px; }
.market-table th, .market-table td, .source-table th, .source-table td { padding: 10px 11px; border-bottom: 1px solid var(--soft-line); text-align: start; vertical-align: middle; }
.market-table th, .source-table th { position: sticky; top: 0; background: var(--surface); color: var(--muted); font-size: 11px; letter-spacing: .055em; text-transform: uppercase; }
.market-table td:first-child strong { display: block; color: var(--navy); font-size: 13px; }
.market-table td:first-child span, .market-table td small, .source-table td small { display: block; }
.market-table td:first-child span, .market-table td small, .source-table td small { color: var(--muted); font-weight: 500; }
.market-table td:nth-child(2), .market-table td:nth-child(3) { font-weight: 750; font-variant-numeric: tabular-nums; }
.unavailable-row { background: #fafbfc; color: #7a8797; }
.market-status, .provider-state { display: inline-flex; padding: 3px 6px; border: 1px solid var(--line); color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.market-status.open, .provider-state.available { border-color: #8ac7ad; color: var(--success); background: #ecfdf3; }
.market-status.unavailable, .provider-state.unavailable { border-color: #efaaa4; color: var(--danger); background: #fff1f0; }
.market-status.reference, .provider-state.degraded { border-color: #e9c17d; color: var(--warning); background: #fff8ed; }
.region-market-section, .region-news-section { margin-bottom: 32px; }

/* Article */
.article-layout { display: grid; gap: 30px; padding-top: 28px; padding-bottom: 56px; }
.article-main { min-width: 0; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; color: var(--muted); font-size: 12px; }
.breadcrumbs a:hover { color: var(--blue); }
.article-kicker { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-bottom: 11px; color: var(--muted); font-size: 11px; text-transform: uppercase; }
.article-main > h1 { margin-bottom: 18px; font-family: Georgia, "Times New Roman", "Noto Serif SC", serif; font-size: clamp(30px, 7.5vw, 54px); letter-spacing: -.03em; }
.article-summary { padding-bottom: 21px; margin-bottom: 18px; border-bottom: 1px solid var(--line); color: #3f4c5e; font-family: Georgia, "Times New Roman", "Noto Serif SC", serif; font-size: 18px; line-height: 1.65; }
.article-metadata { display: grid; gap: 8px; margin: 0 0 22px; }
.article-metadata div { display: grid; grid-template-columns: 92px 1fr; gap: 10px; }
.article-metadata dt { color: var(--muted); font-size: 11px; text-transform: uppercase; }
.article-metadata dd { margin: 0; font-size: 13px; overflow-wrap: anywhere; }
.article-metadata a { color: var(--blue); }
.source-notice { padding: 18px; margin-bottom: 20px; border: 1px solid var(--line); border-left: 4px solid var(--gold); background: #fffdf7; }
.source-notice p { margin: 7px 0 0; color: #4b596a; font-size: 15px; }
.article-taxonomy { display: grid; gap: 12px; margin-bottom: 22px; }
.article-taxonomy > div { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.article-taxonomy strong { min-width: 110px; font-size: 12px; }
.article-taxonomy a { padding: 3px 7px; background: var(--surface); color: var(--blue); font-size: 12px; }
.primary-button { width: fit-content; }
.share-row { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 23px; margin-top: 28px; border-top: 1px solid var(--line); }
.share-row button, .share-row a { min-height: 38px; display: inline-flex; align-items: center; padding: 7px 10px; border: 1px solid var(--line); background: white; color: var(--navy); font-size: 12px; font-weight: 700; }
.related-articles { margin-top: 34px; }
.article-aside { min-width: 0; }
.source-card { padding: 13px; background: var(--surface); border: 1px solid var(--line); }
.source-card strong, .source-card span { display: block; overflow-wrap: anywhere; }
.source-card span { margin-top: 5px; color: var(--muted); font-size: 11px; }

/* Search, sources, static content */
.search-section { padding-top: 24px; padding-bottom: 52px; }
.search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-bottom: 24px; }
.search-results-grid { display: grid; gap: 30px; }
.source-table { min-width: 900px; }
.source-table a { color: var(--blue); }
.api-panel { margin-top: 30px; }
.api-panel code { display: block; padding: 9px 11px; margin-top: 5px; background: var(--navy); color: #d7e5f4; font-size: 12px; overflow-x: auto; }
.api-panel p { color: var(--muted); font-size: 12px; }
.official-links { display: grid; margin-top: 18px; border-top: 1px solid var(--line); }
.official-links a { padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--blue); font-weight: 700; }
.editorial-preview-list { display: grid; border: 1px solid var(--line); background: white; }
.editorial-preview-list a { display: grid; gap: 4px; padding: 12px; border-bottom: 1px solid var(--line); }
.editorial-preview-list a:last-child { border-bottom: 0; }
.editorial-preview-list strong { color: var(--navy); font-size: 14px; }
.editorial-preview-list small { color: var(--muted); }
.calendar-event-list, .platform-release-list { display: grid; gap: 12px; }
.calendar-event-list article, .platform-release-list article { min-width: 0; padding: 18px; border: 1px solid var(--line); background: white; }
.calendar-event-list time, .calendar-event-list span, .calendar-event-list a, .platform-release-list small { color: var(--muted); font-size: 12px; }
.calendar-event-list h2, .platform-release-list h2 { margin: 7px 0; color: var(--navy); font-size: 19px; }
.calendar-event-list p, .platform-release-list p { color: var(--muted); }
.calendar-event-list a { display: inline-block; margin-top: 9px; color: var(--blue); }
.platform-release-list aside { padding: 9px 11px; margin-top: 12px; border-left: 3px solid var(--gold); background: var(--surface); color: #4b596a; font-size: 12px; }
.research-framework { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 20px; background: var(--line); border: 1px solid var(--line); }
.research-framework span { padding: 16px; background: white; font-family: Georgia, serif; }
.product-boundaries { display: grid; gap: 1px; margin-top: 22px; background: var(--line); border: 1px solid var(--line); }
.product-boundaries article { padding: 18px; background: white; }
.product-boundaries article.primary-product { border-left: 4px solid var(--blue); }
.product-boundaries h2 { margin-bottom: 6px; font-size: 18px; }
.product-boundaries p { margin-bottom: 7px; color: var(--muted); font-size: 14px; }
.product-boundaries span { color: var(--blue); font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.prose h2 { margin: 28px 0 8px; color: var(--navy); font-family: Georgia, serif; font-size: 21px; }
.prose p { color: #3d4c60; font-size: 16px; line-height: 1.75; }
.cooperation-form { display: grid; gap: 13px; margin-top: 22px; }
.cooperation-form label { color: var(--muted); font-size: 12px; font-weight: 700; }
.cooperation-form input, .cooperation-form textarea { display: block; margin-top: 4px; }
.cooperation-form button { justify-self: start; }

/* States */
.state { min-height: 150px; display: grid; place-content: center; padding: 24px; background: var(--surface); color: var(--muted); text-align: center; }
.state strong { color: var(--ink); }
.state p { max-width: 560px; margin: 5px auto 0; font-size: 13px; }
.state-loading { min-height: min(240px, 45vh); }
.home-section .state { min-height: 92px; padding-block: 18px; }
.loader { width: 28px; height: 28px; justify-self: center; border: 3px solid var(--line); border-top-color: var(--blue); border-radius: 50%; animation: spin .75s linear infinite; }
.state-loading p { margin-top: 10px; }
.loading-logo { width: 72px; height: 72px; margin: 0 auto 18px; object-fit: contain; }
.state-error { border-left: 4px solid var(--danger); background: #fff3f2; }
.text-button { justify-self: center; margin-top: 12px; padding: 7px 12px; border: 1px solid var(--navy); background: white; color: var(--navy); }
@keyframes spin { to { transform: rotate(360deg); } }

/* Footer */
.site-footer { margin-top: 56px; padding-top: 38px; background: var(--navy); color: #c4d0de; }
.footer-grid { display: grid; gap: 28px; }
.brand-inverse strong { color: white; }
.footer-brand p { max-width: 380px; margin-top: 14px; color: #97a9bd; font-size: 13px; }
.footer-grid nav h2, .newsletter h2 { margin-bottom: 10px; color: white; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.footer-grid nav a { display: block; width: fit-content; padding: 4px 0; color: #b8c6d5; font-size: 13px; }
.footer-grid nav a:hover { color: white; }
.newsletter p { margin-bottom: 9px; color: #97a9bd; font-size: 12px; }
.newsletter-form { display: grid; gap: 8px; }
.newsletter-form label { display: grid; gap: 3px; color: #aebed0; font-size: 11px; }
.newsletter-form input, .newsletter-form select { width: 100%; min-width: 0; min-height: 35px; padding: 6px 8px; border: 1px solid #405875; background: #102a49; color: #d9e3ee; }
.newsletter-form .consent-row { grid-template-columns: 17px 1fr; align-items: start; line-height: 1.4; }
.newsletter-form .consent-row input { width: 17px; min-height: 17px; margin-top: 1px; }
.newsletter-form div { display: flex; flex-wrap: wrap; gap: 6px; }
.newsletter-form button { padding: 7px 10px; border: 1px solid #405875; background: #102a49; color: #aebed0; }
.newsletter-unsubscribe { padding: 7px 10px; border: 1px solid #405875; background: #102a49; color: #aebed0; font-size: 12px; }
.newsletter-unsubscribe[aria-disabled="true"] { pointer-events: none; opacity: .55; }
.newsletter-form small { color: #97a9bd; }
.newsletter-form output { overflow-wrap: anywhere; color: #e0b85d; font-size: 10px; font-weight: 800; letter-spacing: .035em; }
.calendar-values { display: grid; gap: 7px; margin: 12px 0; }
.calendar-value { display: grid; grid-template-columns: 82px minmax(0, 1fr); align-items: baseline; gap: 4px 10px; }
.calendar-value b { color: var(--navy); font-size: 12px; }
.calendar-value em { color: var(--ink); font-style: normal; font-variant-numeric: tabular-nums; }
.calendar-value small { grid-column: 2; color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.subscription-action { margin-top: 18px; padding: 10px 15px; border: 1px solid var(--blue); background: var(--blue); color: white; font-weight: 750; }
.subscription-action:disabled { border-color: var(--line); background: var(--surface); color: var(--muted); }
.subscription-result { display: block; margin-top: 12px; color: var(--navy); font-size: 12px; font-weight: 800; }
.research-ai-state { margin-top: 18px; padding: 18px; border-inline-start: 4px solid var(--gold); background: var(--surface-blue); }
.research-ai-state p { margin: 6px 0; color: var(--navy); }
.research-ai-state small { color: var(--muted); }
.footer-bottom { display: grid; gap: 12px; padding-block: 24px; margin-top: 28px; border-top: 1px solid #273f5a; color: #8296ac; font-size: 11px; }
.footer-bottom p { margin: 0; }

@media (min-width: 600px) {
  .container { width: min(100% - 48px, var(--max)); }
  .home-intro .container { grid-template-columns: minmax(0, 1fr) 180px; }
  .freshness-box { border-top: 0; border-left: 1px solid var(--line); padding-left: 18px; }
  .market-region-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .region-streams { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
  .news-grid .news-item { border-top: 1px solid var(--line); border-bottom: 0; }
  .editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .research-framework { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cooperation-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cooperation-form label:last-of-type { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 2fr 1fr 1fr; }
  .admin-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-inline-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
  .newsletter { grid-column: 1 / -1; }
}

@media (min-width: 768px) {
  .page-head { padding-top: 48px; padding-bottom: 30px; }
  .headline-grid { grid-template-columns: minmax(0, 1fr) 300px; grid-template-areas: "headline flash" "focus focus"; }
  .focus-column { display: grid; grid-template-columns: 140px 1fr; align-items: start; gap: 16px; }
  .theme-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-left: 1px solid var(--line); }
  .theme-list a { padding: 8px 12px; border-right: 1px solid var(--line); }
  .market-region-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; }
  .market-filters { grid-template-columns: 1.25fr 1fr 1fr auto auto auto; }
  .article-layout { grid-template-columns: minmax(0, 1fr) 260px; }
  .search-filter-bar .search-query { grid-column: span 2; }
  .article-aside { border-left: 1px solid var(--line); padding-left: 22px; }
  .search-results-grid { grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); }
  .asset-editorial-grid { grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr); }
  .footer-grid { grid-template-columns: 2fr 1fr 1fr 1.2fr; }
  .newsletter { grid-column: auto; }
}

@media (min-width: 1100px) {
  .nav { min-height: 76px; }
  .brand { flex: 0 0 auto; margin-inline-end: 14px; }
  .brand-symbol { width: 48px; height: 48px; }
  .brand-wordmark strong { font-size: 19px; }
  .brand-wordmark small { font-size: 8px; }
  .mobile-actions { display: none; }
  .desktop-actions { display: flex; margin-inline-start: auto; }
  .nav-panel .desktop-actions .search-link, .nav-panel.open .desktop-actions .search-link { display: inline-flex; }
  .nav-panel.open .language-select, .nav-panel.open .language-select select { width: auto; }
  .nav-panel { position: static; display: flex; flex: 1 1 auto; min-width: 0; align-items: center; justify-content: flex-start; gap: 8px; max-height: none; overflow: visible; padding: 0; border: 0; box-shadow: none; }
  .desktop-primary-nav { display: flex; min-width: 0; align-items: stretch; }
  .mobile-utility-menu { display: none; }
  .nav-links { display: flex; align-items: center; gap: 0; }
  .nav-links a, .stock-menu summary { padding: 28px 6px 25px; border-bottom: 3px solid transparent; color: #27364a; font-size: 11px; font-weight: 700; white-space: nowrap; }
  .nav-links a[aria-current="page"] { border-bottom-color: var(--blue); }
  .stock-menu { position: relative; }
  .stock-menu summary { list-style: none; cursor: pointer; }
  .stock-menu summary::-webkit-details-marker, .more-menu summary::-webkit-details-marker { display: none; }
  .stock-menu summary::after, .more-menu summary::after { content: " ▾"; font-size: 9px; }
  .stock-menu.is-active summary { color: var(--blue); border-bottom-color: var(--blue); }
  .stock-secondary { position: absolute; z-index: 30; top: 72px; inset-inline-start: 0; display: none; min-width: 250px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px; border: 1px solid var(--line); background: white; box-shadow: var(--shadow); }
  .stock-secondary a { padding: 10px 12px; border-bottom-width: 1px; font-size: 12px; }
  .stock-menu[open] .stock-secondary, .stock-menu:hover .stock-secondary, .stock-menu:focus-within .stock-secondary { display: grid; }
  .more-menu { position: relative; border: 0; }
  .more-menu summary { padding: 24px 6px; color: var(--navy); font-size: 11px; font-weight: 750; list-style: none; }
  .more-menu summary::after { content: " ▾"; }
  .more-menu > .more-groups { position: absolute; top: 68px; inset-inline-start: -500px; display: none; width: min(760px, calc(100vw - 40px)); grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 10px; border: 1px solid var(--line); background: white; box-shadow: var(--shadow); }
  .more-menu[open] > div { display: grid; }
  .more-menu a { padding: 9px; }
  .mobile-channel-nav { display: none; }
  .headline-grid { grid-template-columns: 210px minmax(0, 1fr) 330px; grid-template-areas: "focus headline flash"; gap: 30px; }
  .focus-column { display: block; }
  .theme-list { display: block; border-left: 0; }
  .theme-list a { padding: 10px 0; border-right: 0; }
  .lead-story { display: grid; grid-template-columns: minmax(230px, .85fr) minmax(0, 1.15fr); }
  .lead-visual { min-height: 270px; }
  .lead-content { display: flex; flex-direction: column; justify-content: center; padding: 25px; border: 1px solid var(--line); border-left: 0; }
  .secondary-stories { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; }
  .market-region-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .region-streams { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .editorial-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .filter-bar { grid-template-columns: repeat(5, minmax(0, 1fr)) auto auto; }
  .admin-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .admin-operations-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-ops-card.wide { grid-column: 1 / -1; }
}

html[dir="rtl"] body { font-family: Arial, "Noto Sans Arabic", "Segoe UI", sans-serif; }
html[dir="rtl"] .skip-link { left: auto; right: 12px; }
html[dir="rtl"] .language-select select { padding: 0 10px 0 26px; }
html[dir="rtl"] .theme-list b { text-align: left; }
html[dir="rtl"] .state-error { border-left: 0; border-right: 4px solid var(--danger); }
html[dir="rtl"] .freshness-box { border-left: 0; padding-left: 0; }
html[dir="rtl"] .article-aside { border-left: 0; padding-left: 0; }

@media (min-width: 600px) {
  html[dir="rtl"] .freshness-box { border-right: 1px solid var(--line); padding-right: 18px; }
}

@media (min-width: 768px) {
  html[dir="rtl"] .article-aside { border-right: 1px solid var(--line); padding-right: 22px; }
}

@media (max-width: 360px) {
  .brand-symbol { width: 40px; height: 40px; }
  .brand-wordmark strong { font-size: 16px; }
  .brand-wordmark small { font-size: 7px; }
}

@media (min-width: 1360px) {
  .market-region-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .region-streams { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 34px; }
}

/* Desktop proportions; tablet and mobile retain their existing layout. */
@media (min-width: 1100px) {
  .container { width: min(100% - 32px, var(--max)); }
  .nav { min-height: 84px; gap: 18px; }
  .nav .brand { margin-inline-end: 6px; gap: 12px; }
  .nav .brand-symbol { width: 52px; height: 52px; }
  .nav .brand-wordmark strong { font-size: 21px; }
  .nav .brand-wordmark small { font-size: 9px; }
  .nav-panel { flex-wrap: wrap; gap: 4px 16px; padding-block: 10px; }
  .desktop-primary-nav { align-items: center; }
  .nav-links { gap: clamp(2px, .3vw, 6px); }
  .nav-links > a, .stock-menu > summary, .more-menu > summary {
    display: inline-flex; align-items: center; min-height: 44px; padding: 10px 7px 7px;
    border-bottom: 3px solid transparent; font-size: 15px; font-weight: 600; line-height: 24px;
  }
  .stock-secondary, .more-menu > .more-groups { top: 100%; }
  .nav-actions.desktop-actions { gap: 14px; }
  .desktop-actions .search-link { min-height: 44px; }
  .desktop-actions .search-link span, .desktop-actions select { font-size: 15px; font-weight: 500; }
  .desktop-actions select { height: 44px; }
  .ticker, .ticker-item { min-height: 46px; }
  .ticker-item { flex-grow: 1; justify-content: center; font-size: clamp(12px, .93vw, 13px); gap: clamp(2px, calc(2.7vw - 35px), 4px); padding-inline: 3px; }
  .ticker-item:first-child { padding-inline-start: 0; }
  .ticker-item small { font-size: 11px; }
  .home-intro .container { grid-template-columns: minmax(0, 1fr) 220px; gap: 32px; }
  .home-intro h1 { max-width: none; }
  .freshness-box { font-size: 13px; }
  .headline-grid { grid-template-columns: 180px minmax(0, 1fr) clamp(320px, 24vw, 350px); gap: 28px; }
  .lead-story { grid-template-columns: minmax(0, 1fr); }
  .lead-visual { min-height: 96px; padding: 16px 24px; }
  .lead-visual span { font-size: 28px; }
  .lead-content { padding: 22px 24px 24px; border-left: 1px solid var(--line); }
  .lead-content h2 { font-size: 32px; line-height: 1.28; }
  .lead-content > p { max-width: 70ch; font-size: 17px; line-height: 1.7; }
  .headline-column .news-meta, .headline-column .news-kicker { font-size: 13px; }
  .secondary-stories { column-gap: 26px; }
  .secondary-stories .news-item { padding-block: 18px; }
  .flash-item { grid-template-columns: 50px minmax(0, 1fr); gap: 12px; padding-block: 15px; }
  .flash-item h3 { font-size: 16px; line-height: 1.45; }
  .flash-item p { font-size: 13px; }
  .flash-market, .focus-column > h2, .aside-heading h2 { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  .site-header, .site-footer, .share-row, .provider-strip { display: none !important; }
  .article-layout { display: block; }
  .article-main { max-width: none; }
}
a[data-navigation-pending] { cursor: progress; opacity: .65; }
#api-v2 { scroll-margin-block-start: 120px; }
.headline-column[aria-busy="true"] { min-height: 100vh; }
#home-freshness { min-height: 84px; }
.panel-loading { min-height: 0; }
#source-provider-state[aria-busy="true"] { min-height: 100vh; }
:root { --news-channel-accent: #0a6c9c; }
.news-channels { display: flex; flex-wrap: wrap; gap: .35rem .9rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--line, #dfe5ed); padding-bottom: .75rem; }
.news-channels a { padding: .35rem 0; font-size: .88rem; text-decoration: none; }
.news-channels a[aria-current="page"] { color: var(--news-channel-accent); font-weight: 700; text-decoration: underline; text-underline-offset: .4rem; }
.source-provenance { line-height: 1.65; }
