:root {
  --news-paper: #f7f5ef;
  --news-paper-alt: #efede6;
  --news-ink: #1b1d1b;
  --news-muted: #60645f;
  --news-faint: #93968f;
  --news-rule: #c8c7c0;
  --news-accent: #8f3026;
  --news-green: #315d49;
  --news-serif: "Source Serif 4", Georgia, serif;
}
.news-page { margin: 0; color: var(--news-ink); background: var(--news-paper); font-family: var(--news-serif); line-height: 1.6; }
.news-page main { overflow: visible; }
.news-header { color: var(--news-ink); background: var(--news-paper); }
.news-utility { display: flex; justify-content: space-between; gap: 20px; max-width: 1180px; margin: auto; padding: 9px 25px; color: var(--news-muted); border-bottom: 1px solid var(--news-rule); font: 500 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.news-utility a { color: var(--news-accent); text-decoration: none; }
.news-masthead { display: grid; place-items: center; padding: 24px 20px 20px; border-bottom: 4px double var(--news-ink); }
.news-masthead a { color: var(--news-ink); font: 700 clamp(43px, 6vw, 72px)/.92 var(--news-serif); letter-spacing: -.055em; text-decoration: none; }
.news-masthead p { margin: 8px 0 0; color: var(--news-muted); font: italic 400 12px var(--news-serif); }
.news-nav { position: sticky; top: 0; z-index: 15; display: flex; justify-content: center; gap: 30px; min-height: 42px; padding: 0 22px; color: var(--news-ink); border-bottom: 1px solid var(--news-rule); background: rgba(247, 245, 239, .96); backdrop-filter: blur(12px); }
.news-nav a, .news-nav span { display: flex; align-items: center; color: var(--news-muted); font: 600 10px var(--sans); text-decoration: none; }
.news-nav a:hover { color: var(--news-accent); }
.news-nav span { margin-left: 35px; color: var(--news-faint); font: 400 8px var(--mono); }
.news-main { max-width: 1180px; margin: auto; padding: 0 25px; }
.front-page { display: grid; grid-template-columns: minmax(0, 800px) 240px; gap: 55px; padding: 34px 0 80px; border-bottom: 3px double var(--news-ink); }
.edition-line { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--news-ink); color: var(--news-accent); font: 600 9px var(--mono); letter-spacing: .1em; }
.edition-line label { margin-left: auto; color: var(--news-faint); font-weight: 400; }
.news-page .edition-line select { padding: 5px 24px 5px 7px; color: var(--news-ink); border: 0; border-bottom: 1px solid var(--news-rule); background: transparent; font: 400 9px var(--mono); }
.lead-report { max-width: none; padding: 0; border: 0; background: transparent; }
.lead-report h1 { max-width: 760px; margin: 0 0 18px; color: var(--news-ink); font: 700 clamp(42px, 5.5vw, 66px)/.98 var(--news-serif); letter-spacing: -.048em; text-wrap: balance; }
.lead-report > blockquote:first-of-type { margin: 0 0 35px; padding: 14px 0; color: var(--news-muted); border: 0; border-top: 1px solid var(--news-rule); border-bottom: 1px solid var(--news-rule); background: transparent; font: 400 15.5px/1.6 var(--news-serif); }
.lead-report h2 { margin: 58px 0 18px; padding-top: 11px; color: var(--news-ink); border-top: 1px solid var(--news-ink); font: 600 29px/1.15 var(--news-serif); letter-spacing: -.02em; }
.lead-report h3 { margin: 34px 0 13px; font: 600 21px/1.2 var(--news-serif); }
.lead-report p, .lead-report li { color: #3b3f3b; font: 400 19px/1.72 var(--news-serif); text-wrap: pretty; }
.lead-report p { margin: 0 0 20px; }
.lead-report li { margin-bottom: 6px; }
.lead-report a { color: var(--news-accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.lead-report table { width: 100%; margin: 27px 0; border-collapse: collapse; display: table; overflow: visible; }
.lead-report th, .lead-report td { padding: 9px 8px; color: var(--news-muted); border-bottom: 1px solid var(--news-rule); text-align: left; vertical-align: top; font: 500 12px/1.4 var(--sans); }
.lead-report th { color: var(--news-ink); border-top: 2px solid var(--news-ink); font-size: 10px; }
.front-page-rail { border-left: 1px solid var(--news-rule); padding-left: 24px; }
.front-page-rail h2 { margin: 0; padding: 8px 0; border-top: 4px solid var(--news-ink); border-bottom: 1px solid var(--news-rule); font: 600 16px var(--news-serif); }
.news-figures { margin: 0; }
.news-figures div { padding: 18px 0; border-bottom: 1px solid var(--news-rule); }
.news-figures dt { color: var(--news-ink); font: 600 34px/1 var(--news-serif); }
.news-figures dd { margin: 5px 0 0; color: var(--news-muted); font: 500 9px var(--mono); text-transform: uppercase; }
.editor-note { margin-top: 35px; padding: 15px 0; border-top: 2px solid var(--news-accent); border-bottom: 1px solid var(--news-rule); }
.editor-note span { color: var(--news-accent); font: 600 8px var(--mono); letter-spacing: .1em; }
.editor-note p { margin: 8px 0 0; color: var(--news-muted); font: 400 14px/1.58 var(--news-serif); }
.news-desk { padding: 85px 0; border-bottom: 1px solid var(--news-rule); }
.desk-heading { display: grid; grid-template-columns: 150px minmax(0, 760px); gap: 35px; margin-bottom: 42px; }
.desk-heading > p { margin: 7px 0; color: var(--news-accent); font: 600 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.desk-heading h2 { margin: 0; color: var(--news-ink); font: 600 clamp(36px, 5vw, 57px)/1.03 var(--news-serif); letter-spacing: -.04em; }
.desk-heading div > span { display: block; max-width: 650px; margin-top: 15px; color: var(--news-muted); font: 400 16px/1.58 var(--news-serif); }
.news-page .timeline { display: flex; margin-left: 185px; padding: 22px 0 35px; overflow-x: auto; }
.news-page .time-node { min-width: 130px; padding-top: 22px; border-color: var(--news-rule); }
.news-page .time-node::before { width: 7px; height: 7px; top: -4px; background: var(--news-accent); }
.news-page .time-node time { color: var(--news-accent); font: 500 11px var(--mono); }
.news-page .time-node b { color: var(--news-ink); font: 600 11px/1.35 var(--sans); }
.desk-toolbar { margin-left: 185px; }
.news-page .search { background: transparent; border-color: var(--news-rule); }
.news-page .search span { color: var(--news-accent); }
.news-page input, .news-page select { color: var(--news-ink); background: var(--news-paper); border-color: var(--news-rule); }
.news-page input:focus-visible, .news-page select:focus-visible, .news-page a:focus-visible, .news-page button:focus-visible, .news-page summary:focus-visible { outline: 2px solid var(--news-accent); outline-offset: 3px; }
.news-page .company-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 35px; margin-left: 185px; border-top: 2px solid var(--news-ink); }
.news-page .company-card { min-height: 0; padding: 20px 0 24px; color: var(--news-ink); border: 0; border-bottom: 1px solid var(--news-rule); background: transparent; transition: none; }
.news-page .company-card:hover { transform: none; border-color: var(--news-rule); }
.news-page .company-card header { align-items: baseline; }
.news-page .company-card h3 { font: 600 24px/1.15 var(--news-serif); }
.news-page .company-card .year { color: var(--news-accent); font: 500 10px var(--mono); }
.news-page .tag { margin: 10px 0; padding: 0; color: var(--news-muted); border: 0; font: 500 8px var(--mono); letter-spacing: .07em; }
.news-page .company-card .focus { color: #414641; font: 400 15.5px/1.58 var(--news-serif); }
.news-page .company-meta { gap: 10px 18px; padding-top: 13px; border-color: var(--news-rule); }
.news-page .company-meta span { color: var(--news-faint); font-size: 8px; }
.news-page .company-meta b { color: var(--news-ink); font: 600 10px/1.4 var(--sans); }
.news-page .company-links a { color: var(--news-accent); font-size: 8px; }
.news-page .map-layout { grid-template-columns: minmax(0, 3fr) minmax(320px, 1fr); width: min(1740px, calc(100vw - clamp(32px, 6vw, 96px))); min-height: clamp(540px, 38vw, 700px); margin-left: 50%; transform: translateX(-50%); border-color: var(--news-rule); }
.news-page .map-stage { min-height: clamp(540px, 38vw, 700px); background: radial-gradient(ellipse at center, rgba(49, 93, 73, .08), transparent 65%), var(--news-paper-alt); }
.news-page .us-outline { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; opacity: .92; }
.news-page .map-grid-lines { opacity: .1; background-image: linear-gradient(var(--news-green) 1px, transparent 1px), linear-gradient(90deg, var(--news-green) 1px, transparent 1px); }
.news-page .map-stage::after, .news-page .map-label { color: var(--news-faint); }
.news-page .hub-node { color: var(--news-ink); }
.news-page .hub-node i { border-color: var(--news-accent); background: rgba(143, 48, 38, .1); box-shadow: none; }
.news-page .hub-node span { font-size: 8px; text-shadow: 0 1px 0 var(--news-paper); }
.news-page .hub-node.edge-left span { transform: translateX(35%); }
.news-page .hub-node.edge-right span { transform: translateX(-35%); }
.news-page .hub-node:hover i, .news-page .hub-node.active i { background: var(--news-accent); box-shadow: none; }
.news-page .hub-detail { color: var(--news-ink); border-color: var(--news-rule); background: var(--news-paper); }
.news-page .hub-detail h3 { font: 600 27px var(--news-serif); }
.news-page .hub-detail .cluster-count { color: var(--news-accent); font-size: 9px; }
.news-page .hub-detail p, .news-page .hub-detail li { color: var(--news-muted); font: 400 14.5px/1.58 var(--news-serif); }
.news-page .map-source { width: min(1740px, calc(100vw - clamp(32px, 6vw, 96px))); margin: 8px auto 0; color: var(--news-faint); font: 400 8px/1.5 var(--mono); }
.news-page .map-source a { color: var(--news-muted); }
.news-page .evolution { margin-left: 185px; color: var(--news-muted); border: 0; border-left: 3px solid var(--news-accent); background: transparent; font: 400 15px/1.62 var(--news-serif); }
.news-page .evolution::before { color: var(--news-accent); font-size: 8px; }
.news-page .subheading-row { margin-left: 185px; border-bottom: 1px solid var(--news-ink); padding-bottom: 8px; }
.news-page .subheading-row h3 { font: 600 24px var(--news-serif); }
.news-page .mono { color: var(--news-faint); font-size: 8px; }
.news-page .early-grid { grid-template-columns: repeat(2, 1fr); gap: 0 30px; margin-left: 185px; }
.news-page .job-card { padding: 18px 0; color: var(--news-ink); border: 0; border-bottom: 1px solid var(--news-rule); background: transparent; }
.news-page .job-card .company { color: var(--news-accent); font-size: 8px; }
.news-page .job-card h4 { min-height: 0; margin: 6px 0; font: 600 17px/1.25 var(--news-serif); }
.news-page .job-card .location, .news-page .job-card details { color: var(--news-muted); font: 400 13.5px/1.55 var(--news-serif); }
.news-page .job-card a { color: var(--news-accent); font-size: 8px; }
.news-page .signals-layout { grid-template-columns: 1.35fr .65fr; gap: 45px; margin: 55px 0 0 185px; }
.news-page .signals-layout .subheading-row { margin-left: 0; }
.news-page .signal-row { color: var(--news-ink); }
.news-page .signal-track { height: 5px; background: var(--news-rule); }
.news-page .signal-track i { background: var(--news-accent); }
.news-page .signal-count { color: var(--news-faint); }
.news-page .action-card { padding: 22px; color: var(--news-ink); border: 0; border-top: 4px solid var(--news-ink); border-bottom: 1px solid var(--news-rule); background: transparent; }
.news-page .action-card .eyebrow { color: var(--news-accent); font-size: 8px; }
.news-page .action-card h3 { font: 600 26px/1.08 var(--news-serif); }
.news-page .action-card > p:not(.eyebrow) { color: var(--news-muted); font: 400 14.5px/1.58 var(--news-serif); }
.news-page .action-item { border-color: var(--news-rule); color: var(--news-muted); font-family: var(--news-serif); }
.news-page .all-jobs { margin-left: 185px; border-color: var(--news-rule); }
.news-page .all-jobs summary { color: var(--news-ink); font: 600 14px var(--sans); }
.news-page .job-list { border-color: var(--news-rule); background: var(--news-rule); }
.news-page .job-row { color: var(--news-ink); background: var(--news-paper); }
.news-page .job-row span { color: var(--news-muted); }
.news-page .job-row a { color: var(--news-accent); }
.news-footer { display: flex; justify-content: space-between; gap: 30px; padding: 45px max(25px, calc((100vw - 1130px) / 2)); color: #d6d9d5; background: #202421; }
.news-footer p { max-width: 560px; color: #9da49e; font: 400 12px var(--news-serif); }
.news-footer a { color: #b8beb9; }
.news-page .error-banner { color: #6f211d; border-color: #bf837b; background: #f5dfda; }
@media (max-width: 980px) {
  .front-page { grid-template-columns: minmax(0, 1fr) 200px; gap: 35px; }
  .desk-heading { grid-template-columns: 120px 1fr; }
  .news-page .timeline, .desk-toolbar, .news-page .company-grid, .news-page .map-layout, .news-page .map-source, .news-page .evolution, .news-page .subheading-row, .news-page .early-grid, .news-page .signals-layout, .news-page .all-jobs { margin-left: 0; }
  .news-page .map-layout, .news-page .map-source { width: 100%; transform: none; }
}
@media (max-width: 740px) {
  .news-utility span:nth-child(2), .news-nav a:nth-child(n+3), .news-nav span { display: none; }
  .news-masthead { justify-items: start; padding-inline: 20px; }
  .news-masthead a { font-size: 45px; }
  .news-nav { justify-content: flex-start; }
  .front-page { display: block; padding-top: 24px; }
  .edition-line { margin-bottom: 30px; }
  .front-page-rail { margin-top: 55px; padding-left: 0; border-left: 0; }
  .news-figures { display: grid; grid-template-columns: repeat(2, 1fr); }
  .news-figures div { padding-right: 15px; }
  .news-desk { padding: 65px 0; }
  .desk-heading { display: block; }
  .desk-heading > p { margin-bottom: 10px; }
  .news-page .company-grid, .news-page .early-grid { grid-template-columns: 1fr; }
  .news-page .map-layout, .news-page .signals-layout { grid-template-columns: 1fr; }
  .news-page .hub-detail { border-left: 0; border-top: 1px solid var(--news-rule); }
  .news-page .map-stage { min-height: 380px; }
  .news-page .signals-layout { gap: 30px; }
  .news-page .toolbar { flex-direction: column; }
  .news-page .search { max-width: none; }
  .news-footer { flex-direction: column; }
}
@media (max-width: 460px) {
  .news-utility { font-size: 7px; }
  .news-masthead a { font-size: 38px; }
  .lead-report h1 { font-size: 39px; }
  .lead-report p, .lead-report li { font-size: 18px; }
  .lead-report table { display: block; overflow-x: auto; }
  .news-page .map-stage { min-height: 330px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
@media print {
  .news-utility, .news-nav, .front-page-rail, .desk-toolbar, .news-footer, .map-stage, .all-jobs { display: none !important; }
  .news-page { color: #000; background: #fff; }
  .front-page { display: block; }
  .lead-report { max-width: 75ch; }
  .news-desk { break-before: page; }
}
