/* Navy edition (19 Oct 2026). Loaded last on every page by scripts/build_redesign.py, so it
   overrides shell, theme, corporate and publication CSS and each page's own <style>.
   Serif for headlines, wordmark and large figures; sans for reading text and tables;
   tabular figures throughout. White paper, navy for structure, no gold. */

:root {
  --bg: #ffffff;
  --bg-alt: #f7f8fa;
  --ink: #1a1f2b;
  --ink-2: #3a414c;
  --muted: #5b6472;
  --rule: rgba(26, 31, 43, .14);
  --rule-strong: #1a1f2b;
  --navy: #0b2545;
  --navy-2: #1f4e8c;
  --navy-pale: #c9d6e8;
  --navy-tint: #eef2f8;
  --focus: #1f4e8c;
  --rd-max: 1120px;

  --font-serif: "Source Serif 4", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif;
  --font-serif-jp: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --font-sans: "IBM Plex Sans", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* the older layers' tokens, mapped onto this palette */
  --paper: var(--bg); --panel: var(--bg); --wash: var(--bg-alt);
  --ink-soft: var(--muted); --rule-hair: rgba(26, 31, 43, .09);
  --read: var(--navy); --jx-brass: var(--navy-2); --jx-deep: var(--navy); --jx-band: var(--navy);
  --jx-serif: var(--font-serif); --jx-sans: var(--font-sans); --jx-mono: var(--font-mono);
  --jx-measure: var(--rd-max);
}

html { background: var(--bg); color: var(--ink); -webkit-text-size-adjust: 100%; }
body, body.corporate { background: var(--bg) !important; color: var(--ink); font-family: var(--font-sans); font-size: 16px; line-height: 1.75; margin: 0; }
html[lang=ja] body { line-height: 1.85; font-feature-settings: "palt" 0; }
* { min-width: 0; }
img, pre { max-width: 100%; }
p { color: var(--ink-2); }

a { color: var(--navy); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--navy-2); }
:focus-visible { outline: 2px solid var(--focus) !important; outline-offset: 2px; }

h1, h2, h3, .cx h1, .cx h2, .cx h3 { font-family: var(--font-serif); font-weight: 500; color: var(--ink); }
html[lang=ja] h1, html[lang=ja] h2, html[lang=ja] h3,
html[lang=ja] .cx h1, html[lang=ja] .cx h2, html[lang=ja] .cx h3 { font-family: var(--font-serif-jp); }
html[lang=ja] .wordmark, html[lang=ja] .score-xl { font-family: var(--font-serif); }

.num, td.num, th.num, .score, .date, .code, .cx .score { font-variant-numeric: tabular-nums lining-nums; }
td.num, th.num { text-align: right; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.muted, .cx .muted { color: var(--muted); font-size: .85rem; }

/* ------------------------------------------------------------ edition bar + masthead */

.rd-inner { max-width: var(--rd-max); margin: 0 auto; padding: 0 32px; }
.rd-skip { position: absolute; left: -999px; top: 0; background: #fff; padding: 8px 12px; z-index: 10; }
.rd-skip:focus { left: 8px; }
.edition-bar { background: var(--navy); color: #fff; font-size: 12.5px; letter-spacing: .08em; line-height: 1.5; }
html[lang=ja] .edition-bar { letter-spacing: .03em; }
.edition-bar .rd-inner { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 80px; }
.edition-bar span { color: #fff; }
.edition-bar a { color: #fff; text-decoration: none; padding: 6px 2px; }
.edition-bar a[aria-current] { text-decoration: underline; text-underline-offset: 4px; }
.rd-lang { white-space: nowrap; color: rgba(255, 255, 255, .6) !important; }

.masthead { background: var(--bg); border-bottom: 2px solid var(--rule-strong); }
.rd-mast-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 52px; padding-bottom: 24px; }
.wordmark { display: inline-flex; flex-direction: column; gap: 4px; text-decoration: none; color: var(--ink); }
.wordmark span { font-family: var(--font-serif); font-size: 32px; font-weight: 500; letter-spacing: .005em; line-height: 1.1; }
.wordmark small { font-size: 12.5px; color: var(--muted); letter-spacing: .04em; line-height: 1.4; }
.wordmark:hover { color: var(--ink); }
.wordmark:hover span { color: var(--navy); }

.nav-toggle { display: none; min-height: 44px; padding: 0 16px; border: 1px solid var(--navy); background: transparent; color: var(--navy); font: inherit; font-size: 14px; border-radius: 2px; cursor: pointer; }
.site-nav { border-top: 1px solid var(--rule); }
.site-nav .rd-inner { display: flex; flex-wrap: wrap; gap: 0 28px; }
.site-nav a { min-height: 44px; display: inline-flex; align-items: center; font-size: 14.5px; color: var(--ink-2); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -2px; }
.site-nav a:hover { color: var(--navy); border-bottom-color: var(--navy-pale); }
.site-nav a[aria-current] { color: var(--navy); border-bottom-color: var(--navy); font-weight: 600; }

/* ------------------------------------------------------------ footer */

.rd-foot { background: var(--bg-alt); border-top: 2px solid var(--rule-strong); margin-top: 48px; font-size: 13.5px; }
.rd-foot-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 24px 56px; padding-top: 36px; padding-bottom: 40px; }
.rd-foot p { color: var(--muted); margin: 0 0 8px; }
.rd-foot-brand { font-family: var(--font-serif); font-size: 22px; color: var(--ink); text-decoration: none; display: inline-block; margin-bottom: 8px; }
.rd-foot-by { color: var(--ink-2) !important; }
.rd-foot-free { color: var(--ink-2) !important; font-size: 13px; }
.rd-foot-links { display: flex; flex-wrap: wrap; gap: 0 20px; margin-top: 12px !important; }
.rd-foot-links a { min-height: 44px; display: inline-flex; align-items: center; color: var(--navy); }
.rd-disc-h { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink) !important; font-weight: 600; }
.rd-disc p { font-size: 12.5px; line-height: 1.7; }

/* ------------------------------------------------------------ page frame */

.cx, .rd-main { max-width: var(--rd-max) !important; margin: 0 auto; padding: 0 32px 56px !important; line-height: inherit; }
.wrap { max-width: var(--rd-max) !important; padding-left: 32px !important; padding-right: 32px !important; box-sizing: content-box !important; } /* same width as .cx: the old method page sets border-box on everything */
.cx p { max-width: 70ch; }
.cx h1 { font-size: clamp(30px, 4vw, 44px); line-height: 1.3; letter-spacing: -.01em; max-width: 24ch; }
html[lang=ja] .cx h1 { line-height: 1.5; letter-spacing: .01em; }
.cx h2 { font-size: clamp(21px, 2.2vw, 26px); line-height: 1.45; }
.cx h3 { font-size: 18px; line-height: 1.55; }
.cx-head { padding: 40px 0 24px !important; }
.cx .overline, .eyebrow, .kicker, .pub-kicker { font-family: var(--font-sans) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .1em !important; text-transform: uppercase; color: var(--muted) !important; margin: 0 0 12px; }
html[lang=ja] .cx .overline, html[lang=ja] .kicker, html[lang=ja] .pub-kicker { letter-spacing: .06em !important; }
.cx .intro, .standfirst { color: var(--ink-2); font-size: 17px; }

section + section, .cx-section, .rd-section { border-top: 1px solid var(--rule); }
.cx-section, .rd-section { padding: 36px 0 !important; }
.cx-section-title, .rd-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 20px !important; flex-wrap: wrap; }
.rd-section-head h2 { margin: 0; }
.rd-section-head a { font-size: 14px; white-space: nowrap; }

/* buttons: outlined only */
.btn, .cx .button, .cx .button.secondary, .pub-hero .button, .pub-hero .button.secondary, .cx-band .button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px;
  border: 1px solid var(--navy) !important; color: var(--navy) !important; background: transparent !important;
  border-radius: 2px; text-decoration: none; font: 500 15px/1.4 var(--font-sans); cursor: pointer; box-shadow: none;
}
.btn:hover, .cx .button:hover, .cx .button.secondary:hover { background: var(--navy-tint) !important; color: var(--navy) !important; }
.btn:active, .cx .button:active { background: var(--navy-pale) !important; }
.rd-actions, .cx-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 24px 0 0; }

