:root {
  --ink:#22272b;
  --muted:#5d666d;
  --line:#ccd1d4;
  --soft:#f2f4f5;
  --accent:#b73d24;
  --accent-soft:#fff4ee;
  font-family:"Noto Sans JP","Meiryo","Yu Gothic",system-ui,sans-serif;
  color:var(--ink);
  font-size:16px;
  font-weight:400;
  background:#fff;
  font-synthesis:none
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  line-height:1.75
}
button,input,textarea {
  font:inherit;
  color:inherit
}
button,a,input,textarea,summary {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  cursor:wait;
  opacity:.65
}
a {
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:4px
}
a:hover {
  color:var(--accent)
}
button:hover {
  color:var(--accent)
}
:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:4px
}
h1,h2,h3,h4,p {
  margin:0
}
h1,h2,h3,h4 {
  line-height:1.5
}
h1 {
  font-size:32px;
  font-weight:750;
  letter-spacing:.02em
}
h2 {
  font-size:22px
}
h3 {
  font-size:18px
}
h4 {
  font-size:18px
}
small,.small {
  font-size:13px;
  color:var(--muted);
  line-height:1.7
}
button {
  border:0;
  background:none
}
img {
  max-width:100%
}
[hidden] {
  display:none!important
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap
}
.skip-link {
  position:fixed;
  top:-100px;
  left:16px;
  z-index:50;
  background:white;
  padding:12px
}
.skip-link:focus {
  top:8px
}
.site-header {
  border-bottom:1px solid var(--ink)
}
.header-inner {
  max-width:1360px;
  margin:auto;
  padding:17px 40px;
  display:flex;
  align-items:center;
  gap:44px
}
.brand {
  display:flex;
  align-items:center;
  gap:9px;
  text-decoration:none;
  white-space:nowrap;
  font-size:24px;
  font-weight:800;
  letter-spacing:.035em
}
.header-inner nav {
  display:flex;
  gap:26px;
  align-items:center
}
.header-inner nav a {
  text-decoration:none;
  font-size:15px;
  white-space:nowrap;
  position:relative
}
.header-inner nav a.active {
  font-weight:750;
  color:var(--accent)
}
.header-inner nav a.active:after {
  content:"";
  position:absolute;
  bottom:-20px;
  left:0;
  right:0;
  height:3px;
  background:var(--accent)
}
.about-link {
  margin-left:auto;
  white-space:nowrap;
  font-size:13px;
  color:var(--muted)
}
.page {
  max-width:1280px;
  margin:0 auto;
  padding:28px 40px 56px;
  min-height:70vh
}
.home-intro {
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:22px
}
.eyebrow {
  font-size:13px;
  letter-spacing:.05em;
  color:var(--muted);
  margin-bottom:5px
}
.home-intro h1 {
  line-height:1.45
}
.home-intro h1 span {
  color:var(--accent)
}
.intro-copy {
  margin-top:8px;
  font-size:16px
}
.intro-note {
  font-size:13px;
  color:var(--muted);
  text-align:right;
  line-height:1.7
}
.intro-note b {
  font-size:25px;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  margin-right:4px
}
.ask-form>label {
  display:block;
  font-size:14px;
  font-weight:700;
  margin-bottom:7px
}
.question-box {
  display:flex;
  border:2px solid var(--ink);
  border-radius:2px;
  align-items:center;
  background:#fff;
  min-height:65px;
  padding:5px 6px 5px 16px;
  gap:12px
}
.question-box:focus-within {
  border-color:var(--accent);
  box-shadow:0 0 0 1px var(--accent)
}
.question-symbol {
  font-size:26px;
  font-weight:600;
  color:var(--accent)
}
.question-box textarea {
  border:none;
  background:none;
  outline:none;
  resize:vertical;
  width:100%;
  min-width:0;
  min-height:36px;
  max-height:160px;
  padding:5px 0;
  line-height:1.6;
  font-size:18px
}
.question-box textarea::placeholder {
  color:#70777c
}
.submit {
  background:var(--accent);
  color:white;
  min-height:48px;
  padding:9px 22px;
  white-space:nowrap;
  font-weight:700;
  border-radius:1px
}
.submit:hover {
  background:#92321f;
  color:white
}
.submit span {
  margin-left:13px
}
.form-below {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
  color:var(--muted);
  padding-top:5px;
  min-height:27px
}
.pending {
  color:var(--accent)
}
.try-questions {
  display:flex;
  gap:8px 20px;
  flex-wrap:wrap;
  align-items:center;
  margin:8px 0 25px
}
.try-questions>span {
  font-size:13px;
  color:var(--muted)
}
.sample-question {
  font-size:14px;
  padding:0;
  border-bottom:1px solid var(--line)
}
.sample-question>span {
  padding-left:7px;
  color:var(--accent)
}
.workspace,.company-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 292px;
  gap:38px;
  align-items:start
}
.answer-slot {
  min-width:0;
  scroll-margin-top:18px
}
.answer-panel {
  background:var(--soft);
  padding:23px 26px 20px;
  border-left:4px solid var(--accent);
  overflow-wrap:anywhere
}
.answer-unavailable {
  border-left-color:#788187;
  background:#f5f5f3
}
.answer-top {
  display:flex;
  gap:8px 18px;
  justify-content:space-between;
  flex-wrap:wrap;
  align-items:center;
  margin-bottom:15px
}
.answer-label {
  font-size:13px;
  letter-spacing:.035em;
  color:var(--muted)
}
.company-tag {
  font-size:14px;
  font-weight:700;
  text-decoration:none
}
.company-tag small {
  font-weight:400;
  margin-left:5px
}
.asked-question {
  font-size:14px;
  color:var(--muted);
  margin-bottom:5px
}
.short-answer {
  font-size:25px;
  line-height:1.65;
  font-weight:750;
  letter-spacing:.015em;
  white-space:pre-line
}
.short-answer:focus:not(:focus-visible) {
  outline:none
}
.fact-list {
  margin:18px 0 10px
}
.fact-row {
  border-top:1px solid var(--line);
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:5px 16px;
  padding:13px 0
}
.fact-row>span {
  font-size:14px;
  max-width:60%
}
.fact-row small {
  display:block
}
.fact-row strong {
  font-size:20px;
  font-weight:700
}
.fact-row strong.numeric {
  font-size:30px;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.035em
}
.fact-value {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  text-align:right
}
.amount-detail {
  max-width:100%;
  color:var(--muted);
  font-size:13px;
  line-height:1.55
}
.amount-detail summary {
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px
}
.amount-detail>span,.amount-detail>small {
  display:block;
  overflow-wrap:anywhere
}
.amount-detail[open] {
  text-align:right
}
.fact-detail {
  flex-basis:100%
}
.period-label {
  font-size:13px;
  color:var(--muted);
  margin-top:10px
}
.source-line {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 14px;
  margin-top:13px;
  font-size:13px
}
.source-direct {
  font-size:14px;
  font-weight:700;
  text-decoration:underline
}
.source-info {
  padding:0;
  font-size:13px;
  text-decoration:underline;
  color:var(--muted)
}
.source-line>span {
  color:var(--muted)
}
.limitations {
  border-top:1px solid var(--line);
  padding-top:9px;
  margin-top:15px;
  font-size:13px;
  color:var(--muted)
}
.limitations p+p {
  margin-top:4px
}
.next-questions {
  padding:19px 0 0
}
.next-questions h3 {
  font-size:15px;
  margin-bottom:6px
}
.next-questions>div {
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:22px
}
.question-link {
  padding:10px 0;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  text-align:left;
  width:100%;
  border-bottom:1px solid var(--line);
  font-size:15px;
  line-height:1.7
}
.question-link>span {
  color:var(--accent);
  flex-shrink:0
}
.deeper {
  display:flex;
  gap:7px;
  flex-direction:column;
  margin-top:18px;
  border-left:2px solid var(--line);
  padding-left:14px
}
.deeper>span {
  color:var(--muted);
  font-size:13px
}
.deeper a {
  font-size:14px;
  text-decoration:none
}
.question-rail {
  min-width:0
}
.question-rail h2 {
  font-size:17px;
  margin:0 0 9px
}
.demo-row {
  width:100%;
  display:grid;
  grid-template-columns:24px 1fr 20px;
  text-align:left;
  align-items:center;
  column-gap:10px;
  padding:14px 0;
  border-top:1px solid var(--line)
}
.demo-row>span {
  grid-row:1/3;
  color:var(--muted);
  font-size:13px
}
.demo-row b {
  font-size:17px
}
.demo-row small {
  grid-column:2;
  font-size:14px
}
.demo-row em {
  grid-column:3;
  grid-row:1/3;
  font-style:normal;
  color:var(--accent)
}
.rail-discovery {
  margin-top:27px;
  border-top:2px solid var(--ink);
  padding-top:16px
}
.rail-discovery h2 {
  font-size:16px
}
.rail-more {
  display:inline-block;
  font-size:14px;
  margin-top:14px
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:10px;
  margin-bottom:13px
}
.section-heading h2 {
  font-size:21px
}
.section-heading>span,.section-heading>a {
  font-size:13px;
  color:var(--muted)
}
.reading-section {
  margin-top:36px;
  border-top:2px solid var(--ink);
  padding-top:20px
}
.reading-row {
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 65px;
  gap:16px;
  border-top:1px solid var(--line);
  padding:18px 0;
  align-items:start
}
.row-index {
  font-size:13px;
  color:var(--muted);
  font-variant-numeric:tabular-nums;
  line-height:2
}
.reading-row h3 {
  font-size:18px
}
.reading-row h3 a {
  text-decoration:none
}
.reading-row h3+p {
  font-size:14px;
  margin-top:5px;
  color:var(--muted)
}
.read-link {
  font-size:14px;
  align-self:center;
  text-decoration:none;
  text-align:right
}
.site-footer {
  max-width:1200px;
  border-top:1px solid var(--ink);
  padding:22px 0 30px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  font-size:13px;
  color:var(--muted)
}
.site-footer b {
  color:var(--ink);
  font-size:16px
}
.site-footer div {
  display:flex;
  gap:22px
}
.site-footer p {
  width:100%;
  font-size:13px
}
.page-heading {
  margin-bottom:26px;
  max-width:900px
}
.page-heading h1 {
  margin-bottom:9px
}
.page-heading>p:last-child {
  font-size:16px;
  color:var(--muted)
}
.breadcrumb {
  display:flex;
  gap:12px;
  font-size:13px;
  color:var(--muted);
  margin-bottom:20px
}
.company-heading {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:16px
}
.company-heading h1 {
  font-size:30px
}
.quiet-link {
  font-size:14px
}
.company-intro {
  margin:12px 0 21px;
  max-width:920px
}
.company-intro>p {
  font-size:18px;
  line-height:1.85
}
.company-intro .source-line {
  margin-top:8px
}
.company-layout {
  margin-top:28px
}
.company-page>.answer-slot {
  margin-top:20px
}
.default-answer {
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:26px;
  border-top:1px solid var(--line);
  padding:21px 0
}
.default-question>span {
  font-size:13px;
  color:var(--accent);
  font-variant-numeric:tabular-nums
}
.default-question h3 {
  font-size:16px;
  margin-top:4px
}
.default-answer>div:last-child>p {
  font-size:19px;
  font-weight:700;
  line-height:1.8
}
.detail-link {
  display:block;
  font-size:14px;
  color:var(--accent);
  padding:0;
  margin-top:13px
}
.rail-reading {
  border-top:2px solid var(--ink);
  margin-top:26px;
  padding-top:16px
}
.rail-reading a {
  display:block;
  font-size:14px;
  margin-top:10px
}
.data-detail {
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--line);
  margin-top:12px;
  padding:15px 0
}
.data-detail>summary {
  font-size:16px;
  cursor:pointer;
  font-weight:700
}
.data-detail>div {
  padding-top:14px
}
.low-information {
  border-top:2px solid var(--ink);
  padding-top:15px
}
.low-information>p {
  margin:12px 0
}
.company-picker {
  position:relative;
  max-width:650px;
  margin:17px 0
}
.company-picker label {
  display:block;
  font-size:15px;
  font-weight:700;
  margin-bottom:7px
}
.company-search {
  border:1px solid var(--ink);
  border-radius:2px;
  background:#fff;
  width:100%;
  height:48px;
  padding:9px 13px;
  font-size:16px;
  min-width:0
}
.company-options:not(:empty) {
  position:absolute;
  background:white;
  left:0;
  right:0;
  top:82px;
  border:1px solid var(--ink);
  z-index:5;
  box-shadow:0 4px 9px #0001
}
.company-option {
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  width:100%;
  text-align:left;
  padding:10px 13px;
  border-bottom:1px solid var(--line);
  font-size:16px
}
.company-option[aria-selected=true],.company-option:hover {
  background:var(--accent-soft)
}
.company-option span {
  font-size:13px;
  color:var(--muted)
}
.picker-status {
  font-size:13px;
  color:var(--muted)
}
.clarification-options {
  margin-top:18px;
  display:grid;
  gap:0
}
.choice-row {
  border-top:1px solid var(--line);
  padding:14px 0;
  text-align:left;
  display:flex;
  align-items:center;
  gap:20px;
  font-size:16px
}
.choice-row span {
  font-size:13px
}
.choice-row span:last-child {
  margin-left:auto
}
.secondary {
  border:1px solid var(--line);
  padding:8px 15px;
  border-radius:2px;
  font-size:15px;
  background:white
}
.retry-state {
  border-left:4px solid #788187;
  padding:20px;
  background:var(--soft)
}
.retry-state p {
  margin:10px 0
}
.discovery-layout {
  display:grid;
  grid-template-columns:292px minmax(0,1fr);
  gap:36px
}
.discovery-index h2 {
  font-size:17px;
  margin-bottom:13px
}
.discovery-choice {
  display:grid;
  grid-template-columns:24px 1fr 15px;
  gap:10px;
  text-align:left;
  width:100%;
  border-top:1px solid var(--line);
  padding:16px 0
}
.discovery-choice span {
  font-size:13px;
  color:var(--muted)
}
.discovery-choice b {
  font-size:16px;
  font-weight:600
}
.discovery-choice em {
  font-style:normal;
  color:var(--accent)
}
.discovery-results {
  margin-top:20px
}
.discovery-results .section-heading {
  border-bottom:1px solid var(--line);
  padding-bottom:10px
}
.discovery-results .section-heading h3 {
  font-size:16px
}
.company-result {
  display:grid;
  grid-template-columns:25px minmax(0,1fr) auto;
  gap:13px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
  align-items:start
}
.company-result h3,.company-result h4 {
  font-size:18px
}
.company-result h3 a,.company-result h4 a {
  text-decoration:none
}
.company-result p {
  font-size:14px;
  margin:5px 0;
  overflow-wrap:anywhere
}
.company-result>a,.result-actions {
  font-size:13px;
  align-self:center
}
.result-actions {
  display:flex;
  flex-direction:column;
  gap:5px
}
.discovery-layout .ask-form {
  margin-top:25px
}
.search-page>.company-picker {
  margin-bottom:35px
}
.compare-selectors {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:30px;
  margin-bottom:15px
}
.compare-selectors>section {
  border-top:2px solid var(--ink);
  padding-top:12px;
  min-width:0
}
.compare-selectors h2 {
  font-size:22px
}
.compare-selectors .company-picker {
  margin:10px 0
}
.compare-selectors label {
  font-size:13px;
  font-weight:400
}
.compare-questions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 23px
}
.comparison-pair {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  margin:18px 0;
  border-top:1px solid var(--line);
  gap:26px;
  padding-top:16px
}
.comparison-pair h3 {
  font-size:18px
}
.comparison-pair ul {
  margin:12px 0 0;
  padding-left:20px;
  font-size:16px
}
.reading-layout {
  display:grid;
  grid-template-columns:minmax(0,800px) 260px;
  gap:45px
}
.reading-body {
  min-width:0
}
.reading-body h1 {
  font-size:30px;
  margin:14px 0 22px
}
.reading-body h2 {
  font-size:24px;
  margin:35px 0 15px;
  border-top:2px solid var(--ink);
  padding-top:17px
}
.reading-body h3 {
  font-size:19px;
  margin:24px 0 12px
}
.reading-body p {
  font-size:16px;
  line-height:1.95;
  margin:12px 0
}
.reading-body table {
  border-collapse:collapse;
  font-size:14px;
  width:100%;
  margin:20px 0;
  display:block;
  overflow-x:auto
}
.reading-body th,.reading-body td {
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  text-align:left;
  min-width:90px
}
.reading-body th {
  background:var(--soft)
}
.reading-body ul,.reading-body ol {
  padding-left:24px
}
.reading-body li {
  margin:7px 0
}
.reading-body .b-table-wrap {
  overflow-x:auto;
  max-width:100%
}
.reading-body .b-tag,.reading-body .b-note,.reading-body .b-meta,.reading-body .b-muted {
  font-size:13px;
  color:var(--muted)
}
.reading-body .b-section {
  margin:25px 0
}
.reading-body .b-article-toc {
  background:var(--soft);
  padding:18px 22px
}
.reading-body .b-article-source {
  border-top:1px solid var(--line);
  margin-top:22px;
  padding-top:15px
}
.reading-body .b-article-callout {
  border-left:3px solid var(--accent);
  padding:10px 20px;
  background:var(--soft);
  margin:20px 0
}
.reading-body .b-article-chart {
  padding:18px;
  background:var(--soft);
  margin:20px 0
}
.reading-body svg {
  max-width:100%;
  height:auto
}
.reading-body .article-ask {
  margin-top:30px
}
.reading-body .short-answer {
  font-size:24px;
  border-top:0;
  margin:0;
  padding:0
}
.reading-body .question-rail h2 {
  border:0
}
.about-page {
  max-width:1040px
}
.about-page>section {
  display:grid;
  grid-template-columns:60px 1fr;
  border-top:1px solid var(--line);
  padding:25px 0;
  gap:15px
}
.about-page>section>span {
  font-size:15px;
  color:var(--accent)
}
.about-page>section p {
  margin:10px 0
}
.about-page>section a {
  font-size:15px
}
dialog {
  border:1px solid var(--ink);
  padding:24px 28px;
  max-width:650px;
  width:calc(100% - 32px);
  max-height:85vh;
  color:var(--ink);
  background:white
}
dialog::backdrop {
  background:#1c252b66
}
.dialog-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  border-bottom:1px solid var(--ink);
  padding-bottom:15px
}
.dialog-header button {
  min-width:44px;
  min-height:44px;
  font-size:16px
}
.evidence-row {
  padding:20px 0;
  border-bottom:1px solid var(--line)
}
.evidence-row h3 {
  font-size:18px
}
.evidence-row dl {
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  gap:6px 12px;
  font-size:14px
}
.evidence-row dt {
  color:var(--muted)
}
.evidence-row dd {
  margin:0;
  overflow-wrap:anywhere
}
#evidence-content>.small {
  margin-top:18px
}

