/* Chinese Humanoids — editorial intelligence system */
:root {
  color-scheme: light;
  --bg: #f3f3ef;
  --paper: #fafaf7;
  --paper-soft: #eaeae5;
  --ink: #151b20;
  --navy: #151b20;
  --navy-soft: #232b30;
  --muted: #626565;
  --line: #d2d3ce;
  --line-strong: #a8adaa;
  --accent: #b8402d;
  --accent-dark: #8c2f20;
  --accent-soft: #f3e7e1;
  --red: #bd4938;
  --green: #38614d;
  --risk: #a13228;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: 'Arial', 'Helvetica Neue', sans-serif;
  --mono: 'Courier New', monospace;
  --page-width: 1400px;
  --gutter: clamp(20px, 5.15vw, 80px);
}
* { box-sizing: border-box; }
html { scroll-padding-top: 24px; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; text-underline-offset: 4px; }
a:hover { color: var(--accent); }
p { margin: 0 0 16px; }
h1, h2, h3, h4 { color: inherit; margin: 0 0 14px; line-height: 1.1; font-weight: 600; letter-spacing: -.035em; }
h1 { max-width: 1000px; font: 500 clamp(42px, 4.6vw, 70px)/1.04 var(--serif); letter-spacing: -.045em; }
h2 { font-size: 26px; }
h3 { font-size: 21px; }
svg { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
button, input, select, textarea { font: inherit; }
button, summary, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
[hidden] { display: none !important; }
.skip-link { position: fixed; left: 20px; top: -100px; z-index: 100; padding: 12px 18px; background: var(--ink); color: #fff; }
.skip-link:focus { top: 12px; }
.utility-bar { background: var(--ink); color: var(--bg); }
.utility-bar > div { display: flex; justify-content: space-between; align-items: center; max-width: calc(var(--page-width) + var(--gutter) * 2); margin: auto; padding: 6px var(--gutter); font: 10px/1.4 var(--mono); text-transform: uppercase; letter-spacing: .12em; }
.utility-bar > div > span:last-child { display: flex; gap: 16px; }
.utility-bar b { font-weight: 400; color: #a6aaa8; }
.site-header { position: relative; z-index: 20; display: flex; gap: 28px; align-items: center; justify-content: space-between; max-width: var(--page-width); width: calc(100% - var(--gutter) * 2); margin: auto; min-height: 105px; border-bottom: 1px solid var(--ink); }
.brand { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; }
.brand > span { font-size: clamp(22px, 2.35vw, 36px); font-weight: 800; letter-spacing: -.055em; white-space: nowrap; line-height: 1.1; }
.brand b { color: var(--red); font-weight: 500; padding: 0 3px; }
.brand small { margin-top: 6px; padding-left: .6em; font: 9px var(--mono); letter-spacing: 1.05em; }
.brand:hover { color: var(--ink); }
.site-nav { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.15vw, 34px); }
.site-nav a { padding: 12px 0; white-space: nowrap; font: 16px var(--serif); }
.site-nav a[aria-current] { color: var(--accent); text-decoration: underline; }
.header-actions { display: flex; gap: 24px; align-items: center; }
.nav-cta { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--red); padding: 10px 18px; color: var(--accent); font: 15px var(--serif); white-space: nowrap; }
.nav-cta:hover { background: var(--accent); color: #fff; }
.global-search summary { cursor: pointer; list-style: none; display: grid; place-items: center; padding: 8px; }
.global-search summary::-webkit-details-marker { display: none; }
.global-search summary svg { width: 24px; height: 24px; }
.global-search form { position: absolute; z-index: 30; top: calc(100% + 1px); right: 0; width: min(440px, 100%); padding: 24px; background: var(--paper); border: 1px solid var(--ink); box-shadow: 0 14px 24px #151b2012; }
.global-search label { display: block; margin-bottom: 12px; font: 11px var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.global-search form > div { display: flex; gap: 8px; }
.menu-toggle { display: none; }
main { width: calc(100% - var(--gutter) * 2); max-width: var(--page-width); margin: 0 auto; }
.edition-heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; border-bottom: 1px solid var(--line-strong); padding: 12px 0; margin-bottom: 12px; }
.edition-heading h1 { font: 600 14px/1 var(--sans); letter-spacing: .07em; text-transform: uppercase; margin: 0; border-left: 6px solid var(--red); padding-left: 13px; }
.edition-heading > span { color: var(--muted); font: 10px var(--mono); letter-spacing: .02em; }
.front-page { display: grid; grid-template-columns: minmax(0, 1.92fr) minmax(330px, 1fr); gap: 18px; }
.lead-story { min-width: 0; padding-bottom: 14px; }
.lead-image { position: relative; margin: 0 0 14px; overflow: hidden; background: #c9cdcb; }
.lead-image img { width: 100%; height: clamp(260px, 23.5vw, 365px); object-fit: cover; object-position: center; }
.lead-image figcaption { position: absolute; left: 0; bottom: 0; background: #151b20cc; color: #f3f3ef; padding: 5px 10px; font: 9px var(--mono); letter-spacing: .03em; }
.lead-image figcaption span { color: #d1846e; padding: 0 5px; }
.story-meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin: 0 0 7px; font: 9px/1.5 var(--mono); letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.story-meta > span:first-child { color: var(--accent); }
.story-meta time { white-space: nowrap; }
.lead-story > .story-meta { font-size: 10px; margin-bottom: 9px; }
.lead-story h2 { font: 600 clamp(36px, 3.65vw, 57px)/1.01 var(--serif); letter-spacing: -.055em; margin: 0 0 10px; max-width: 950px; }
.lead-dek { font: 23px/1.25 var(--serif); letter-spacing: -.02em; margin: 0 0 8px; }
.lead-description { font: 18px/1.38 var(--serif); color: var(--muted); max-width: 710px; margin: 0 0 16px; }
.editorial-link { color: var(--accent); font: 16px var(--serif); display: inline-flex; align-items: center; gap: 12px; }
.editorial-link span { transition: transform .15s; }
.editorial-link:hover span { transform: translateX(4px); }
.industry-monitor { background: var(--ink); color: var(--bg); padding: 20px 22px 18px; align-self: stretch; display: flex; flex-direction: column; }
.monitor-heading, .monitor-subheading { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #727978; padding-bottom: 12px; }
.monitor-heading h2 { font: 500 19px var(--sans); text-transform: uppercase; letter-spacing: .1em; margin: 0; }
.monitor-heading > a, .monitor-subheading > a { font: 8px var(--mono); text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.monitor-heading a span, .monitor-subheading a span { margin-left: 5px; font-size: 15px; }
.monitor-metrics { display: grid; grid-template-columns: 1fr 1fr; margin: 22px 0 14px; }
.monitor-metrics > div { padding: 0 16px 0 0; }
.monitor-metrics > div + div { padding: 0 0 0 20px; border-left: 1px solid #464f51; }
.monitor-metrics dt { color: var(--bg); font: 10px/1.4 var(--mono); letter-spacing: .09em; }
.monitor-metrics dd { display: flex; align-items: baseline; gap: 14px; color: var(--bg); font: 600 48px/1.1 var(--serif); margin-top: 4px; }
.monitor-metrics svg { width: 21px; height: 21px; }
.monitor-note { color: #c1c5c1; font: 12px/1.5 var(--serif); margin: 0 0 22px; }
.monitor-subheading { border-top: 1px solid #727978; border-bottom-color: #3b4546; padding-top: 14px; }
.monitor-subheading h3 { font: 11px var(--sans); text-transform: uppercase; letter-spacing: .1em; margin: 0; }
.signal-list { flex: 1; }
.signal-item { display: grid; grid-template-columns: 74px minmax(0, 1fr) 12px; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid #3b4546; }
.signal-thumbnail { height: 65px; background: #252f32; overflow: hidden; display: grid; place-items: center; }
.signal-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.signal-number { color: #9fa8a6; font: 30px var(--serif); }
.signal-item .story-meta { font-size: 8px; gap: 7px; color: #aeb6b4; margin-bottom: 6px; }
.signal-item .story-meta > span:first-child { color: #e38a6d; }
.signal-item h4 { font: 17px/1.25 var(--serif); letter-spacing: -.015em; margin: 0; }
.signal-item a:hover { color: #eea28c; }
.signal-arrow { color: #d9ddda; font-size: 19px; }
.industry-monitor > .editorial-link { color: #e38a6d; margin-top: 13px; font-size: 13px; }
.monitor-empty { font: 17px/1.5 var(--serif); padding: 25px 0; }
.front-section { margin-top: 20px; }
.section-rule { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line); padding: 13px 0; margin-bottom: 15px; }
.section-rule > div { display: flex; gap: 12px; align-items: center; min-width: 0; }
.section-rule h2 { border-left: 6px solid var(--red); padding-left: 12px; margin: 0; font: 600 15px var(--sans); letter-spacing: .065em; text-transform: uppercase; }
.section-rule > div > span { text-transform: uppercase; color: var(--muted); font: 11px var(--sans); letter-spacing: .08em; }
.section-rule > a { white-space: nowrap; font: 10px var(--sans); text-transform: uppercase; letter-spacing: .04em; }
.section-rule > a span { color: var(--accent); font-size: 20px; margin-left: 10px; line-height: 0; }
.industry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.industry-story { display: grid; grid-template-columns: 36% minmax(0, 1fr); gap: 18px; padding-right: 20px; border-right: 1px solid var(--line); min-width: 0; }
.industry-story:last-child { padding-right: 0; border: 0; }
.industry-story-image { height: 156px; overflow: hidden; background: var(--paper-soft); }
.industry-story-image img { height: 100%; width: 100%; object-fit: cover; }
.contain-image { object-fit: contain !important; }
.industry-story h3 { font: 600 19px/1.15 var(--serif); letter-spacing: -.025em; margin-bottom: 7px; }
.industry-story p:not(.story-meta) { font: 14px/1.4 var(--serif); color: var(--muted); margin: 0; }
.article-monogram { display: flex; position: relative; height: 100%; padding: 16px 13px; font: 11px/1.5 var(--mono); letter-spacing: .08em; border-top: 3px solid var(--red); }
.article-monogram > span { position: absolute; bottom: 8px; right: 12px; color: #b4b8b2; font: 52px/1 var(--serif); letter-spacing: -.05em; }
.industry-story-text { display: block; }
.index-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.index-card { display: grid; grid-template-columns: 48% minmax(0, 1fr); min-height: 270px; border: 1px solid var(--line); }
.index-card-image { background: var(--paper-soft); display: grid; place-items: center; overflow: hidden; }
.index-card-image img { width: 100%; height: 270px; object-fit: contain; padding: 8px 4px 0; transition: transform .25s; }
.index-card:hover .index-card-image img { transform: scale(1.035); }
.index-card-copy { padding: 20px 16px; min-width: 0; }
.index-card-copy > p { font-size: 14px; margin-bottom: 3px; line-height: 1.2; }
.index-card h3 { font: 600 30px/1.05 var(--serif); margin: 0 0 10px; }
.index-category { display: block; min-height: 30px; color: var(--muted); font: 9px/1.5 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.index-card dl { display: flex; gap: 20px; border-top: 1px solid var(--line); padding-top: 12px; margin: 10px 0 16px; }
.index-card dt { font-size: 8px; }
.index-card dd { font: 18px var(--serif); }
.index-card dd small { font-size: 12px; }
.index-card .editorial-link { font-size: 12px; }
.index-footnote { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; font: 11px/1.5 var(--sans); color: var(--muted); }
.index-footnote a { color: var(--accent); white-space: nowrap; }
.reality-check { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; background: var(--ink); color: var(--bg); margin: 35px 0 32px; padding: 38px 40px; }
.reality-intro h2 { max-width: 500px; font: 500 40px/1.05 var(--serif); letter-spacing: -.04em; }
.reality-intro > p:not(.eyebrow) { color: #c1c5c1; max-width: 510px; font: 16px/1.5 var(--serif); }
.reality-check .eyebrow, .reality-check .editorial-link { color: #e38a6d; }
.evidence-steps { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; justify-content: center; }
.evidence-steps li { display: flex; gap: 20px; padding: 15px 0; border-bottom: 1px solid #464f51; }
.evidence-steps li:first-child { padding-top: 0; }
.evidence-steps li:last-child { border-bottom: 0; }
.evidence-steps li > span { font: 11px var(--mono); color: #e38a6d; padding-top: 5px; }
.evidence-steps h3 { font: 21px var(--serif); margin-bottom: 5px; }
.evidence-steps p { margin: 0; color: #c1c5c1; font-size: 13px; }
.company-preview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.company-preview article { border-right: 1px solid var(--line); padding-right: 24px; display: flex; flex-direction: column; }
.company-preview article:last-child { border: 0; padding-right: 0; }
.company-preview h3 { font: 600 25px var(--serif); }
.company-preview article > p:not(.eyebrow) { font: 15px/1.5 var(--serif); color: var(--muted); }
.company-preview article > a { margin-top: auto; font: 10px var(--mono); color: var(--accent); }
.contribute-strip { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 40px; padding: 30px 0; border-top: 1px solid var(--line-strong); }
.contribute-strip h2 { font: 500 30px var(--serif); margin-bottom: 8px; }
.contribute-strip p:last-child { margin: 0; color: var(--muted); font-size: 13px; }
/* Shared pages and research dossiers */
.page-header, .detail-hero { padding: 46px 0 30px; }
.page-header { border-bottom: 1px solid var(--line); margin-bottom: 24px; }
.eyebrow { color: var(--accent); font: 10px/1.5 var(--mono); letter-spacing: .1em; text-transform: uppercase; margin: 0 0 12px; }
.lede { max-width: 850px; color: var(--muted); font: 21px/1.45 var(--serif); }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.button, button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; border: 1px solid var(--accent); background: var(--accent); color: #fff; min-height: 42px; padding: 10px 18px; cursor: pointer; font-size: 12px; font-weight: 500; }
.button:hover, button:hover { color: #fff; background: var(--accent-dark); border-color: var(--accent-dark); }
.button.secondary, .button.ghost { background: transparent; border-color: var(--line-strong); color: var(--ink); }
.button.secondary:hover, .button.ghost:hover { background: var(--ink); border-color: var(--ink); color: var(--bg); }
button.privacy-settings { min-height: 0; padding: 0; background: none; border: 0; color: inherit; }
.badge-row, .card-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.badge { display: inline-block; font: 9px/1.4 var(--mono); letter-spacing: .02em; background: var(--paper-soft); border: 1px solid var(--line); color: var(--muted); padding: 4px 7px; }
.badge.green { color: #315844; border-color: #b1c5b7; background: #eaf0e8; }
.badge.amber { color: #855523; background: #f2ece0; border-color: #d6c5a6; }
.badge.blue, .badge.navy { color: #3e5157; background: #e9edeb; border-color: #c5ceca; }
.badge.red { color: var(--risk); background: #f4e7e2; border-color: #ddbeb3; }
.metric-panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line); padding: 22px 0; margin: 24px 0; }
.metric { border-left: 2px solid var(--red); padding-left: 15px; }
.metric strong { display: block; font: 34px/1 var(--serif); margin-bottom: 7px; }
.metric span { font: 10px var(--mono); color: var(--muted); }
.grid-section { margin-top: 36px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); padding-bottom: 14px; margin-bottom: 18px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > a { font-size: 12px; color: var(--accent); white-space: nowrap; }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.card { min-width: 0; background: transparent; border: 1px solid var(--line); overflow: hidden; }
.card:hover { border-color: var(--line-strong); }
.card-body { padding: 20px; }
.card h3 { font: 600 27px/1.12 var(--serif); }
.card p { color: var(--muted); font-size: 14px; }
.card-kicker { justify-content: space-between; margin-bottom: 10px; color: var(--muted); font: 10px var(--mono); }
.media-tile { display: grid; place-items: center; height: 275px; background: var(--paper-soft); border-bottom: 1px solid var(--line); overflow: hidden; }
.media-tile img { width: 100%; height: 100%; object-fit: contain; padding: 14px; transition: transform .25s; }
.robot-card:hover .media-tile img { transform: scale(1.03); }
.placeholder-robot { display: grid; place-items: center; padding: 18px; font: 500 40px var(--serif); color: #7d8581; }
.placeholder-robot.large { font-size: 70px; }
.meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 18px 0 0; }
.meta-grid.compact { border-top: 1px solid var(--line); padding-top: 14px; }
dt { color: var(--muted); font: 9px/1.5 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
dd { margin: 3px 0 0; min-width: 0; overflow-wrap: anywhere; }
.meta-grid dd { font-size: 13px; }
.text-link { display: inline-flex; color: var(--accent); font: 14px var(--serif); margin-top: 18px; }
.supplier-card { padding: 24px; }
.supplier-topline { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.supplier-topline .eyebrow { font-size: 8px; margin-bottom: 5px; }
.supplier-topline h3 { margin: 0; }
.logo-tile { flex: 0 0 60px; height: 60px; display: grid; place-items: center; border: 1px solid var(--line); background: #fff; }
.logo-tile img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.logo-tile-dark { background: var(--ink); }
.logo-tile span { font: 22px var(--serif); color: var(--muted); }
.filters, .filter-panel { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.filter-panel { background: var(--paper-soft); padding: 18px; align-items: end; }
input, select, textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line-strong); background: var(--paper); border-radius: 0; color: var(--ink); font-size: 14px; }
textarea { min-height: 130px; }
input:focus, select:focus, textarea:focus { border-color: var(--accent); outline: 1px solid var(--accent); outline-offset: 0; }
.filter-panel input, .filters input { flex: 1 1 280px; }
.filter-panel select, .filters select { flex: 1 1 190px; width: auto; }
.filter-panel button { min-height: 44px; }
.filter-label { flex: 1 1 190px; display: grid; gap: 6px; font: 10px var(--mono); color: var(--muted); }
.filter-label:first-child { flex-grow: 2; }
.filter-label input, .filter-label select { width: 100%; }
.filter-panel > .filter-label input, .filter-panel > .filter-label select { flex: auto; }
.results-heading { display: flex; justify-content: space-between; margin-bottom: 20px; font: 10px var(--mono); color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.results-heading a { color: var(--accent); }
.detail-hero { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); align-items: center; gap: 70px; border-bottom: 1px solid var(--line-strong); margin-bottom: 28px; }
.detail-copy { min-width: 0; }
.detail-copy h1 { font-size: clamp(44px, 5vw, 76px); }
.detail-media { display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); place-items: center; background: var(--paper-soft); overflow: hidden; min-width: 0; height: 400px; position: relative; }
.detail-media img { height: 100%; width: 100%; min-height: 0; min-width: 0; object-fit: contain; padding: 24px; }
.robot-detail-media { height: 500px; }
.logo-media { height: 280px; background: var(--paper); border: 1px solid var(--line); }
.logo-media-dark { background: var(--ink); }
.logo-media img { padding: 55px; }
.logo-media > span { font: 80px var(--serif); color: var(--muted); }
.two-column { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 60px; }
.two-column > article { min-width: 0; }
.two-column > article > h2 { border-top: 1px solid var(--line); padding-top: 22px; margin: 32px 0 16px; font: 500 29px var(--serif); }
.two-column > article > h2:first-child { margin-top: 0; border-top: 0; }
.two-column > article > p { max-width: 800px; font: 17px/1.65 var(--serif); color: #4b5150; }
.facts { position: sticky; top: 24px; padding: 26px; background: var(--ink); color: var(--bg); }
.facts h2 { font: 13px var(--sans); letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid #59615f; padding-bottom: 18px; }
.facts dl { margin: 0; }
.facts dt { color: #a9b2ac; margin-top: 16px; }
.facts dd { font-size: 13px; }
.facts a { color: #edab97; }
.facts p { color: #bdc5c0; font-size: 12px; margin-top: 24px; }
.table-wrap { max-width: 100%; overflow-x: auto; }
table { border-collapse: collapse; width: 100%; text-align: left; font-size: 13px; }
th, td { padding: 14px 16px; border: 1px solid var(--line); vertical-align: top; }
th { background: var(--paper-soft); font-size: 12px; font-weight: 500; }
td { background: var(--paper); }
td a { color: var(--accent); }
.compare-table { min-width: 720px; }
.compare-table th:first-child { position: sticky; left: 0; z-index: 2; width: 170px; }
.compare-table td, .compare-table th:not(:first-child) { min-width: 230px; }
.compare-table .compare-image { height: 220px; width: 100%; object-fit: contain; }
.compare-picker select { flex: 1 1 360px; }
.selected-robots { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.selected-robot { display: flex; gap: 10px; align-items: center; border: 1px solid var(--line); padding: 6px 6px 6px 12px; font-size: 12px; }
.selected-robot button { background: transparent; color: var(--accent); border: 0; min-height: 28px; padding: 4px 8px; }
.list-stack { display: grid; }
.row-card { display: flex; justify-content: space-between; align-items: start; gap: 30px; border-bottom: 1px solid var(--line); padding: 26px 0; }
.row-card h3 { font: 500 30px/1.15 var(--serif); max-width: 900px; }
.row-card p:not(.eyebrow) { color: var(--muted); max-width: 900px; margin-bottom: 0; font: 17px/1.5 var(--serif); }
.row-card time { flex-shrink: 0; color: var(--muted); font: 10px var(--mono); padding-top: 4px; }
.article-detail { max-width: 1000px; margin: auto; }
.article-detail h1 { font-size: clamp(40px, 4.6vw, 68px); }
.byline { font: 10px/1.6 var(--mono); color: var(--muted); text-transform: uppercase; letter-spacing: .04em; margin: 24px 0 0; }
.article-hero-image { width: 100%; max-height: 550px; object-fit: cover; margin-bottom: 24px; }
.prose { max-width: 740px; margin: 28px auto; font: 20px/1.75 var(--serif); color: #303a37; }
.prose p { margin-bottom: 24px; }
.source-note { padding: 20px 24px; background: var(--paper-soft); font-size: 13px; margin: 20px 0; border-left: 2px solid var(--red); }
.source-note a { color: var(--accent); overflow-wrap: anywhere; }
.video-frame { position: relative; aspect-ratio: 16/9; background: var(--ink); margin-bottom: 26px; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.legal-page, .legal-content { max-width: 860px; margin-right: auto; margin-left: auto; }
.legal-content { border-top: 1px solid var(--line); padding: 26px 0; }
.legal-content h2 { font: 500 26px var(--serif); margin: 30px 0 14px; }
.legal-content h2:first-child { margin-top: 0; }
.form-panel { max-width: 800px; margin: 24px auto; background: var(--paper); border: 1px solid var(--line); padding: 32px; }
.form-panel p { display: grid; gap: 8px; }
.form-panel label { font-size: 12px; }
.form-panel input[type=checkbox] { min-height: 0; width: auto; justify-self: start; accent-color: var(--accent); }
.helptext { font-size: 12px; color: var(--muted); }
.errorlist { color: var(--risk); font-size: 13px; }
.empty { padding: 28px; background: var(--paper-soft); border-top: 1px solid var(--line-strong); color: var(--muted); grid-column: 1 / -1; }
.messages { max-width: var(--page-width); width: calc(100% - var(--gutter) * 2); margin: 16px auto 0; }
.messages p { padding: 15px; background: #eaf0e8; color: #315844; border: 1px solid #b1c5b7; }
/* Deployment intelligence */
.deployment-metrics { max-width: 720px; }
.deployment-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto auto; margin-top: 0; }
.deployment-filters label { display: grid; gap: 6px; font: 10px var(--mono); color: var(--muted); }
.deployment-filters select { width: 100%; }
.deployment-map-shell { margin-top: 24px; border: 1px solid var(--line-strong); }
.deployment-map-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 24px; background: var(--ink); color: var(--bg); }
.deployment-map-heading h2 { margin: 0; font: 22px var(--serif); }
.deployment-map-heading .eyebrow { color: #edab97; }
.map-legend { display: flex; align-items: center; gap: 10px; font: 10px var(--mono); }
.map-legend span { width: 10px; height: 10px; border-radius: 50%; background: #dd735d; }
.deployment-map { position: relative; z-index: 1; height: clamp(400px, 44vw, 600px); background: #e0e3dd; }
.map-loading, .map-empty { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 500; margin: 0; padding: 12px; background: var(--paper); color: var(--muted); }
.leaflet-container .map-loading { display: none; }
.map-fallback { padding: 20px; margin: 0; }
.deployment-marker-wrap { background: transparent; border: 0; }
.deployment-marker { display: block; height: 18px; width: 18px; margin: 3px; border: 3px solid #fff; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 1px var(--ink); }
.deployment-popup { display: grid; gap: 5px; min-width: 190px; }
.deployment-popup strong { color: var(--accent); font-size: 10px; text-transform: uppercase; }
.deployment-popup span { font-size: 16px; font-weight: 600; }
.deployment-popup small { color: var(--muted); }
.deployment-popup a { color: var(--accent); margin-top: 6px; }
.deployment-site { color: var(--ink) !important; }
.deployment-factbar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--ink); color: var(--bg); }
.deployment-factbar > div { padding: 20px; border-right: 1px solid #46504b; }
.deployment-factbar span { display: block; color: #b4bdb5; font: 9px var(--mono); text-transform: uppercase; margin-bottom: 8px; }
.deployment-factbar strong, .deployment-factbar a { font-size: 12px; font-weight: 400; }
.deployment-factbar a { color: #edab97; }
/* Footer, consent, and narrow screens */
.site-footer { background: var(--ink); color: #d4d9d3; padding: 40px max(var(--gutter), calc((100% - var(--page-width)) / 2)) 24px; margin-top: 52px; border-top: 3px solid var(--red); }
.footer-main { display: flex; justify-content: space-between; gap: 70px; }
.footer-copy { max-width: 470px; }
.footer-wordmark { display: inline-block; font-size: 26px; font-weight: 700; letter-spacing: -.05em; margin-bottom: 14px; color: var(--bg); }
.footer-wordmark span { color: #e38a6d; }
.footer-copy > p { font: 19px var(--serif); margin-bottom: 8px; }
.footer-copy .footer-description { font: 13px/1.6 var(--sans); color: #a7b1a9; }
.footer-navs { display: flex; gap: 70px; }
.footer-navs nav { display: grid; gap: 9px; align-content: start; font-size: 12px; }
.footer-label { font: 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: #e38a6d; margin-bottom: 8px; }
.site-footer a:hover, .site-footer button:hover { color: #eaaa96; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid #46504b; margin-top: 34px; padding-top: 18px; font: 10px var(--mono); }
.footer-bottom p { margin: 0; }
.footer-bottom nav { display: flex; gap: 22px; flex-wrap: wrap; }
.footer-bottom button { font: inherit; }
.footer-disclaimer { max-width: 1100px; font-size: 10px; line-height: 1.6; color: #a7b1a9; margin: 16px 0 0; }
.cookie-consent { position: fixed; z-index: 60; bottom: 20px; right: 20px; width: min(450px, calc(100% - 40px)); padding: 24px; background: var(--paper); border: 1px solid var(--line-strong); border-top: 3px solid var(--red); box-shadow: 0 8px 40px #151b2026; }
.cookie-consent h2 { font: 25px var(--serif); letter-spacing: -.03em; margin-bottom: 10px; }
.cookie-consent p:not(.eyebrow) { font-size: 12px; line-height: 1.65; color: var(--muted); margin-bottom: 10px; }
.cookie-consent .eyebrow { margin-bottom: 6px; }
.cookie-consent a { font-size: 11px; color: var(--accent); text-decoration: underline; }
.cookie-actions { display: flex; gap: 10px; margin-top: 18px; }
.cookie-actions button { flex: 1; padding: 10px; font-size: 11px; }
.search-form { max-width: 850px; }
.search-section { margin-top: 36px; }
.search-section > h2 { font: 12px var(--mono); letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid var(--line-strong); padding-bottom: 15px; }
.search-result { padding: 18px 0; border-bottom: 1px solid var(--line); }
.search-result h3 { font: 25px var(--serif); margin-bottom: 8px; }
.search-result p { margin: 0; color: var(--muted); max-width: 800px; }
.methodology-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.methodology-grid article { border-top: 2px solid var(--red); padding: 20px 0; }
.methodology-grid h2 { font: 28px var(--serif); }
.methodology-grid p { font: 17px/1.6 var(--serif); color: var(--muted); }
@media (min-width: 1700px) { .lead-image img { height: 380px; } }
@media (max-width: 1200px) {
  .site-header { gap: 20px; flex-wrap: wrap; padding: 20px 0 10px; }
  .brand > span { font-size: 30px; }
  .site-nav { order: 3; width: 100%; justify-content: flex-start; gap: 30px; }
  .front-page { grid-template-columns: minmax(0, 1.65fr) minmax(320px, 1fr); }
  .lead-story h2 { font-size: 45px; }
  .lead-image img { height: 310px; }
  .industry-monitor { padding: 18px; }
  .signal-item { grid-template-columns: 55px minmax(0, 1fr) 10px; gap: 10px; }
  .signal-thumbnail { height: 60px; }
  .signal-item h4 { font-size: 16px; }
  .industry-story { grid-template-columns: 1fr; gap: 10px; }
  .industry-story-image { height: 140px; }
  .industry-story h3 { font-size: 21px; }
  .index-card { grid-template-columns: 42% minmax(0, 1fr); }
  .index-card-copy { padding: 16px 12px; }
  .index-card h3 { font-size: 28px; }
  .index-card dl { flex-direction: column; gap: 8px; }
  .index-card-image img { height: 300px; }
  .detail-hero { gap: 35px; }
  .two-column { gap: 30px; grid-template-columns: minmax(0, 1fr) 280px; }
}
@media (max-width: 900px) {
  .site-header { gap: 15px; padding: 24px 0; min-height: 100px; }
  .brand > span { font-size: 28px; }
  .brand small { font-size: 8px; }
  .header-actions { margin-left: auto; gap: 12px; }
  .nav-cta { padding: 9px 12px; font-size: 13px; }
  .menu-toggle { display: flex; order: 2; background: transparent; color: var(--ink); border-color: var(--line-strong); gap: 12px; font-size: 11px; padding: 7px 10px; min-height: 36px; }
  .js .site-nav { display: none; }
  .site-nav, .js .site-nav.is-open { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px 24px; padding-top: 12px; border-top: 1px solid var(--line); }
  .front-page { grid-template-columns: 1fr; gap: 24px; }
  .lead-image img { height: auto; aspect-ratio: 1.95; }
  .lead-story h2 { font-size: clamp(42px, 6.5vw, 62px); max-width: 750px; }
  .industry-monitor { padding: 24px; }
  .monitor-metrics { max-width: 560px; }
  .signal-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .signal-item { display: flex; flex-direction: column; align-items: stretch; border: 0; }
  .signal-thumbnail { height: 90px; }
  .signal-arrow { display: none; }
  .signal-item .story-meta { margin-top: 4px; }
  .industry-grid { gap: 18px; }
  .index-preview { grid-template-columns: 1fr; }
  .index-card { grid-template-columns: 38% 1fr; min-height: 230px; }
  .index-card-image img { height: 245px; padding: 12px; }
  .index-card-copy { padding: 22px 26px; }
  .index-card dl { flex-direction: row; gap: 40px; }
  .index-card h3 { font-size: 36px; }
  .company-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .company-preview article:nth-child(2) { border: 0; padding: 0; }
  .reality-check { gap: 30px; padding: 30px; }
  .reality-intro h2 { font-size: 34px; }
  .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-hero { grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr); gap: 24px; }
  .robot-detail-media { height: 400px; }
  .detail-copy .lede { font-size: 18px; }
  .detail-copy .metric-panel { gap: 12px; }
  .metric strong { font-size: 25px; }
  .two-column { grid-template-columns: 1fr; }
  .facts { position: static; }
  .deployment-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .deployment-factbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-main { gap: 30px; }
  .footer-navs { gap: 35px; }
  .footer-wordmark { font-size: 22px; }
  .methodology-grid { grid-template-columns: 1fr; gap: 10px; }
}
@media (max-width: 600px) {
  :root { --gutter: 20px; }
  body { font-size: 14px; }
  .utility-bar > div { font-size: 8px; padding-top: 7px; padding-bottom: 7px; letter-spacing: .04em; }
  .utility-bar > div > span:last-child { gap: 8px; }
  .utility-bar time, .utility-bar b { display: none; }
  .site-header { min-height: 95px; gap: 12px; padding: 22px 0; }
  .brand > span { font-size: clamp(20px, 5.4vw, 29px); }
  .brand small { font-size: 7px; letter-spacing: .8em; }
  .header-actions { gap: 0; }
  .header-actions .nav-cta { display: none; }
  .global-search summary { padding: 5px; }
  .global-search summary svg { width: 21px; }
  .menu-toggle { font-size: 0; border: 0; padding: 5px 0 5px 5px; min-height: 30px; }
  .menu-toggle > span { font-size: 19px; }
  .site-nav a { font-size: 18px; }
  .edition-heading { padding: 12px 0; }
  .edition-heading h1 { font-size: 11px; letter-spacing: .06em; padding-left: 10px; border-left-width: 4px; }
  .edition-heading > span { display: none; }
  .front-page { gap: 18px; }
  .lead-image img { aspect-ratio: 1.5; }
  .lead-image figcaption { font-size: 7px; }
  .lead-story h2 { font-size: 43px; letter-spacing: -.05em; }
  .lead-dek { font-size: 21px; line-height: 1.3; }
  .lead-description { font-size: 17px; margin-top: 10px; }
  .lead-story > .story-meta { font-size: 8px; }
  .editorial-link { font-size: 15px; }
  .industry-monitor { padding: 22px 20px; }
  .monitor-heading h2 { font-size: 17px; }
  .monitor-metrics dt { font-size: 9px; }
  .monitor-metrics dd { font-size: 46px; }
  .monitor-metrics > div + div { padding-left: 16px; }
  .monitor-note { font-size: 12px; }
  .signal-list { display: block; }
  .signal-item { display: grid; grid-template-columns: 65px minmax(0, 1fr) 10px; gap: 12px; border-bottom: 1px solid #3b4546; }
  .signal-thumbnail { height: 68px; }
  .signal-item h4 { font-size: 17px; }
  .signal-arrow { display: block; }
  .front-section { margin-top: 26px; }
  .section-rule { padding: 12px 0; }
  .section-rule h2 { font-size: 12px; letter-spacing: .04em; padding-left: 10px; border-left-width: 4px; }
  .section-rule > div > span { display: none; }
  .section-rule > a { font-size: 8px; }
  .section-rule > a span { font-size: 17px; margin-left: 4px; }
  .industry-grid { grid-template-columns: 1fr; gap: 16px; }
  .industry-story { grid-template-columns: 30% minmax(0, 1fr); gap: 16px; border-right: 0; border-bottom: 1px solid var(--line); padding: 0 0 18px; }
  .industry-story-image { height: 142px; }
  .industry-story h3 { font-size: 21px; }
  .industry-story .story-meta { font-size: 8px; gap: 6px; }
  .industry-story p:not(.story-meta) { font-size: 14px; }
  .index-card { grid-template-columns: 44% minmax(0, 1fr); }
  .index-card-copy { padding: 20px 16px; }
  .index-card h3 { font-size: 32px; }
  .index-card-copy > p { font-size: 12px; }
  .index-category { font-size: 8px; }
  .index-card dl { gap: 16px; }
  .index-card-image img { height: 250px; padding: 4px; }
  .index-footnote { flex-direction: column; gap: 7px; font-size: 10px; }
  .reality-check { grid-template-columns: 1fr; gap: 24px; margin: 26px 0; padding: 28px 24px; }
  .reality-intro h2 { font-size: 36px; }
  .evidence-steps li { padding: 18px 0; }
  .company-preview { grid-template-columns: 1fr; gap: 22px; }
  .company-preview article, .company-preview article:nth-child(2) { padding: 0 0 22px; border: 0; border-bottom: 1px solid var(--line); }
  .company-preview h3 { font-size: 27px; margin-bottom: 10px; }
  .contribute-strip { flex-direction: column; align-items: start; margin-top: 12px; }
  .contribute-strip h2 { font-size: 29px; }
  .page-header, .detail-hero { padding: 32px 0 24px; }
  h1 { font-size: 42px; }
  .lede { font-size: 19px; }
  .filter-panel { padding: 14px; gap: 10px; }
  .filter-panel > input, .filter-panel > select, .filter-panel > button, .filter-label { flex-basis: 100%; width: 100%; }
  .results-heading { font-size: 9px; }
  .card-grid { grid-template-columns: 1fr; gap: 20px; }
  .media-tile { height: 300px; }
  .detail-hero { grid-template-columns: 1fr; }
  .detail-copy h1 { font-size: 46px; }
  .detail-media { order: -1; height: 320px; }
  .robot-detail-media img { padding: 10px; }
  .logo-media { height: 170px; }
  .logo-media img { padding: 35px; }
  .detail-hero .actions .button { flex-grow: 1; }
  .two-column > article > h2 { font-size: 27px; }
  .metric-panel { gap: 10px; }
  .metric { padding-left: 10px; }
  .metric strong { font-size: 25px; }
  .metric span { font-size: 8px; }
  .row-card { flex-direction: column; gap: 14px; }
  .row-card h3 { font-size: 27px; }
  .row-card time { order: -1; }
  .prose { font-size: 18px; line-height: 1.75; }
  .form-panel { padding: 22px; }
  .deployment-filters { grid-template-columns: 1fr; }
  .deployment-factbar > div { padding: 14px; }
  .deployment-map-heading { align-items: start; flex-direction: column; padding: 18px; }
  .deployment-map { height: 400px; }
  .footer-main { flex-direction: column; }
  .footer-navs { gap: 32px; justify-content: space-between; }
  .footer-wordmark { font-size: 26px; }
  .footer-bottom { flex-direction: column; align-items: start; }
  .footer-bottom nav { gap: 18px; }
  .site-footer { margin-top: 35px; padding-top: 30px; }
  .cookie-consent { bottom: 12px; right: 12px; width: calc(100% - 24px); padding: 20px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }
.specification-note { margin: 16px 0 0; color: var(--muted); font: 11px/1.6 var(--sans); }
.specification-note a { color: var(--accent); }
.assessment-note { padding: 15px 18px; border-left: 2px solid var(--red); background: var(--paper-soft); font: 13px/1.6 var(--sans) !important; }
.source-list { list-style: none; padding: 0; }
.source-list li { padding: 13px 0; border-bottom: 1px solid var(--line); }
.source-list a { display: block; color: var(--accent); font: 17px/1.4 var(--serif); }
.source-list span { display: block; margin-top: 5px; color: var(--muted); font: 10px/1.5 var(--mono); }
.source-list p { margin: 8px 0 0; font-size: 14px; overflow-wrap: anywhere; }
.image-credit { color: var(--muted); font-size: 12px; margin: -12px 0 32px; }
@media (min-width: 1201px) { .site-header { min-height: 86px; } .lead-image img { height: clamp(260px, 20vw, 320px); } }
.industry-story-image, .signal-thumbnail { position: relative; }
.thumbnail-credit { position: absolute; bottom: 0; left: 0; padding: 3px 5px; color: #fff; background: #151b20bb; font: 7px var(--mono); }
.index-card-image.image-padded-original img { transform: scale(1.55); }
.index-card:hover .image-padded-original img { transform: scale(1.59); }

/* Deployment evidence and location precision. */
.deployment-card-image { width: 100%; height: 180px; object-fit: cover; }
.deployment-location-note { font-size: .8rem; color: var(--muted, #52606d); }
.deployment-marker.announced { background: white; border: 3px solid #53667d; }
.deployment-factbar { flex-wrap: wrap; }
.deployment-factbar > div { min-width: 0; overflow-wrap: anywhere; }
.article-detail figcaption { font-size: .85rem; color: var(--muted, #52606d); margin-top: .6rem; }
.source-list li { margin-bottom: .85rem; overflow-wrap: anywhere; }
.deployment-metrics { flex-wrap: wrap; }
.deployment-marker { display: grid; place-items: center; color: white; font: 11px var(--mono); }
.deployment-marker.announced { color: #53667d; }
.deployment-popup section + section { border-top: 1px solid #ddd; padding-top: 12px; margin-top: 12px; }
.deployment-card-figure { margin: 0; }
.deployment-card-figure figcaption { padding: 6px 16px; color: var(--muted); font: 10px var(--mono); }
.deployment-popup section > strong,
.deployment-popup section > span,
.deployment-popup section > small,
.deployment-popup section > a { display: block; margin: 5px 0; }
.deployment-popup section > strong { color: var(--accent); font-size: 10px; }
.deployment-popup section > small { line-height: 1.5; }