/* tags: outlined, small */
.tag, .cx .tag, .cx .tag.gold, .cx .tag.gray {
  display: inline-block; font: 500 11px/1.5 var(--font-sans); letter-spacing: .06em; padding: 1px 6px; margin-left: 6px;
  border: 1px solid var(--navy-2); color: var(--navy); background: transparent !important; border-radius: 2px; vertical-align: 2px; white-space: nowrap;
}
.tag-muted, .cx .tag-muted { border-color: var(--rule); color: var(--muted); }
.tag-beta { border-style: dashed; }

/* notes: hairline-ruled, no colour fill blocks */
.cx-note, .rd-note, .cx-summary, .pub-request, .pub-index-teaser { background: var(--bg-alt) !important; border: 0 !important; border-left: 2px solid var(--navy) !important; padding: 14px 18px !important; box-shadow: none !important; }
.rd-note p, .cx-note p { font-size: 14px; color: var(--ink-2); margin: 4px 0; }

/* ------------------------------------------------------------ tables */

.rd-table-wrap, .cx-table-wrap { overflow-x: auto; }
table { border-collapse: collapse; max-width: 100%; }
.rd-table, .cx table { width: 100%; font-size: 15px; line-height: 1.6; }
.rd-table thead th, .cx thead th {
  font: 500 12px/1.4 var(--font-sans); letter-spacing: .06em; color: var(--muted); text-align: left; background: transparent !important;
  border-top: 2px solid var(--rule-strong); border-bottom: 1px solid var(--rule); padding: 10px 8px;
}
.rd-table thead th.num { text-align: right; }
.rd-table tbody td, .rd-table tbody th, .cx td { border-bottom: 1px solid var(--rule); padding: 12px 8px; vertical-align: baseline; text-align: left; }
.rd-table tbody td.num { text-align: right; }
.rd-table tbody tr:hover, .cx tbody tr:hover { background: var(--navy-tint); }
.rd-table td small, .cx td small { display: block; color: var(--muted); font-size: 12.5px; }
.rd-table th:first-child, .rd-table td:first-child { padding-left: 0; }
.rd-table tbody th, .cx tbody th { font-weight: 500; color: var(--ink); background: transparent !important; border-top: 0; font-size: 15px; letter-spacing: 0; }
.rd-table .score, .cx .rd-table .score { white-space: nowrap; font-family: var(--font-sans); font-size: 16px; color: var(--ink); }
.rd-table .score .tag { margin-left: 8px; }
.rd-co-table td.co-name strong, .rd-table td a { font-weight: 600; color: var(--ink); }
.rd-table td a { color: var(--navy); }
.rd-co-table .co-name .tag { margin-left: 0; margin-top: 4px; }
.rd-co-table td:last-child a { white-space: nowrap; }

/* ------------------------------------------------------------ bars, strip, figures */