@media(min-width:1700px) {
  .page {
  max-width:1360px
}
.header-inner {
  max-width:1440px
}
.site-footer {
  max-width:1280px
}
.workspace,.company-layout {
  grid-template-columns:minmax(0,1fr) 310px;
  gap:48px
}
.home-intro {
  margin-bottom:24px
}

}

@media(max-width:1100px) {
  .header-inner {
  gap:24px;
  padding:16px 24px
}
.header-inner nav {
  gap:18px
}
.about-link {
  display:none
}
.page {
  padding:25px 24px 45px
}
.workspace,.company-layout {
  grid-template-columns:minmax(0,1fr) 250px;
  gap:25px
}
.site-footer {
  margin:0 24px
}
.reading-layout {
  grid-template-columns:minmax(0,1fr) 220px;
  gap:30px
}
.default-answer {
  grid-template-columns:135px minmax(0,1fr);
  gap:18px
}
.discovery-layout {
  grid-template-columns:240px minmax(0,1fr);
  gap:24px
}

}

@media(max-width:800px) {
  .header-inner {
  flex-wrap:wrap;
  gap:12px;
  padding:13px 22px 0
}
.brand {
  font-size:22px
}
.header-inner nav {
  width:100%;
  justify-content:space-between;
  gap:12px
}
.header-inner nav a {
  font-size:14px;
  padding-bottom:12px
}
.header-inner nav a.active:after {
  bottom:0
}
.page {
  padding-top:22px
}
.workspace,.company-layout {
  grid-template-columns:minmax(0,1fr) 210px;
  gap:23px
}
.answer-panel {
  padding:19px 20px
}
.short-answer {
  font-size:23px
}
.fact-row strong.numeric {
  font-size:27px
}
.next-questions>div {
  grid-template-columns:1fr
}
.default-answer {
  grid-template-columns:1fr;
  gap:8px
}
.default-question {
  display:flex;
  gap:10px;
  align-items:baseline
}
.default-question h3 {
  margin:0
}
.reading-layout {
  grid-template-columns:minmax(0,1fr)
}
.reading-layout>.question-rail {
  border-top:1px solid var(--ink);
  padding-top:15px
}
.discovery-layout {
  grid-template-columns:1fr
}
.discovery-index {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 25px
}
.discovery-index h2 {
  grid-column:1/-1
}
.discovery-choice {
  padding:12px 0
}
.compare-selectors {
  gap:20px
}
.intro-note {
  display:none
}
.site-footer {
  padding-top:18px
}
.company-heading {
  align-items:start
}
.company-heading .quiet-link {
  max-width:150px
}
.reading-row {
  gap:12px
}
.company-intro>p {
  font-size:17px
}

}

