:root {
  --paper: #f8f8f5;
  --white: #ffffff;
  --ink: #121210;
  --muted: #6e6d67;
  --line: #d5d4ce;
  --line-dark: #93918a;
  --signal: #e23c28;
  --signal-dark: #b62818;
  --data: #2455c4;
  --soft: #ecece7;
  --success: #17724b;
  --page: 1480px;
  --serif: Georgia, "Songti SC", "STSong", serif;
  --sans: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); letter-spacing: 0; }
button, input { font: inherit; letter-spacing: 0; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
.page-width { width: min(var(--page), calc(100% - 56px)); margin-inline: auto; }
.site-header { background: var(--white); }
.utility-bar { height: 32px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font-size: 10px; color: var(--muted); }
.utility-bar p { display: flex; align-items: center; gap: 8px; margin: 0; }
.utility-bar strong { color: var(--ink); }
.utility-links { gap: 20px !important; }
.language-switch { color: inherit; font-weight: 700; text-decoration: none; }
.language-switch:hover { color: var(--red); }
.masthead-language { color: var(--ink); font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.masthead-language:hover { color: var(--red); }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 3px rgba(226,60,40,.12); }
.masthead { height: 112px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 2px solid var(--ink); }
.masthead-note { margin: 0; color: var(--muted); font-size: 10px; font-weight: 800; }
.wordmark { display: inline-flex; align-items: center; gap: 9px; font: 800 32px/1 var(--sans); letter-spacing: 0; }
.wordmark-logo { display: block; width: 46px; height: 46px; flex: none; object-fit: contain; }
.wordmark .wordmark-name { color: var(--ink); white-space: nowrap; }
.wordmark:hover .wordmark-logo { transform: translateY(-1px); }
/* Fallback for pages that still use text wordmarks without an embedded logo image */
.wordmark:not(:has(.wordmark-logo))::before { content: ""; width: 1.02em; flex: none; aspect-ratio: 1; background: url("/brand-mark.png") center / contain no-repeat; }
html[lang="en"] .wordmark { font-family: var(--sans); font-weight: 800; }
.wordmark span { color: var(--signal); }
.masthead-actions { grid-column: 3; justify-self: end; display: flex; align-items: center; gap: 8px; }
.icon-button { width: 36px; height: 36px; display: inline-grid; place-items: center; position: relative; border: 0; background: transparent; color: var(--ink); cursor: pointer; }
.icon-button:hover { background: var(--soft); }
.icon-button svg { width: 19px; height: 19px; stroke-width: 1.6; }
.menu-button { display: none; }
.saved-count { position: absolute; top: 2px; right: 0; min-width: 16px; height: 16px; padding: 0 4px; display: grid; place-items: center; border-radius: 8px; background: var(--signal); color: white; font-size: 9px; }
.saved-dialog { position: fixed; inset: 0; z-index: 100; background: rgba(18,18,16,.48); }
.saved-dialog[hidden] { display: none; }
.saved-panel { position: absolute; top: 0; right: 0; width: min(440px,100%); height: 100%; display: grid; grid-template-rows: auto minmax(0,1fr) auto; background: var(--white); box-shadow: -12px 0 36px rgba(18,18,16,.16); }
.saved-panel-head { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; border-bottom: 2px solid var(--ink); }
.saved-panel-head p { margin: 0 0 5px; color: var(--signal); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.saved-panel-head h2 { margin: 0; font: 700 25px/1 var(--serif); }
.saved-list { overflow-y: auto; padding: 0 24px; }
.saved-loading, .saved-unavailable { margin: 0; padding: 20px 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.saved-item { display: grid; grid-template-columns: minmax(0,1fr) 36px; align-items: center; gap: 12px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.saved-item-link h3 { margin: 0; font: 700 16px/1.4 var(--serif); }
.saved-item-link:hover h3 { color: var(--signal); }
.saved-item-link p { display: flex; gap: 10px; margin: 7px 0 0; color: var(--muted); font-size: 10px; }
.saved-item-link strong { color: var(--data); }
.saved-remove { width: 36px; height: 36px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; }
.saved-remove:hover { border-color: var(--signal); color: var(--signal); background: #fff4f1; }
.saved-remove svg { width: 16px; height: 16px; }
.saved-empty { display: grid; justify-items: center; align-content: center; min-height: 360px; padding: 40px 20px; text-align: center; }
.saved-empty > svg { width: 28px; height: 28px; color: var(--muted); }
.saved-empty h3 { margin: 18px 0 7px; font: 700 19px/1.2 var(--serif); }
.saved-empty p { max-width: 270px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.saved-panel-footer { min-height: 68px; display: flex; align-items: center; justify-content: flex-end; padding: 14px 24px; border-top: 1px solid var(--line); }
.saved-panel-footer button { padding: 9px 13px; border: 1px solid var(--line-dark); background: transparent; cursor: pointer; font-size: 11px; font-weight: 700; }
.saved-panel-footer button:hover { border-color: var(--signal); color: var(--signal); }
.primary-nav { border-bottom: 1px solid var(--line); }
.nav-inner { height: 46px; display: flex; align-items: center; justify-content: center; gap: 30px; white-space: nowrap; overflow-x: auto; scrollbar-width: none; }
.nav-inner::-webkit-scrollbar { display: none; }
.nav-inner a { height: 46px; display: flex; align-items: center; font-size: 12px; font-weight: 800; border-bottom: 3px solid transparent; }
.nav-inner a:hover, .nav-inner a.active { color: var(--signal); border-bottom-color: var(--signal); }
.news-rail { background: var(--ink); color: white; }
.rail-inner { height: 39px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 16px; }
.rail-label { padding: 4px 7px; background: var(--signal); font-size: 10px; font-weight: 800; }
.rail-stories { min-width: 0; height: 39px; overflow: hidden; white-space: nowrap; font-size: 12px; }
.rail-viewport { height: 39px; overflow: hidden; }
.rail-rotator { transform: translateY(calc(var(--rail-index) * -39px)); transition: transform 520ms cubic-bezier(.22,1,.36,1); }
.rail-story { height: 39px; display: flex; align-items: center; overflow: hidden; text-overflow: ellipsis; }
.rail-story:hover, .rail-story:focus-visible, .rail-static:hover, .rail-static:focus-visible { color: #f7b5aa; }
.rail-static { display: block; overflow: hidden; text-overflow: ellipsis; }
.rail-inner time { color: #aaa; font-size: 10px; }
.section-heading { min-height: 82px; display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 22px 0 13px; border-bottom: 2px solid var(--ink); }
.section-heading h1, .section-heading h2 { margin: 2px 0 0; font: 700 40px/1.05 var(--serif); }
.section-heading p { margin: 0; color: var(--muted); font-size: 11px; }
.eyebrow { color: var(--signal) !important; font-size: 9px !important; font-weight: 900; text-transform: uppercase; }
.snapshot-note { padding-bottom: 3px; }
.front-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(260px,.78fr) minmax(350px,.92fr); align-items: start; gap: 22px; padding: 18px 0 26px; border-bottom: 1px solid var(--line-dark); }
.lead-story { min-width: 0; align-self: stretch; display: flex; flex-direction: column; transition: opacity 120ms ease; }
.lead-story.is-changing { opacity: .28; }
.lead-media { position: relative; flex: none; min-height: 0; aspect-ratio: 16 / 9; background: var(--soft); overflow: hidden; }
.lead-image { display: block; width: 100%; height: 100%; overflow: hidden; }
.lead-nav-button { position: absolute; top: 50%; z-index: 2; width: 58px; height: 112px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: white; opacity: .18; transform: translateY(-50%); cursor: pointer; transition: opacity 160ms ease, background-color 160ms ease; }
.lead-nav-button svg { width: 46px; height: 46px; stroke-width: 1.35; filter: drop-shadow(0 1px 5px rgba(0,0,0,.68)); }
.lead-nav-prev { left: 0; }
.lead-nav-next { right: 0; }
.lead-media:hover .lead-nav-button, .lead-nav-button:focus-visible { background: rgba(18,18,16,.16); opacity: .92; }
.lead-nav-button:focus-visible { outline: 2px solid white; outline-offset: -4px; }
.lead-dots { position: absolute; right: 13px; bottom: 13px; display: flex; align-items: center; gap: 7px; padding: 7px 8px; background: rgba(18,18,16,.78); }
.lead-dots button { width: 7px; height: 7px; padding: 0; border: 1px solid white; border-radius: 50%; background: transparent; cursor: pointer; }
.lead-dots button.active { background: white; }
.lead-dots button:focus-visible { outline: 2px solid var(--signal); outline-offset: 3px; }
.story-kicker { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; color: var(--signal); font-size: 10px; font-weight: 800; }
.story-kicker span:last-child { color: var(--muted); font-weight: 500; }
.lead-story h1, .lead-story h2 { margin: 7px 0 8px; font: 700 48px/1.1 var(--serif); }
.lead-story .summary { margin: 0; max-width: 92%; color: #55544f; font-size: 13px; line-height: 1.65; }
.lead-actions { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 11px; border-top: 1px solid var(--line); }
.source-time { display: flex; gap: 8px; color: var(--muted); font-size: 10px; }
.bookmark-button { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--line); background: transparent; cursor: pointer; }
.bookmark-button:hover, .bookmark-button.saved { border-color: var(--signal); color: var(--signal); background: #fff4f1; }
.bookmark-button svg { width: 15px; height: 15px; }
.column-heading { height: 34px; display: flex; align-items: start; justify-content: space-between; border-bottom: 2px solid var(--ink); }
.column-heading h2 { margin: 0; font: 700 17px/1 var(--serif); }
.column-heading span { color: var(--muted); font-size: 9px; }
.latest-column { min-height: 0; }
.latest-grid { min-height: 0; }
.latest-item { display: grid; grid-template-columns: 84px minmax(0,1fr); align-items: center; gap: 10px; min-height: 67px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.latest-item.no-image { grid-template-columns: 1fr; min-height: 69px; }
.latest-image { display: block; width: 84px; height: 62px; background: var(--soft); overflow: hidden; }
.latest-item h3 { display: -webkit-box; overflow: hidden; margin: 0; font: 700 13px/1.35 var(--serif); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.latest-item:hover h3, .secondary-story:hover h3, .channel-list-item:hover h3, .channel-feature-link:hover h3 { color: var(--signal); }
.latest-meta { display: flex; gap: 7px; margin-top: 6px; color: var(--muted); font-size: 11px; }
.latest-meta strong { color: var(--data); }
.ranking-panel { align-self: stretch; display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line-dark); }
.ranking-heading { min-height: 68px; display: flex; align-items: end; justify-content: space-between; gap: 8px; padding: 12px 13px 10px; border-bottom: 2px solid var(--ink); }
.ranking-heading h2 { margin: 3px 0 0; font: 700 20px/1 var(--serif); }
.ranking-heading > span { color: var(--muted); font-size: 9px; }
.ranking-tabs { display: grid; grid-template-columns: 1fr 1fr; }
.ranking-tabs button { height: 36px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); cursor: pointer; font-size: 13px; font-weight: 700; }
.ranking-tabs button:last-child { border-right: 0; }
.ranking-tabs button.active { background: var(--ink); color: white; }
.ranking-columns { display: grid; grid-template-columns: 1fr auto; padding: 7px 11px; background: var(--soft); color: var(--muted); font-size: 8px; }
.ranking-list { min-height: 0; list-style: none; margin: 0; padding: 0 11px; }
.ranking-expand { display: none; width: calc(100% - 22px); min-height: 40px; margin: 8px 11px; border: 1px solid var(--line-dark); background: transparent; color: var(--ink); cursor: pointer; font-size: 12px; font-weight: 700; }
.ranking-tabs button:focus-visible { position: relative; z-index: 1; outline: none; box-shadow: inset 0 0 0 2px var(--signal); }
.ranking-expand:focus-visible, .channel-tabs button:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.rank-item { min-height: 43px; border-bottom: 1px solid #e3e2dc; }
.rank-item-link { min-height: 43px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 6px; }
.rank-item-link:hover .rank-copy strong { color: var(--signal); }
.rank-number { font: 700 17px/1 var(--serif); color: #777; }
.rank-item:nth-child(-n+3) .rank-number { color: var(--signal); }
.rank-copy { min-width: 0; }
.rank-copy strong { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; }
.rank-copy small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.rank-metric { text-align: right; font-size: 10px; font-weight: 700; }
.rank-metric em { display: block; margin-top: 3px; color: var(--success); font-size: 9px; font-style: normal; }
.rank-metric em.down { color: var(--signal-dark); }
.ranking-list[data-ranking-mode="topics"] .rank-item-link { grid-template-columns: 34px minmax(0,1fr) auto; gap: 10px; }
.ranking-list[data-ranking-mode="topics"] .rank-number { font-size: 21px; }
.ranking-list[data-ranking-mode="topics"] .rank-copy strong { font-size: 15px; line-height: 1.35; }
.ranking-list[data-ranking-mode="topics"] .rank-copy small { font-size: 12px; }
.ranking-list[data-ranking-mode="topics"] .rank-metric { font-size: 12px; }
.ranking-list[data-ranking-mode="topics"] .rank-metric em { font-size: 10px; }
.ranking-source { padding: 9px 11px; background: var(--soft); color: var(--muted); font-size: 8px; }
.focus-section { padding-top: 10px; }
.compact-heading { min-height: 70px; }
.compact-heading h2, .channel-heading h2 { font-size: 24px; }
.focus-strip { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border-bottom: 2px solid var(--ink); }
.focus-item { min-height: 150px; padding: 15px 16px 15px 0; margin-right: 16px; border-right: 1px solid var(--line); }
.focus-item:last-child { border-right: 0; margin-right: 0; }
.focus-image { display: block; aspect-ratio: 16 / 9; margin: 0 0 12px; background: var(--soft); overflow: hidden; }
.focus-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.focus-index { color: var(--signal); font: 700 18px/1 var(--serif); }
.focus-item h3 { min-height: 47px; display: -webkit-box; overflow: hidden; margin: 10px 0 8px; font: 700 18px/1.3 var(--serif); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.focus-item p { display: -webkit-box; overflow: hidden; margin: 0 0 10px; color: var(--muted); font: 700 15px/1.45 var(--serif); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.focus-meta { color: var(--data); font-size: 9px; }
.channels-section { padding: 12px 0 52px; }
.channel-heading { min-height: 78px; }
.channel-tabs { display: flex; gap: 27px; min-height: 49px; align-items: center; overflow-x: auto; border-bottom: 1px solid var(--line-dark); scrollbar-width: none; }
.channel-tabs::-webkit-scrollbar { display: none; }
.channel-tabs button { align-self: stretch; flex: 0 0 auto; border: 0; border-bottom: 3px solid transparent; background: transparent; cursor: pointer; color: var(--muted); font-size: 12px; font-weight: 700; }
.channel-tabs button.active { color: var(--signal); border-bottom-color: var(--signal); }
.channel-panel { display: grid; grid-template-columns: 1.2fr .95fr .95fr; align-items: start; gap: 22px; padding-top: 18px; }
[data-channel-density="solo"] { grid-template-columns: minmax(0,1fr); }
[data-channel-density="solo"] .channel-feature { width: min(760px,100%); padding-right: 0; border-right: 0; }
[data-channel-density="compact"] { grid-template-columns: minmax(0,1.2fr) minmax(0,1.9fr); }
[data-channel-density="compact"][data-channel-secondary-count="1"] { grid-template-columns: minmax(0,1.2fr) minmax(0,.95fr); }
[data-channel-density="compact"][data-channel-secondary-count="1"] .channel-secondary { grid-template-columns: 1fr; }
[data-channel-density="compact"][data-channel-secondary-count="2"] .channel-secondary { grid-template-columns: repeat(2,minmax(0,1fr)); }
[data-channel-density="compact"][data-channel-secondary-count="3"] .channel-secondary { grid-template-columns: repeat(3,minmax(0,1fr)); }
.channel-feature { padding-right: 22px; border-right: 1px solid var(--line); }
.channel-feature-link { display: block; }
.channel-feature-image { display: block; aspect-ratio: 16 / 8.6; background: var(--soft); overflow: hidden; }
.channel-feature h3 { margin: 10px 0 7px; font: 700 24px/1.2 var(--serif); }
.channel-feature p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.channel-secondary { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: auto; align-content: start; gap: 16px 13px; }
.secondary-story { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.secondary-story.no-image { display: flex; flex-direction: column; justify-content: center; padding: 14px; background: var(--soft); }
.secondary-image { display: block; aspect-ratio: 16 / 9; background: var(--soft); overflow: hidden; }
.secondary-story h3 { display: -webkit-box; overflow: hidden; margin: 7px 0 5px; font: 700 13px/1.35 var(--serif); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.channel-list { display: block; border-left: 1px solid var(--line); padding-left: 18px; }
.channel-list-item { min-height: 102px; display: grid; grid-template-columns: 23px 92px minmax(0,1fr); align-items: center; gap: 9px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.channel-list-item.no-image { grid-template-columns: 23px minmax(0,1fr); }
.channel-list-rank { align-self: start; padding-top: 3px; color: var(--signal); font: 700 13px/1 var(--serif); }
.channel-list-image { display: block; width: 92px; height: 68px; background: var(--soft); overflow: hidden; }
.channel-list-copy { min-width: 0; }
.channel-list-item h3 { display: -webkit-box; overflow: hidden; margin: 0; font: 700 13px/1.4 var(--serif); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.first-party-section { padding: 58px 0 48px; border-top: 1px solid var(--line-dark); background: var(--white); }
.first-party-heading { min-height: 0; display: block; margin-bottom: 24px; padding: 0 0 18px; }
.first-party-heading h2 { margin-top: 5px; font-size: 31px; }
.first-party-intro { max-width: 560px; margin-top: 10px !important; font-size: 12px !important; line-height: 1.6; }
.first-party-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 30px; border-top: 2px solid var(--ink); }
.first-party-item { min-width: 0; display: grid; grid-template-columns: 116px minmax(0,1fr); gap: 16px; align-items: start; padding: 18px 0; border-bottom: 1px solid var(--line); }
.first-party-item.no-image { grid-template-columns: minmax(0,1fr); }
.first-party-media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--soft); }
.first-party-copy { min-width: 0; }
.first-party-meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.first-party-meta span { color: var(--signal); font-weight: 800; text-align: right; }
.first-party-item h3 { display: -webkit-box; overflow: hidden; margin: 0; font: 700 18px/1.32 var(--serif); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.first-party-item:hover h3 { color: var(--signal); }
.first-party-item p { display: -webkit-box; overflow: hidden; margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.first-party-feature { grid-column: 1 / -1; grid-template-columns: minmax(260px,.9fr) minmax(0,1.1fr); gap: 30px; padding: 22px 0 26px; }
.first-party-feature .first-party-media { aspect-ratio: 16 / 9; }
.first-party-feature h3 { font-size: 28px; line-height: 1.18; -webkit-line-clamp: 3; }
.first-party-feature p { max-width: 620px; font-size: 12px; -webkit-line-clamp: 3; }
.first-party-empty { padding: 28px 0; color: var(--muted); font-size: 12px; border-bottom: 1px solid var(--line); }
.first-party-actions { display: flex; justify-content: flex-end; padding-top: 18px; }
.first-party-all { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; }
.first-party-all:hover { color: var(--signal); }
.first-party-all svg { width: 16px; }
.archive-gateway { position: relative; overflow: hidden; background: var(--ink); color: white; }
.archive-gateway::before { content: "ARCHIVE"; position: absolute; top: -16px; right: 2vw; color: #242423; font: 700 clamp(64px,10vw,150px)/1 var(--sans); pointer-events: none; }
.archive-gateway-inner { position: relative; display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); }
.archive-gateway-tool, .archive-gateway-preview { padding: 42px 36px; }
.archive-gateway-tool { border-right: 1px solid #3e3e3b; }
.archive-gateway h2 { margin: 7px 0 10px; font: 700 30px/1.1 var(--serif); letter-spacing: 0; }
.archive-gateway-tool > p:not(.eyebrow):not(.archive-gateway-count) { max-width: 480px; margin: 0; color: #aaa8a2; font-size: 11px; line-height: 1.6; }
.archive-gateway-form { margin-top: 20px; }
.archive-gateway-form label { height: 48px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; padding-left: 13px; background: white; color: var(--ink); }
.archive-gateway-form svg { width: 18px; color: var(--muted); }
.archive-gateway-form input { min-width: 0; border: 0; outline: 0; background: transparent; }
.archive-gateway-form button { align-self: stretch; min-width: 82px; border: 0; background: var(--signal); color: white; font-weight: 800; cursor: pointer; }
.archive-gateway-form button:hover { background: var(--signal-dark); }
.archive-gateway-topics { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.archive-gateway-topics a { min-height: 29px; display: inline-flex; align-items: center; padding: 0 9px; border: 1px solid #4d4c48; color: #cbc8c1; font-size: 9px; }
.archive-gateway-topics a:hover { border-color: var(--signal); color: white; }
.archive-gateway-count { margin: 18px 0 0; padding-top: 12px; border-top: 1px solid #393936; color: #8f8c86; font-size: 10px; }
.archive-gateway-count strong { color: white; font: 700 20px/1 var(--serif); }
.archive-gateway-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding-bottom: 11px; border-bottom: 1px solid #6a6964; }
.archive-gateway-head h3 { margin: 5px 0 0; font: 700 20px/1 var(--serif); }
.archive-gateway-head a { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.archive-gateway-head a:hover { color: var(--signal); }
.archive-gateway-head svg { width: 15px; }
.archive-gateway-item { min-height: 92px; display: grid; grid-template-columns: 82px minmax(0,1fr) 94px; gap: 16px; align-items: start; padding: 15px 0; border-bottom: 1px solid #3e3e3b; color: white; }
.archive-gateway-item time { color: #8f8c86; font-size: 9px; line-height: 1.4; }
.archive-gateway-item h4 { margin: 0; font: 700 14px/1.35 var(--serif); }
.archive-gateway-item p { display: -webkit-box; overflow: hidden; margin: 5px 0 0; color: #8f8c86; font-size: 9px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.archive-gateway-item > span { color: var(--signal); text-align: right; font-size: 8px; font-weight: 800; }
.archive-gateway-item:hover h4 { color: var(--signal); }
.site-footer { border-top: 4px solid var(--signal); background: var(--ink); color: white; }
.footer-grid { min-height: 176px; display: grid; grid-template-columns: minmax(220px,.9fr) minmax(280px,1.4fr) minmax(160px,.7fr); align-items: center; gap: 48px; }
.footer-mark { color: #f5f4ef; font-size: 27px; }
.site-footer .footer-mark .wordmark-name { color: #f5f4ef; }
.site-footer .wordmark:not(:has(.wordmark-logo))::before { background-image: url("/brand-mark.png"); filter: brightness(0) invert(1); }
.site-footer .wordmark-logo { width: 36px; height: 36px; }
.footer-grid p { margin: 9px 0 0; color: #b5b4ae; font-size: 11px; line-height: 1.7; }
.footer-grid nav { display: flex; flex-wrap: wrap; gap: 10px 18px; color: #b5b4ae; font-size: 11px; line-height: 1.7; }
.footer-grid nav a:hover { color: white; }
.footer-meta { text-align: right; }
.search-dialog { position: fixed; inset: 0; z-index: 50; display: grid; place-items: start center; padding-top: 12vh; background: rgba(18,18,16,.68); }
.search-dialog[hidden] { display: none; }
.search-panel { width: min(720px,calc(100% - 32px)); max-height: 72vh; overflow: auto; padding: 22px; background: var(--white); border-top: 5px solid var(--signal); box-shadow: 0 24px 70px rgba(0,0,0,.3); }
.search-head { display: flex; align-items: center; justify-content: space-between; }
.search-head h2 { margin: 0; font: 700 23px var(--serif); }
.search-field { height: 48px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; margin-top: 18px; padding: 0 6px 0 13px; border: 1px solid var(--line-dark); }
.search-field svg { width: 18px; }
.search-field input { width: 100%; border: 0; outline: 0; background: transparent; }
.search-results { margin-top: 12px; }
.search-results > p { color: var(--muted); font-size: 12px; }
.search-result { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.search-result h3 { margin: 0; font: 700 14px/1.35 var(--serif); }
.search-result span { color: var(--muted); font-size: 9px; }
body.dialog-open { overflow: hidden; }

@media (min-width: 1121px) {
  .ranking-list { flex: 1 1 auto; display: grid; grid-template-rows: repeat(var(--ranking-count, 10), minmax(0,1fr)); }
  .rank-item, .rank-item-link { min-height: 0; height: 100%; }
}

@media (max-width: 1120px) {
  .front-grid { grid-template-columns: minmax(0,1.35fr) minmax(260px,.78fr); }
  .ranking-panel { grid-column: 1 / -1; display: block; }
  .ranking-list { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: none; column-gap: 22px; }
  .focus-strip { grid-template-columns: repeat(3,1fr); }
  .focus-item:nth-child(3) { border-right: 0; }
  .focus-item:nth-child(n+4) { border-top: 1px solid var(--line); }
  .channel-panel { grid-template-columns: 1fr 1fr; }
  .channel-list { grid-column: 1/-1; border-left: 0; padding-left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
  .channel-list { grid-template-rows: none; }
}

@media (max-width: 760px) {
  .page-width { width: min(100% - 28px,var(--page)); }
  .utility-links, .masthead-note { display: none !important; }
  .utility-bar { justify-content: center; }
  .masthead { height: 78px; grid-template-columns: 40px 1fr auto; }
  .wordmark-logo { width: 38px; height: 38px; }
  .wordmark { justify-self: center; gap: 7px; font-size: 25px; }
  .menu-button { display: inline-grid; }
  .masthead-actions { gap: 0; }
  .primary-nav { display: none; position: absolute; z-index: 20; width: 100%; background: white; box-shadow: 0 12px 24px rgba(0,0,0,.12); }
  .primary-nav.open { display: block; }
  .nav-inner { height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 8px 14px 14px; }
  .nav-inner a { justify-content: center; border-bottom: 1px solid var(--line); }
  .rail-inner { gap: 9px; }
  .rail-inner time { display: none; }
  .top-heading { min-height: 69px; }
  .section-heading h1 { font-size: 32px; }
  .snapshot-note { max-width: 135px; text-align: right; }
  .front-grid { display: flex; flex-direction: column; gap: 22px; padding-top: 12px; }
  .lead-story { order: 1; }
  .latest-column { order: 2; }
  .ranking-panel { order: 3; }
  .lead-story h1, .lead-story h2 { font-size: 34px; }
  .lead-story .summary { max-width: none; }
  .lead-media { flex: none; min-height: 0; aspect-ratio: 16 / 9; }
  .lead-nav-button { width: 48px; height: 86px; opacity: .5; }
  .lead-nav-button svg { width: 38px; height: 38px; }
  .latest-column { display: block; }
  .latest-grid { display: grid; grid-template-rows: none; }
  .ranking-list { display: block; }
  .ranking-expand:not([hidden]) { display: block; }
  .latest-grid { grid-template-columns: 1fr; }
  .focus-strip { grid-template-columns: 1fr 1fr; }
  .focus-item, .focus-item:nth-child(3) { min-height: 133px; margin-right: 10px; padding-right: 10px; border-right: 1px solid var(--line); }
  .focus-item:nth-child(even) { margin-right: 0; border-right: 0; }
  .focus-item:nth-child(n+3) { border-top: 1px solid var(--line); }
  .focus-item:last-child { grid-column: 1/-1; }
  .focus-item h3 { min-height: 0; font-size: 14px; }
  .focus-item:nth-child(n+4) { display: none; }
  .channel-heading { align-items: end; }
  .channel-heading > p { display: none; }
  .channel-panel { grid-template-columns: 1fr; }
  .channel-feature { padding-right: 0; border-right: 0; }
  .channel-feature h3 { font-size: 21px; }
  .channel-secondary { grid-template-columns: 1fr 1fr; }
  .channel-list { grid-column: auto; display: block; }
  [data-channel-density="compact"] { grid-template-columns: 1fr; }
  [data-channel-density="compact"] .channel-secondary { grid-template-columns: 1fr 1fr; }
  [data-channel-density="compact"][data-channel-secondary-count="3"] .secondary-story:last-child { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1fr; gap: 12px; padding: 30px 0; }
  .footer-meta { text-align: left; }
  .first-party-section { padding: 38px 0 32px; }
  .first-party-heading h2 { font-size: 26px; }
  .first-party-list { grid-template-columns: 1fr; }
  .first-party-item, .first-party-feature { grid-column: auto; grid-template-columns: 104px minmax(0,1fr); gap: 14px; padding: 16px 0; }
  .first-party-item.no-image, .first-party-feature.no-image { grid-template-columns: minmax(0,1fr); }
  .first-party-feature .first-party-media { aspect-ratio: 4 / 3; }
  .first-party-feature h3 { font-size: 20px; line-height: 1.28; }
  .first-party-feature p { font-size: 11px; -webkit-line-clamp: 2; }
  .archive-gateway-inner { grid-template-columns: 1fr; }
  .archive-gateway-tool { border-right: 0; border-bottom: 1px solid #3e3e3b; }
  .archive-gateway-tool, .archive-gateway-preview { padding: 30px 0; }
  .archive-gateway-item { grid-template-columns: 66px minmax(0,1fr); }
  .archive-gateway-item > span { grid-column: 2; text-align: left; }
}

.policy-page-body { background: linear-gradient(180deg, #f7f4ef 0, var(--white) 180px); }
.policy-page { max-width: 760px; padding: 42px 0 72px; }
.policy-page > .eyebrow { margin: 0 0 10px; color: var(--signal); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.policy-page > h1 { margin: 0 0 28px; font: 700 40px/1.12 var(--serif); }
.policy-section { padding: 22px 0; border-top: 1px solid var(--line); }
.policy-section:first-of-type { border-top: 0; padding-top: 0; }
.policy-section h2 { margin: 0 0 10px; font: 700 22px/1.25 var(--serif); }
.policy-section p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.policy-page-body .site-footer nav { display: flex; flex-wrap: wrap; gap: 14px 18px; padding: 28px 0; border-top: 1px solid var(--line); font-size: 12px; }
.policy-page-body .site-footer a:hover { color: var(--signal); }

@media (prefers-reduced-motion: reduce) {
  .lead-story { transition: none; }
  .rail-rotator { transition: none; }
}

@media (max-width: 420px) {
  .latest-item { grid-template-columns: 78px minmax(0,1fr); }
  .latest-image { width: 78px; height: 59px; }
  .channel-list-item { grid-template-columns: 23px 78px minmax(0,1fr); }
  .channel-list-image { width: 78px; height: 58px; }
  .focus-strip { grid-template-columns: 1fr; }
  .focus-item, .focus-item:nth-child(even), .focus-item:last-child { grid-column: auto; margin: 0; padding: 13px 0; border-right: 0; border-top: 1px solid var(--line); }
  .focus-item:first-child { border-top: 0; }
  .channel-secondary { grid-template-columns: 1fr; }
}