.bar { display: block; height: 3px; background: var(--navy-pale); margin-top: 8px; }
.bar > span { display: block; height: 100%; background: var(--navy-2); }
.score-xl { font-family: var(--font-serif); font-size: clamp(56px, 10vw, 88px); font-weight: 400; line-height: .95; color: var(--ink); letter-spacing: -.02em; }
.rd-scoreblock { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; padding: 8px 0 20px; }
.rd-score-line { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.rd-of { font-family: var(--font-serif); font-size: 22px; color: var(--muted); }
.rd-range { display: inline-flex; align-items: baseline; gap: 10px; flex-wrap: wrap; font-size: 15px; color: var(--muted); }
.rd-range .score-xl { font-size: clamp(44px, 8vw, 72px); }
.rd-tags .tag { margin: 0 6px 0 0; font-size: 12px; }
.rd-status { margin: 0 0 8px; }
.rd-status .tag { margin: 0 6px 0 0; }
.rd-en-name { color: var(--muted); font-size: 15px; margin: 6px 0 0; }
.rd-domains { margin: 8px 0 24px; }
.rd-domains th[scope=row] { min-width: 14em; }

/* Score ramp 0-5 for the per-question bars: one hue, light to dark, each step distinct
   (dataviz --ordinal check passes on #fff). */
:root { --s0: #9fb3d1; --s1: #839dc4; --s2: #6a88b7; --s3: #496ca3; --s4: #2f528a; --s5: #16294a; }
.citation { font-size: 13px; color: var(--muted); border-top: 1px solid var(--rule); padding-top: 14px; margin-top: 28px; max-width: none !important; }
.rd-byline { font-size: 14px; color: var(--ink-2); margin: 10px 0 0; }

/* ------------------------------------------------------------ homepage */

.rd-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 56px; padding: 48px 0 40px; border-top: 0 !important; }
.rd-hero h1 { font-size: clamp(32px, 4.4vw, 52px); line-height: 1.25; max-width: 18ch; margin: 0; }
html[lang=ja] .rd-hero h1 { line-height: 1.5; max-width: 20ch; }
.rd-hero .lead { font-size: 17.5px; line-height: 1.8; margin: 20px 0 0; max-width: 56ch; }
.rd-proof { font-family: var(--font-serif); font-style: italic; color: var(--ink); font-size: 17px; margin: 16px 0 0; padding-left: 14px; border-left: 2px solid var(--navy); }
html[lang=ja] .rd-proof { font-family: var(--font-serif-jp); font-style: normal; font-size: 16px; }
.rd-free { display: block; margin-top: 6px; font-family: var(--font-sans); font-style: normal; font-size: 14.5px; color: var(--ink-2); }
.rd-coverage { align-self: start; }
.rd-cov-table { width: 100%; border-collapse: collapse; }
.rd-cov-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-top: 2px solid var(--rule-strong); padding: 10px 0; }
.rd-cov-head h2, .cx .rd-cov-head h2 { font: 600 12px/1.4 var(--font-sans) !important; letter-spacing: .08em; color: var(--ink); text-transform: uppercase; margin: 0; }
html[lang=ja] .rd-cov-head h2 { letter-spacing: .04em; }
.rd-cov-head .date { color: var(--muted); font-size: 12.5px; }
.rd-cov-table th, .rd-cov-table td { border-top: 1px solid var(--rule); padding: 10px 0; text-align: left; font-weight: 400; font-size: 14.5px; color: var(--ink-2); vertical-align: baseline; }
.rd-cov-table td { text-align: right; font-family: var(--font-serif); font-size: 28px; color: var(--ink); line-height: 1.1; font-variant-numeric: tabular-nums lining-nums; }
.rd-cov-table tr:first-child td { font-size: 44px; }
.rd-cov-table tr.rd-sub th { padding-left: 16px; }
.rd-coverage .muted { margin-top: 10px; font-size: 13px; }

.rd-intro { max-width: 72ch; color: var(--ink-2); font-size: 15px; }
.rd-findings { list-style: none; margin: 20px 0 0; padding: 0; border-top: 2px solid var(--rule-strong); }
.rd-findings li { border-bottom: 1px solid var(--rule); }
.rd-findings a, .rd-findings .rd-f-row { display: grid; grid-template-columns: 3.2em minmax(0, 1fr) minmax(120px, 220px) 15em; gap: 16px; align-items: center; padding: 14px 0; color: var(--ink); text-decoration: none; }
.rd-findings a:hover { background: var(--navy-tint); }
.rd-findings .code { font: 500 13px var(--font-mono); color: var(--muted); padding-left: 2px; }
.rd-f-label { font-size: 15.5px; }
.rd-findings .bar { margin: 0; height: 6px; }
.rd-f-val { text-align: right; font-size: 14px; color: var(--ink-2); }
.rd-links { font-size: 14px; }
.rd-policy p { font-size: 15px; }

/* ------------------------------------------------------------ company list */