@media(max-width:560px) {
  .header-inner {
  padding:12px 16px 0
}
.brand {
  font-size:22px
}
.brand img {
  width:29px;
  height:29px
}
.header-inner nav {
  gap:8px
}
.header-inner nav a {
  font-size:14px;
  letter-spacing:-.03em
}
.page {
  padding:21px 16px 36px
}
.home-intro {
  margin-bottom:19px
}
.home-intro h1 {
  font-size:28px;
  line-height:1.5;
  letter-spacing:0
}
.home-intro h1 span {
  display:block
}
.eyebrow {
  font-size:13px
}
.intro-copy {
  font-size:15px;
  max-width:330px;
  margin-top:9px;
  line-height:1.8
}
.ask-form>label {
  font-size:14px
}
.question-box {
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:8px;
  padding:10px 10px 8px;
  align-items:start
}
.question-symbol {
  font-size:24px;
  line-height:1.5
}
.question-box textarea {
  font-size:16px;
  resize:none;
  min-height:51px;
  line-height:1.6;
  padding:5px 0 0
}
.question-box .submit {
  grid-column:1/-1;
  min-height:44px;
  padding:8px 15px;
  text-align:right
}
.submit span {
  margin-left:20px
}
.form-below {
  font-size:13px;
  flex-direction:column;
  gap:0
}
.try-questions {
  margin:10px 0 23px;
  gap:6px 12px
}
.sample-question {
  font-size:13px;
  padding:2px 0
}
.try-questions>span {
  width:100%;
  font-size:13px
}
.workspace,.company-layout {
  display:flex;
  flex-direction:column;
  gap:28px
}
.workspace>*,.company-layout>* {
  width:100%;
  min-width:0
}
.answer-panel {
  padding:17px 16px 16px;
  border-left-width:3px
}
.answer-top {
  margin-bottom:13px;
  gap:5px 12px
}
.answer-label {
  font-size:13px
}
.company-tag {
  font-size:14px
}
.asked-question {
  font-size:14px
}
.short-answer {
  font-size:21px;
  line-height:1.7;
  letter-spacing:0
}
.fact-row {
  align-items:start;
  gap:5px
}
.fact-row>span {
  font-size:14px;
  max-width:none;
  flex-basis:100%
}
.fact-row strong.numeric {
  font-size:29px
}
.fact-row strong {
  font-size:20px
}
.fact-list {
  margin-top:15px
}
.source-line {
  gap:4px 12px
}
.source-line>span {
  font-size:13px
}
.limitations {
  font-size:13px;
  line-height:1.85
}
.next-questions {
  padding-top:18px
}
.next-questions>div {
  grid-template-columns:1fr
}
.question-link {
  font-size:16px;
  padding:12px 0
}
.deeper a {
  font-size:14px
}
.question-rail {
  border-top:2px solid var(--ink);
  padding-top:17px
}
.demo-list {
  display:grid;
  grid-template-columns:1fr
}
.demo-row {
  padding:12px 0;
  grid-template-columns:24px 1fr 18px
}
.demo-row small {
  font-size:14px
}
.rail-discovery {
  margin-top:20px
}
.reading-section {
  margin-top:28px;
  padding-top:17px
}
.section-heading {
  align-items:start
}
.section-heading h2 {
  font-size:20px
}
.section-heading>a,.section-heading>span {
  font-size:13px;
  flex-shrink:0;
  max-width:95px;
  text-align:right
}
.reading-row {
  grid-template-columns:23px minmax(0,1fr);
  gap:10px;
  padding:17px 0
}
.reading-row h3 {
  font-size:18px;
  line-height:1.65
}
.reading-row h3+p {
  font-size:14px;
  line-height:1.85
}
.read-link {
  grid-column:2;
  justify-self:end
}
.site-footer {
  margin:0 16px;
  font-size:13px;
  gap:12px
}
.site-footer>span {
  line-height:2
}
.site-footer b {
  display:block;
  font-size:17px
}
.site-footer p {
  line-height:1.9
}
.page-heading h1 {
  font-size:28px
}
.page-heading>p:last-child {
  font-size:16px
}
.page-heading {
  margin-bottom:23px
}
.breadcrumb {
  margin-bottom:15px
}
.company-heading {
  display:block
}
.company-heading h1 {
  font-size:28px;
  overflow-wrap:anywhere
}
.company-heading .quiet-link {
  display:inline-block;
  max-width:none;
  margin-top:8px
}
.company-intro {
  margin:12px 0 20px
}
.company-intro>p {
  font-size:16px;
  line-height:1.9
}
.company-layout {
  margin-top:23px
}
.default-answer {
  padding:18px 0;
  gap:9px
}
.default-question h3 {
  font-size:16px
}
.default-answer>div:last-child>p {
  font-size:18px;
  line-height:1.9
}
.default-question>span {
  font-size:13px
}
.default-answer .source-line {
  margin-top:8px
}
.detail-link {
  font-size:15px;
  margin-top:10px
}
.company-picker {
  margin:16px 0
}
.company-result {
  grid-template-columns:20px minmax(0,1fr);
  gap:8px
}
.company-result>a,.company-result .result-actions {
  grid-column:2;
  justify-self:end;
  flex-direction:row;
  gap:15px
}
.company-result h3,.company-result h4 {
  font-size:18px
}
.company-result p {
  font-size:15px
}
.choice-row {
  gap:10px;
  flex-wrap:wrap
}
.choice-row b {
  font-size:16px
}
.discovery-index {
  grid-template-columns:1fr;
  gap:0
}
.discovery-choice {
  padding:12px 0;
  grid-template-columns:23px 1fr 16px
}
.discovery-choice b {
  font-size:16px
}
.discovery-layout {
  gap:24px
}
.discovery-results .section-heading {
  display:block
}
.discovery-results .section-heading>span {
  display:block;
  max-width:none;
  text-align:left;
  margin-top:5px
}
.compare-selectors {
  gap:15px
}
.compare-selectors h2 {
  font-size:19px;
  overflow-wrap:anywhere
}
.compare-selectors .company-search {
  padding:8px;
  font-size:16px
}
.compare-selectors .company-search::placeholder {
  font-size:13px
}
.compare-selectors .picker-status {
  font-size:13px
}
.compare-selectors .company-option {
  display:block;
  font-size:14px
}
.compare-selectors .company-option span {
  display:block
}
.comparison-pair {
  gap:15px
}
.comparison-pair h3 {
  font-size:17px;
  overflow-wrap:anywhere
}
.comparison-pair ul {
  font-size:15px;
  padding-left:18px
}
.compare-questions {
  gap:7px
}
.secondary {
  font-size:14px;
  padding:7px 11px
}
.reading-body h1 {
  font-size:27px
}
.reading-body h2 {
  font-size:22px
}
.reading-body p {
  font-size:16px
}
.reading-body .short-answer {
  font-size:21px
}
.reading-body table {
  font-size:14px
}
.reading-body .b-article-callout {
  padding:10px 14px
}
.about-page>section {
  grid-template-columns:27px minmax(0,1fr);
  gap:12px;
  padding:21px 0
}
.about-page>section h2 {
  font-size:21px
}
.about-page>section p {
  font-size:16px
}
.about-page .page-heading br {
  display:none
}
dialog {
  padding:18px;
  max-height:85dvh
}
.dialog-header h2 {
  font-size:20px
}
.evidence-row dl {
  grid-template-columns:82px minmax(0,1fr);
  gap:6px 8px
}
.evidence-row h3 {
  font-size:17px
}

}

.reading-body .b-article-meta {
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  font-size:13px;
  color:var(--muted);
  margin:16px 0
}
.reading-body .b-article-answer {
  border-left:3px solid var(--accent);
  padding:15px 20px;
  background:var(--soft);
  margin:22px 0
}
.reading-body .b-article-answer h2 {
  border:0;
  margin:0;
  padding:0;
  font-size:18px
}
.reading-body .b-article-answer p {
  font-size:19px;
  font-weight:700
}
.reading-body .b-article-visual {
  margin:20px 0;
  padding:18px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.reading-body .b-article-bar {
  display:grid;
  grid-template-columns:170px minmax(70px,1fr) 110px;
  gap:14px;
  align-items:center;
  margin:10px 0;
  font-size:14px
}
.reading-body .b-article-bar>i {
  height:14px;
  display:block;
  background:#e3e6e8
}
.reading-body .b-article-bar>i>b {
  display:block;
  height:100%;
  background:var(--accent)
}
.reading-body .b-article-bar>strong {
  text-align:right;
  font-variant-numeric:tabular-nums
}
.reading-body .article-data-scroll,.reading-body .b-article-table-wrap {
  overflow-x:auto;
  max-width:100%
}
.reading-body .article-data-scroll table {
  display:table;
  min-width:700px;
  margin:8px 0
}
.reading-body .article-data-scroll th {
  font-size:14px;
  min-width:160px;
  font-weight:500
}
.reading-body .article-data-scroll td {
  min-width:95px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.reading-body .b-article-table {
  min-width:650px
}
.reading-body .b-history {
  margin:18px 0
}
.reading-body .b-history-head,.reading-body .b-history-row {
  display:none
}

@media(max-width:560px) {
  .reading-body .b-article-bar {
  grid-template-columns:minmax(0,1fr) 90px;
  gap:5px 12px;
  font-size:14px;
  margin:15px 0
}
.reading-body .b-article-bar>span {
  grid-column:1/-1
}
.reading-body .b-article-bar>strong {
  font-size:14px
}
.reading-body .b-article-answer {
  padding:13px 15px
}
.reading-body .b-article-answer p {
  font-size:18px
}

}

.reading-body .article-data-scroll th {
  min-width:95px
}
.reading-body .article-data-scroll th:first-child {
  min-width:160px
}

@media(prefers-reduced-motion:reduce) {
  * {
  scroll-behavior:auto!important;
  transition:none!important;
  animation:none!important
}

}

/* CSP-safe article bar widths */
.b-width-0{width:0% !important}
.b-width-1{width:1% !important}
.b-width-2{width:2% !important}
.b-width-3{width:3% !important}
.b-width-4{width:4% !important}
.b-width-5{width:5% !important}
.b-width-6{width:6% !important}
.b-width-7{width:7% !important}
.b-width-8{width:8% !important}
.b-width-9{width:9% !important}
.b-width-10{width:10% !important}
.b-width-11{width:11% !important}
.b-width-12{width:12% !important}
.b-width-13{width:13% !important}
.b-width-14{width:14% !important}
.b-width-15{width:15% !important}
.b-width-16{width:16% !important}
.b-width-17{width:17% !important}
.b-width-18{width:18% !important}
.b-width-19{width:19% !important}
.b-width-20{width:20% !important}
.b-width-21{width:21% !important}
.b-width-22{width:22% !important}
.b-width-23{width:23% !important}
.b-width-24{width:24% !important}
.b-width-25{width:25% !important}
.b-width-26{width:26% !important}
.b-width-27{width:27% !important}
.b-width-28{width:28% !important}
.b-width-29{width:29% !important}
.b-width-30{width:30% !important}
.b-width-31{width:31% !important}
.b-width-32{width:32% !important}
.b-width-33{width:33% !important}
.b-width-34{width:34% !important}
.b-width-35{width:35% !important}
.b-width-36{width:36% !important}
.b-width-37{width:37% !important}
.b-width-38{width:38% !important}
.b-width-39{width:39% !important}
.b-width-40{width:40% !important}
.b-width-41{width:41% !important}
.b-width-42{width:42% !important}
.b-width-43{width:43% !important}
.b-width-44{width:44% !important}
.b-width-45{width:45% !important}
.b-width-46{width:46% !important}
.b-width-47{width:47% !important}
.b-width-48{width:48% !important}
.b-width-49{width:49% !important}
.b-width-50{width:50% !important}
.b-width-51{width:51% !important}
.b-width-52{width:52% !important}
.b-width-53{width:53% !important}
.b-width-54{width:54% !important}
.b-width-55{width:55% !important}
.b-width-56{width:56% !important}
.b-width-57{width:57% !important}
.b-width-58{width:58% !important}
.b-width-59{width:59% !important}
.b-width-60{width:60% !important}
.b-width-61{width:61% !important}
.b-width-62{width:62% !important}
.b-width-63{width:63% !important}
.b-width-64{width:64% !important}
.b-width-65{width:65% !important}
.b-width-66{width:66% !important}
.b-width-67{width:67% !important}
.b-width-68{width:68% !important}
.b-width-69{width:69% !important}
.b-width-70{width:70% !important}
.b-width-71{width:71% !important}
.b-width-72{width:72% !important}
.b-width-73{width:73% !important}
.b-width-74{width:74% !important}
.b-width-75{width:75% !important}
.b-width-76{width:76% !important}
.b-width-77{width:77% !important}
.b-width-78{width:78% !important}
.b-width-79{width:79% !important}
.b-width-80{width:80% !important}
.b-width-81{width:81% !important}
.b-width-82{width:82% !important}
.b-width-83{width:83% !important}
.b-width-84{width:84% !important}
.b-width-85{width:85% !important}
.b-width-86{width:86% !important}
.b-width-87{width:87% !important}
.b-width-88{width:88% !important}
.b-width-89{width:89% !important}
.b-width-90{width:90% !important}
.b-width-91{width:91% !important}
.b-width-92{width:92% !important}
.b-width-93{width:93% !important}
.b-width-94{width:94% !important}
.b-width-95{width:95% !important}
.b-width-96{width:96% !important}
.b-width-97{width:97% !important}
.b-width-98{width:98% !important}
.b-width-99{width:99% !important}
.b-width-100{width:100% !important}

/* A company-specific reading point: fact-led, compact, and visually distinct
   from deterministic Ask answers without another card grid. */
.company-story-block {
  max-width: 980px;
  margin: 22px 0 28px;
  padding: 16px 0 18px 18px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 4px solid var(--accent);
}
.story-block-kicker { color: var(--muted); font-size: 13px; font-weight: 650; letter-spacing: .02em; }
.company-story-block > h2 { max-width: 780px; margin: 5px 0 7px; font-size: 22px; line-height: 1.5; }
.company-story-summary { max-width: 780px; margin: 0 0 12px; font-size: 16px; line-height: 1.8; }
.story-key-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 16px; max-width: 900px; margin: 10px 0 6px; }
.story-key-facts > div { min-width: 0; padding: 9px 0; border-top: 1px solid var(--line); }
.story-key-facts dt { color: var(--muted); font-size: 13px; }
.story-key-facts dd { margin: 2px 0 0; font-size: 17px; font-weight: 700; font-variant-numeric: tabular-nums; }
.story-key-facts dd small { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; font-weight: 400; }
.story-period { margin: 6px 0 0; color: var(--muted); font-size: 13px; }
.story-next-questions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 14px; margin-top: 13px; }
.story-next-questions > span { color: var(--muted); font-size: 13px; }
.story-question,.story-article-link { display: inline-block; padding: 4px 0; color: var(--accent); font-size: 14px; font-weight: 650; text-align: left; }
.story-article-link { margin-top: 7px; }
.story-secondary { max-width: 860px; margin-top: 13px; border-top: 1px solid var(--line); }
.story-secondary > summary { padding: 10px 0 2px; cursor: pointer; font-size: 14px; font-weight: 650; }
.story-secondary article { padding: 10px 0; border-top: 1px solid var(--line); }
.story-secondary h3 { margin: 0; font-size: 16px; }
.story-secondary article > p { max-width: 740px; margin: 5px 0; font-size: 15px; line-height: 1.7; }
@media(max-width:650px) {
  .company-story-block { margin: 17px 0 23px; padding: 13px 0 15px 13px; }
  .company-story-block > h2 { font-size: 20px; line-height: 1.5; }
  .company-story-summary { font-size: 16px; }
  .story-key-facts { grid-template-columns: minmax(0,1fr); }
  .story-next-questions { align-items: flex-start; flex-direction: column; }
}

/* New-listing identity pages use the same external stylesheet as the SPA. */
.listing-page { max-width: 920px; margin: 0 auto; padding: 48px 24px 80px; }
.listing-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid #394144; border-bottom: 1px solid #c8ced0; margin: 28px 0; }
.listing-meta p { margin: 0; padding: 16px 0; border-bottom: 1px solid #c8ced0; }
.listing-meta p:nth-last-child(-n+2) { border-bottom: 0; }
.listing-status { border-left: 3px solid #9a513d; padding: 16px 20px; background: rgba(154,81,61,.06); margin: 24px 0; }
@media(max-width:600px) {
  .listing-page { padding: 32px 18px 56px; }
  .listing-meta { display: block; }
  .listing-meta p:nth-last-child(2) { border-bottom: 1px solid #c8ced0; }
}