.rd-controls { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin: 28px 0 8px; }
.rd-controls label { display: block; font-size: 13px; font-weight: 600; color: var(--ink-2); margin-bottom: 4px; }
.rd-controls input, .rd-controls select { width: 100%; min-height: 44px; font: inherit; font-size: 15px; padding: 0 12px; border: 1px solid #9aa1ad; border-radius: 2px; background: #fff; color: var(--ink); }
.rd-hist { margin: 8px 0 12px; }
.rd-hist figcaption { font-size: 13px; color: var(--muted); margin-bottom: 8px; }
.rd-hplot { position: relative; display: grid; grid-template-columns: repeat(10, 1fr); gap: 4px; height: 100px; border-bottom: 1px solid var(--rule-strong); padding-top: 18px; }
.rd-hbin { position: relative; display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; }
.rd-hbar { display: block; background: var(--navy-pale); border-top: 2px solid var(--navy-2); min-height: 0; }
.rd-hbar[style="height:0.0%"] { border-top: 0; }
.rd-hcount { font-size: 11.5px; color: var(--muted); text-align: center; line-height: 1.4; }
.rd-hlab { position: absolute; bottom: -20px; left: -2px; font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; }
.rd-median { position: absolute; top: 0; bottom: 0; border-left: 1px dashed var(--ink); pointer-events: none; }
.rd-median span { position: absolute; top: -4px; left: 6px; font-size: 12px; color: var(--ink); white-space: nowrap; background: rgba(255,255,255,.9); padding: 0 3px; }
.rd-hist + .rd-controls { margin-top: 36px; }

/* ------------------------------------------------------------ older components, recoloured */

.pub-hero { background: var(--bg) !important; color: var(--ink) !important; border-top: 2px solid var(--rule-strong) !important; box-shadow: none !important; }
.pub-hero h1, .pub-hero p, .pub-lead { color: var(--ink) !important; }
.pub-coverage, .pub-index-stats { background: var(--bg-alt) !important; color: var(--ink) !important; border: 0 !important; }
.pub-big, .pub-index-stats b, .pub-coverage-row b, .pub-number, .pub-process b, .pub-record-code { color: var(--navy) !important; }
.pub-index-stats span, .pub-coverage-row span, .pub-coverage h2, .pub-coverage > p:first-child { color: var(--ink-2) !important; }
.pub-index-area, .pub-audience, .pub-process article { background: transparent !important; border-color: var(--navy) !important; }
.pub-index-area { border-top: 2px solid var(--navy) !important; padding: 16px 0 !important; }
.pub-statement { color: var(--ink) !important; }
html[lang=ja] .pub-statement { font-family: var(--font-serif-jp); }
.pub-company { border-color: var(--rule) !important; box-shadow: none !important; }
.pub-original blockquote, .pub-timeline blockquote { background: var(--bg-alt) !important; border-left: 2px solid var(--navy-pale) !important; }
.cx-card { border-top: 2px solid var(--navy) !important; }
.cx-card .code, .cx .step:before, .cx-report .report-line b { color: var(--muted) !important; }
.cx-report { box-shadow: none !important; background: var(--bg-alt) !important; }
.cx-report:before { background: var(--navy) !important; }
.cx-band { background: var(--bg-alt) !important; border-top: 2px solid var(--rule-strong); }
.cx-band h2, .cx-band p { color: var(--ink) !important; }
.cx-strip { border-color: var(--rule) !important; color: var(--muted); font-size: 14px !important; }
.cx-strip b { color: var(--ink) !important; font-family: var(--font-sans) !important; font-variant-numeric: tabular-nums; font-size: 15px !important; }
.cx details { border-color: var(--rule) !important; }
.cx summary { min-height: 44px; display: list-item; padding: 10px 0; font-weight: 500 !important; }
.cx-alphabet { display: none !important; }
.cx input, .cx select, .cx textarea { border-color: #9aa1ad !important; min-height: 44px; }

/* pages generated by build_company_pages.py / hand-written research pages */
.head, .hero { border-bottom: 2px solid var(--rule-strong) !important; }
h2.sec { color: var(--ink) !important; border-bottom: 1px solid var(--rule-strong) !important; font-size: 12px !important; }
.sec-fold, .pillars { border-top: 2px solid var(--rule-strong) !important; }
.figure b, .kpi b { color: var(--ink) !important; font-family: var(--font-serif) !important; }
.qbar i.on, .qbar .on { background: var(--navy-2) !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
.qbar[data-v="1"] i.on { background: var(--s1) !important; }
.qbar[data-v="2"] i.on { background: var(--s2) !important; }
.qbar[data-v="3"] i.on { background: var(--s3) !important; }
.qbar[data-v="4"] i.on { background: var(--s4) !important; }
.qbar[data-v="5"] i.on { background: var(--s5) !important; }
.jump a, .route h3 a { color: var(--navy) !important; }
.callout, .callout-inline { background: var(--bg-alt) !important; border-color: var(--navy) !important; }
.prog .dot { background: var(--navy-2) !important; }
.rd-print { margin: 16px 0 0; }

/* ------------------------------------------------------------ phone */

@media (max-width: 760px) {
  .rd-inner, .cx, .rd-main { padding-left: 18px !important; padding-right: 18px !important; }
  .wrap { padding-left: 18px !important; padding-right: 18px !important; }
  .edition-bar .rd-inner { flex-direction: column; align-items: flex-start; gap: 0; padding-top: 10px; padding-bottom: 8px; min-height: 0; }
  .edition-bar a { display: inline-flex; min-height: 36px; align-items: center; }
  .rd-mast-row { padding-top: 26px; padding-bottom: 14px; flex-wrap: nowrap; }
  .wordmark span { font-size: 24px; }
  .wordmark small { font-size: 11.5px; }
  .nav-toggle { display: inline-flex; align-items: center; flex: none; }
  .site-nav { display: none; }
  .site-nav.open { display: block; }
  .site-nav .rd-inner { flex-direction: column; gap: 0; }
  .site-nav a { border-bottom: 1px solid var(--rule); margin: 0; padding: 0 2px; }
  .site-nav a[aria-current] { border-bottom: 1px solid var(--rule); box-shadow: inset 3px 0 0 var(--navy); padding-left: 10px; }

  h1, .cx h1 { font-size: 28px !important; line-height: 1.4 !important; }
  h2, .cx h2 { font-size: 22px; }
  .score-xl { font-size: 64px; }
  .rd-range .score-xl { font-size: 48px; }
  .hero-grid, .two-col, .rd-hero { display: block; }
  .rd-hero { padding-top: 28px; }
  .rd-coverage { margin-top: 32px; }
  .btn, .rd-actions .btn { width: 100%; }
  .rd-foot-grid { grid-template-columns: 1fr; }

  table.stack thead { display: none; }
  table.stack, table.stack tbody, table.stack tr, table.stack td, table.stack tbody th { display: block; width: 100%; }
  table.stack tr { border-bottom: 1px solid var(--rule); padding: 12px 0; }
  table.stack td, table.stack tbody th { border: 0 !important; padding: 2px 0 !important; text-align: left !important; }
  table.stack td[data-label]::before { content: attr(data-label) "　"; color: var(--muted); font-size: 12px; }
  table.stack tbody { border-top: 2px solid var(--rule-strong); }

  /* company rows: name on top; ticker, coverage, date and the score on one line */
  .rd-co-table tr { display: grid !important; grid-template-columns: auto auto auto 1fr; grid-template-areas: "name name name name" "tick cov date score"; gap: 2px 12px; align-items: baseline; }
  .rd-co-table td { width: auto !important; }
  .rd-co-table td::before { content: none !important; }
  .rd-co-table td:nth-child(1) { grid-area: name; }
  .rd-co-table td:nth-child(2) { grid-area: tick; }
  .rd-co-table td:nth-child(3) { grid-area: score; text-align: right !important; font-size: 20px; }
  .rd-co-table td:nth-child(4) { grid-area: cov; }
  .rd-co-table td:nth-child(5) { grid-area: date; }
  .rd-co-table td:nth-child(6) { display: none !important; }
  .rd-co-table td.rd-what { display: block !important; grid-column: 1 / -1; font-size: 13px; color: var(--muted); }
  .rd-co-table td.num:not(.score) { font-size: 13px; color: var(--muted); }
  .rd-co-table td.score .tag { display: block; width: max-content; margin: 4px 0 0 auto; }
  .rd-co-table td.co-name strong { font-size: 16px; }
  .rd-co-table td.co-name a { display: inline-block; padding: 4px 0; }
  .rd-controls { grid-template-columns: 1fr; gap: 12px; }
  .rd-findings a, .rd-findings .rd-f-row { grid-template-columns: 2.8em minmax(0, 1fr); gap: 4px 10px; }
  .rd-findings .bar, .rd-f-val { grid-column: 2; text-align: left; }
  .rd-hplot { height: 96px; }
  .rd-hlab { font-size: 10px; }

}

@media (max-width: 1000px) and (min-width: 761px) {
  .rd-hero { grid-template-columns: 1fr; gap: 32px; }
  .rd-findings a, .rd-findings .rd-f-row { grid-template-columns: 3em minmax(0, 1fr) 13em; }
  .rd-findings .bar { display: none; }
}

/* ------------------------------------------------------------ print / PDF tearsheet */

@media print {
  .edition-bar, .site-nav, .nav-toggle, .btn, .rd-actions, .rd-controls, .rd-foot-links, .rd-print, .rd-skip, footer nav { display: none !important; }
  body { font-size: 10.5pt; color: #000; }
  a { color: #000 !important; text-decoration: none; }
  .masthead { border-bottom: 1pt solid #000; }
  .rd-mast-row { padding-top: 0 !important; padding-bottom: 14pt !important; }
  details { display: block; }
  details > summary { list-style: none; }
  details:not([open]) > *:not(summary) { display: block; }
  /* let long sections and folds run across pages; keep only small blocks whole (a question's row, a short table, a card) */
  section, .cx-section, details { break-inside: auto !important; }
  tr, li, .qitem, .rd-peers, .figure, .rd-ex-q, .metrics, .metric, .rating, footer { break-inside: avoid; }
  .cx-card { break-inside: auto !important; }
  table:not(.rd-audit):not(:has(tbody tr:nth-child(13))) { break-inside: avoid; }
  h1, h2, h3, h4, summary, thead { break-after: avoid; }
  .citation { display: block; margin-top: 12pt; font-size: 9pt; }
  .rd-foot { background: none; margin-top: 12pt; }
  /* book-style page margins; the page margin replaces the screen gutters */
  .rd-inner, .rd-main, .cx, .wrap { padding-left: 0 !important; padding-right: 0 !important; max-width: none !important; }
}
@page { margin: 25mm 22mm 27mm; }

/* generated company pages: the headline figure in the serif, the columns in tabular sans */
.figure b { font-size: clamp(44px, 7vw, 64px) !important; font-weight: 400 !important; line-height: 1 !important; flex-shrink: 0; white-space: nowrap; }
.prow .v, .qv, .r-v, .r-score, .co-score, .cx .score { font-family: var(--font-sans) !important; font-variant-numeric: tabular-nums lining-nums; }
.rd-ed { white-space: nowrap; }
.rd-co-table td.co-name a { text-decoration: none; }
.rd-co-table td.co-name a:hover strong { text-decoration: underline; text-underline-offset: 3px; }
td.date, .rd-table .date { white-space: nowrap; }
.rd-table-wrap + .rd-table-wrap { margin-top: 24px; }

/* A-Z jump bar on the company list: only letters that exist, full-size targets */
.rd-az { display: flex; flex-wrap: wrap; gap: 4px; margin: 16px 0 12px; padding: 8px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.rd-az a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; font: 500 15px var(--font-sans); color: var(--navy); text-decoration: none; border-radius: 2px; }
.rd-az a:hover { background: var(--navy-tint); }
.rd-az a[hidden], .rd-az[hidden] { display: none; }
[data-co-table] tr[id] { scroll-margin-top: 16px; }
@media (max-width: 760px) { .rd-az { gap: 0; } .rd-az a { min-width: 40px; } }

/* ------------------------------------------------------------ self-audit checklist (/self-audit/) */
.rd-audit { table-layout: fixed; width: 100%; }
.rd-audit th:nth-child(1), .rd-audit td:nth-child(1) { width: 4.5em; }
.rd-audit td { vertical-align: top; font-size: 14px; line-height: 1.55; }
.rd-audit td.code { font-family: var(--font-mono); color: var(--navy); }
.rd-audit-scale th { width: 3em; font-family: var(--font-mono); text-align: center; }
@media (max-width: 760px) {
  .rd-audit, .rd-audit thead, .rd-audit tbody, .rd-audit tr, .rd-audit td { display: block; width: auto !important; }
  .rd-audit thead { display: none; }
  .rd-audit tr { border-top: 1px solid var(--rule); padding: 10px 0; }
  .rd-audit td { border: 0 !important; padding: 2px 0; }
}
@media print {
  .rd-audit td { font-size: 9.5pt; }
  .rd-audit tr { break-inside: avoid; }
  section:has(.rd-audit), .cx-section:has(.rd-audit) { break-inside: auto !important; }
  .rd-audit thead { display: table-header-group; }
  .rd-audit th, .rd-audit td { padding-top: 5px !important; padding-bottom: 5px !important; }
  .rd-actions { display: none !important; }
}

/* ------------------------------------------------------------ sector / size and peers (19 Oct 2026) */
.rd-co-profile { display: block; color: var(--muted); font-size: 12.5px; margin-top: 2px; }
.rd-peers { margin: 20px 0 8px; padding: 14px 16px; background: var(--bg-alt); border-top: 2px solid var(--navy); }
.rd-peers-h { font-weight: 600; margin: 0 0 8px; color: var(--ink); }
.rd-peers-table { width: 100%; margin: 0; }
.rd-peers-table th, .rd-peers-table td { padding: 6px 4px; font-size: 14px; }
.rd-peers .muted { font-size: 12.5px; margin: 8px 0 0; }
.rd-selfaudit-link { margin: 14px 0 0; font-size: 14.5px; }

/* ------------------------------------------------------------ Examples to follow (Phase 2, 19 Oct 2026) */
.rd-examples .rd-ex-area { margin: 26px 0 0; }
.rd-examples .rd-ex-area > h3 { font-size: 17px; margin: 0 0 6px; padding-bottom: 6px; border-bottom: 1px solid var(--rule); }
.rd-ex-q { padding: 14px 0; border-bottom: 1px solid var(--rule); scroll-margin-top: 100px; }
.rd-ex-q h4 { font-size: 15px; font-weight: 600; margin: 0 0 8px; line-height: 1.45; }
.rd-ex-q h4 .code, .rd-ex-co .code { font-family: var(--font-mono); color: var(--navy); font-size: 13px; font-weight: 500; }
.rd-ex-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px 18px; }
.rd-ex-list li { margin: 0; padding: 10px 12px; background: var(--bg-alt); border-left: 2px solid var(--navy); min-width: 0; }
.rd-ex-list p { margin: 0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.rd-ex-co a { font-weight: 600; }
.rd-ex-co small { display: block; color: var(--muted); font-size: 12px; }
.rd-ex-note { margin-top: 4px !important; color: var(--ink); }
.rd-ex-link { margin-top: 6px !important; font-size: 13px !important; }
.rd-ex-link .muted { color: var(--muted); font-size: 12px; }
.rd-ex-caveat, .rd-ex-none { font-size: 13.5px; color: var(--muted); margin: 0 0 8px; }
.rd-ex-box { margin: 4px 0 14px; padding: 12px 14px; border-top: 2px solid var(--navy); background: var(--bg); }
.rd-ex-h { font-weight: 600; margin: 0 0 8px; font-size: 14px; }
.rd-ex-box .rd-ex-list li { background: var(--bg-alt); }
.rd-ex-more, .rd-ex-jump { margin: 8px 0 0; font-size: 13px; }
.rd-scale { max-width: 46rem; margin-bottom: 1.2rem; }
.rd-scale th.rd-scale-n, .rd-scale td.rd-scale-n { width: 3.75rem; text-align: left; white-space: nowrap; }
.rd-scale tbody td { vertical-align: middle; }
.rd-sc { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; font-family: var(--font-mono); font-size: 14px; font-weight: 500; color: var(--navy); }
.rd-sc0 { background: #f3f5f9; border: 1px solid var(--navy-pale); }
.rd-sc1 { background: #e4ebf4; } .rd-sc2 { background: var(--navy-pale); } .rd-sc3 { background: #8ea6c6; color: #fff; }
.rd-sc4 { background: var(--navy-2); color: #fff; } .rd-sc5 { background: var(--navy); color: #fff; }
@media print { .rd-sc { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }
.rd-follow { margin: 22px 0 0; padding: 12px 14px; border-left: 2px solid var(--navy); background: var(--bg-alt); font-size: 14px; line-height: 1.6; }
@media print { .rd-follow { display: none; } }
.rd-ex-nav { margin: 18px 0 6px; padding: 14px 16px; background: var(--bg-alt); border-top: 2px solid var(--navy); scroll-margin-top: 100px; }
.rd-ex-tools { display: grid; gap: 10px; margin-bottom: 12px; }
.rd-ex-tools[hidden], .rd-ex-chips li[hidden], .rd-ex-area[hidden], .rd-ex-q[hidden] { display: none; }
.rd-ex-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.rd-ex-filters button { font: inherit; font-size: 13px; padding: 6px 11px; border: 1px solid var(--navy-pale); background: var(--bg); color: var(--navy); cursor: pointer; border-radius: 0; }
.rd-ex-filters button[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.rd-ex-tools input { font: inherit; font-size: 14px; padding: 8px 10px; border: 1px solid #aab6c5; background: #fff; width: 100%; max-width: 26rem; box-sizing: border-box; }
.rd-ex-count { margin: 0; font-size: 13px; color: var(--muted); }
.rd-ex-count:empty { display: none; }
.rd-ex-chips { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.rd-ex-chips li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0; }
.rd-ex-nav-area { font-size: 13px; font-weight: 600; min-width: 13rem; }
.rd-ex-chips a { font-family: var(--font-mono); font-size: 13px; padding: 2px 4px; }
.rd-ex-back { margin: 10px 0 0; font-size: 13px; text-align: right; }
@media (max-width: 760px) { .rd-ex-nav-area { min-width: 0; width: 100%; } .rd-ex-chips a { padding: 4px 6px; } }
@media print { .rd-ex-nav, .rd-ex-back { display: none; } }
@media print { .rd-ex-list { display: block; } .rd-ex-list li { break-inside: avoid; margin-bottom: 6px; } }

/* not-found note on the company list: a sentence, so it wraps (owner wording, 20 Oct 2026) */
.tag.tag-scope, .cx .tag.tag-scope { display:block; white-space:normal; text-align:left; max-width:min(24rem, 100%); box-sizing:border-box; overflow-wrap:anywhere; margin:.35rem 0 0 auto; line-height:1.45; }

/* Japanese company page: question list laid out like the English one (build_company_pages.py inline styles) */
.rd-qlist .qhead, .rd-qlist .qrow { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) 5.4rem 2.6rem; gap: 0 .9rem; align-items: center; }
.rd-qlist .qhead { margin-top: 1.2rem; padding: 0 0 .45rem; border-bottom: 1px solid var(--ink); font-size: .72rem; letter-spacing: .1em; font-weight: 700; color: var(--muted); }
.rd-qlist .qgroup { padding: .9rem 0 .35rem; font-size: .74rem; letter-spacing: .1em; font-weight: 700; color: var(--navy); border-bottom: 1px solid var(--rule); }
.cx .rd-qlist details.qitem { border: 0; border-bottom: 1px solid var(--rule-hair); padding: 0; }
.rd-qlist .qrow { padding: .5rem 0; font-size: .9rem; list-style: none; cursor: pointer; }
.rd-qlist summary.qrow::-webkit-details-marker { display: none; }
.rd-qlist summary.qrow::marker { content: ""; }
.rd-qlist summary.qrow:hover .qtext { color: var(--navy); }
.rd-qlist .qtext { line-height: 1.5; }
.rd-qlist details.qitem .qtext::after { content: " +"; color: var(--muted); font-family: var(--font-mono); }
.rd-qlist details.qitem[open] .qtext::after { content: " \2212"; }
.rd-qlist .qcode { font-family: var(--font-mono); font-size: .75rem; color: var(--muted); }
.rd-qlist .qbar { display: flex; gap: 2px; }
.rd-qlist .qbar i { flex: 1; height: .5rem; background: var(--rule-hair); }
.rd-qlist .qbar.none { font-size: .7rem; color: var(--muted); }
.rd-qlist .qv { font-size: .84rem; text-align: right; font-variant-numeric: tabular-nums; }
.rd-qlist .qv.zero { color: var(--muted); }
.rd-qlist .qwhy { margin: 0 0 .8rem 3.5rem; padding: .7rem .9rem; background: var(--bg-alt); border-left: 2px solid var(--navy); font-size: .86rem; line-height: 1.6; }
.rd-qlist .qwhy p { margin: 0 0 .4rem; font-size: .86rem; }
.rd-qlist .qwhy p:last-child { margin-bottom: 0; }
.rd-qlist .rd-ex-jump { margin: 0 0 .8rem 3.5rem; }
@media (max-width: 640px) {
  .rd-qlist .qhead, .rd-qlist .qrow { grid-template-columns: 2.4rem minmax(0, 1fr) 2.6rem; }
  .rd-qlist .qbar, .rd-qlist .qhead span:nth-child(3) { display: none; }
  .rd-qlist .qwhy, .rd-qlist .rd-ex-jump { margin-left: 0; }
}

/* Sample companies: strengths and improvement considerations (both languages) */
.rd-featured { background: var(--bg-alt); border-left: 2px solid var(--navy); padding: 14px 18px; margin: 18px 0 24px; }
.rd-featured h2 { font-size: 1.05rem; margin: 6px 0 6px; }
.rd-featured ul { margin: 0 0 10px; padding-left: 1.1rem; }
.rd-featured li { margin: 4px 0; line-height: 1.6; }
.rd-featured .tag { margin-left: 6px; }

/* Japanese company page: jump links, English originals, capital write-ups (match the English page) */
.rd-jump { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 14px; font-size: 14px; }
.rd-jump a { font-weight: 600; }
.rd-jump span { color: var(--muted); }
.rd-orig { margin-top: .6rem !important; }
.rd-orig-h { display: block; font-size: .74rem; font-weight: 700; color: var(--muted); margin-bottom: 2px; }
.rd-cap-figure { display: flex; align-items: baseline; gap: .5rem; margin: .2rem 0 .8rem; }
.rd-cap-figure b { font-size: 2rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.rd-cap-figure span { font-size: .85rem; color: var(--muted); }
.rd-en-title { font-weight: 600; margin: .4rem 0; }
.rd-cap-status { background: var(--bg-alt); border-left: 2px solid var(--navy); padding: .6rem .9rem; font-size: .9rem; }
.rd-cap-qa { padding: .7rem 0; border-bottom: 1px solid var(--rule-hair); }
.rd-cap-qa h4 { margin: 0 0 .25rem; font-size: .98rem; }
.rd-cap-qa p { margin: .2rem 0; font-size: .9rem; }
.rd-cap-tag { color: var(--muted); font-size: .8rem !important; }
.rd-cap-ratings { margin-top: 1rem; border-top: 1px solid var(--ink); }
.rd-cap-rating { display: grid; grid-template-columns: 1fr 5rem; gap: .15rem 1rem; padding: .6rem 0; border-bottom: 1px solid var(--rule-hair); }
.rd-cap-rating .r-q { font-weight: 600; font-size: .92rem; }
.rd-cap-rating .r-v { text-align: right; font-variant-numeric: tabular-nums; }
.rd-cap-rating .r-why { grid-column: 1 / -1; font-size: .86rem; color: var(--ink-2); }
.rd-absent { background: var(--bg-alt); padding: .9rem 1.1rem; }

/* Source lines under each capital-action answer (English page) are a paragraph, not a chip:
   the chip style cannot wrap and its border cut through the source links. */
p.tag, .qa p.tag, .lens p.tag { display: block; white-space: normal; border: 0; padding: 0; margin: .3rem 0 0; letter-spacing: 0;
  font: 400 12.5px/1.6 var(--font-sans); color: var(--muted); vertical-align: baseline; }
.rd-featured .why { display: block; font-size: .9rem; color: var(--ink-2, #3d4048); line-height: 1.55; }
.rd-cap-table .rd-def { display: block; font-size: .8rem; color: var(--muted, #5b6170); line-height: 1.5; margin-top: 2px; }
.rd-timeline { margin: .6rem 0; font-size: .88rem; }
.rd-timeline summary { cursor: pointer; font-weight: 600; color: var(--navy); }
.rd-timeline ol { margin: .5rem 0 0; padding-left: 1.2rem; }
.rd-timeline li { margin: .45rem 0; line-height: 1.55; }
.rd-timeline .t-date { display: block; font-size: .76rem; color: var(--muted, #5b6170); }
/* Japanese company page: the same folding sections as the English page */
.rd-fold { margin-top: 2.2rem; }
.rd-fold > summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem 1rem; padding: .9rem 0; cursor: pointer; list-style: none; }
.rd-fold > summary::-webkit-details-marker { display: none; }
.rd-fold > summary::before { content: "+"; width: 1.1em; flex: none; color: var(--muted, #5b6170); font: 400 1.05rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.rd-fold[open] > summary::before { content: "\2212"; }
.rd-fold > summary:hover .s-title { text-decoration: underline; }
.rd-fold > summary:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.rd-fold .s-title { font-size: 1.25rem; font-weight: 600; }
.rd-fold .s-meta { margin-left: auto; font-size: .8rem; color: var(--muted, #5b6170); }
.rd-fold > .cx-section:first-of-type { margin-top: .4rem; }
@media (max-width: 560px) { .rd-fold .s-meta { margin-left: 1.4rem; } }
.rd-cap-table td:last-child { white-space: nowrap; }
.rd-unscored { font-size: .95rem; margin: .4rem 0 .6rem; }
.rd-rating-line { margin: .25rem 0 .5rem; font-size: .88rem; color: var(--muted, #5b6170); }
.rd-rating-line span { display: block; font-weight: 600; color: var(--ink, #14161a); }
/* Editorial policy and Contact and corrections pages */
.tp-list { margin: .4rem 0 0; padding-left: 1.2rem; max-width: 68ch; }
.tp-list li { margin: .45rem 0; line-height: 1.7; }
.tp-promise { margin: 1rem 0 1.4rem; padding: .8rem 1rem; border-left: 3px solid var(--navy); background: var(--bg-alt, #f4f5f7); max-width: 68ch; }
.tp-labels th[scope=row] { white-space: nowrap; font-weight: 600; }
@media (max-width: 640px) { .tp-labels th[scope=row] { white-space: normal; } }
/* Scoring rules page */
.tp-area { font-size: 1.05rem; margin: 1.8rem 0 .4rem; padding-bottom: .3rem; border-bottom: 1px solid var(--rule-strong, #14161a); }
.tp-q { border-bottom: 1px solid var(--rule, #d8d6d1); }
.tp-q > summary { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) auto; gap: .8rem; align-items: baseline; padding: .7rem 0; cursor: pointer; list-style: none; }
.tp-q > summary::-webkit-details-marker { display: none; }
.tp-q > summary:hover .tp-text { text-decoration: underline; }
.tp-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .85rem; color: var(--navy); font-weight: 600; }
.tp-pts { font-size: .78rem; color: var(--muted, #5b6170); white-space: nowrap; }
.tp-q[open] > summary { font-weight: 600; }
.tp-q .rd-table-wrap { margin: 0 0 .6rem; }
.tp-scale td:first-child { width: 4rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 600; }
.tp-changes td:first-child { white-space: nowrap; }
.tp-notes { font-size: .9rem; margin-bottom: 1rem; }
@media (max-width: 560px) {
  .tp-q > summary { grid-template-columns: 2.4rem minmax(0, 1fr); }
  .tp-pts { grid-column: 2; }
  .tp-scale td:first-child { width: auto; }
}
@media (max-width: 560px) { .tp-scale td:first-child { width: 2.4rem; padding-right: .4rem; } .tp-scale th:first-child { width: 2.4rem; } }

/* AGM-questions series on the homepage and company pages (scripts/agm_promote.py) */
.rd-agm-list .rd-agm-q { display: block; grid-column: 2 / -1; font-size: 14px; color: var(--muted); margin-top: 4px; line-height: 1.55; }
.rd-agm-co { font-size: 14px; color: var(--ink-2, var(--ink)); background: var(--wash, #f4f6f9); padding: 10px 14px; margin: 12px 0 16px; line-height: 1.6; }

/* IR Insights article and topic pages (scripts/build_insights.py) */
.ins-fig { margin: 20px 0 28px; }
.ins-fig figcaption { font-size: 14px; font-weight: 600; color: var(--ink); margin-bottom: 10px; }
.ins-caveat { border-left: 3px solid var(--navy-pale); padding-left: 12px; }
.ins-sub { font-weight: 600; margin: 18px 0 6px; }
.ins-fig-line { font-size: 17px; }
.ins-ex li { margin: 6px 0; }
.ins-ind th[scope=row] { font-weight: 500; text-align: left; min-width: 14em; }
.ins-ind .ins-narrow { display: none; }
@media (max-width: 640px) { .ins-ind .ins-wide { display: none; } .ins-ind .ins-narrow { display: inline; } }
.ins-heat { background: rgba(11, 37, 69, calc(var(--p) * .55)); color: var(--ink); }
.ins-heat[style*="--p:0.6"], .ins-heat[style*="--p:0.7"], .ins-heat[style*="--p:0.8"], .ins-heat[style*="--p:0.9"], .ins-heat[style*="--p:1.0"] { color: #fff; }
.ins-svg { width: 100%; max-width: 560px; height: auto; display: block; }
.ins-svg .ins-bar { fill: var(--navy); }
.ins-svg .ins-v, .ins-svg .ins-x { fill: var(--ink); font-size: 13px; font-family: var(--font-sans, sans-serif); }
.ins-svg .ins-axis { stroke: var(--rule); stroke-width: 1; }
.ins-axis-label { margin-top: 2px; }
@media (max-width: 640px) { .ins-ind th[scope=row] { min-width: 6.5em; font-size: 13px; } .ins-ind td, .ins-ind thead th { font-size: 12px; padding: 6px 4px; } .ins-ind thead th { font-size: 11px; letter-spacing: 0; } }
/* AGM questions 2026: scope strip (checked / publish / questions) */
.rd-agm-scope { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--bg-alt); margin: 1.2rem 0 1.5rem; }
.rd-agm-scope article { padding: 1rem 1.2rem; border-right: 1px solid var(--rule); }
.rd-agm-scope article:last-child { border-right: 0; }
.rd-agm-scope b { display: block; font-size: 2rem; color: var(--navy); font-variant-numeric: tabular-nums; }
.rd-agm-scope span { display: block; font-size: .85rem; color: var(--ink-2); margin-top: .3rem; }
@media (max-width: 640px) { .rd-agm-scope { grid-template-columns: 1fr 1fr; } .rd-agm-scope article:nth-child(2) { border-right: 0; } .rd-agm-scope article:nth-child(-n+2) { border-bottom: 1px solid var(--rule); } }
@media (max-width: 480px) { .rd-agm-scope article { padding: .8rem; } .rd-agm-scope b { font-size: 1.5rem; } }
/* Where to start: the 3-4 cheapest low answers (fix_first.py) */
.rd-fixfirst { background: var(--bg-alt); border-left: 2px solid var(--navy); padding: 14px 18px; margin: 18px 0 24px; }
.rd-fixfirst h2 { font-size: 1.05rem; margin: 6px 0 6px; }
.rd-fixfirst .note { font-size: .88rem; color: var(--ink-2); line-height: 1.55; margin: 0 0 10px; }
.rd-fixfirst ol { margin: 0; padding-left: 1.2rem; }
.rd-fixfirst li { margin: 0 0 12px; }
.rd-fixfirst li p { margin: 2px 0; line-height: 1.55; overflow-wrap: anywhere; }
.rd-fixfirst .ff-q .code { font-weight: 600; margin-right: 4px; }
.rd-fixfirst .ff-q .tag { margin-left: 4px; }
.rd-fixfirst .ff-tier { display: inline-block; font-size: .75rem; padding: 1px 6px; border: 1px solid var(--rule); border-radius: 3px; color: var(--ink-2); margin-left: 4px; white-space: nowrap; }
.rd-fixfirst .ff-t0 { border-color: var(--navy); color: var(--navy); }
.rd-fixfirst .ff-src { font-size: .88rem; }
/* Homepage (owner, 24 Oct 2026): featured article, latest articles, company search, tools */
.rd-featured-article { background: var(--bg-alt); border-left: 3px solid var(--navy); margin-top: 28px; }
/* it is also an .rd-section, whose padding rule (36px 0, important) would otherwise put the text against the bar */
.rd-section.rd-featured-article { padding: 28px 32px !important; }
@media (max-width: 640px) { .rd-section.rd-featured-article { padding: 20px 18px !important; } }
.rd-featured-article h2 { font-size: 1.35rem; margin: 4px 0 8px; line-height: 1.4; }
.rd-featured-article h2 a { color: var(--ink); text-decoration: none; }
.rd-featured-article h2 a:hover { text-decoration: underline; }
.rd-articles, .rd-tools { list-style: none; margin: 0; padding: 0; }
.rd-articles li, .rd-tools li { border-top: 1px solid var(--rule); }
.rd-articles li:last-child, .rd-tools li:last-child { border-bottom: 1px solid var(--rule); }
.rd-articles a, .rd-tools a { display: block; padding: 12px 2px; color: var(--ink); text-decoration: none; }
.rd-articles a:hover strong, .rd-tools a:hover strong { text-decoration: underline; }
.rd-articles .date { display: block; font-size: .8rem; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.rd-articles strong, .rd-tools strong { display: block; color: var(--navy); }
.rd-articles .muted, .rd-tools .muted { display: block; font-size: .9rem; margin-top: 2px; }
@media (min-width: 760px) { .rd-tools { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; } .rd-tools li:nth-last-child(2) { border-bottom: 1px solid var(--rule); } }
.rd-home-search label { display: block; font-weight: 600; margin-bottom: 6px; }
.rd-home-search div { display: flex; gap: 8px; max-width: 560px; }
.rd-home-search input { flex: 1; min-width: 0; padding: 9px 10px; border: 1px solid var(--rule-strong, #999); border-radius: 3px; font: inherit; background: var(--bg); color: var(--ink); }
.rd-home-search .btn { flex: none; width: auto; margin: 0; }
.rd-home-search input { width: auto; }
