@font-face { font-family: Circular; src: url('assets/CircularStd-Book.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: Circular; src: url('assets/CircularStd-Medium.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: Circular; src: url('assets/CircularStd-Bold.woff2') format('woff2'); font-weight: 700; font-display: swap; }
:root { --page:#242424; --ink:#171717; --chalk:#f5f5f5; --muted:#b0b0b0; --lime:#c8f05a; --line:#3a3a3a; --teal:#48e0d0; --coral:#f07e67; }
* { box-sizing:border-box; letter-spacing:0; }
html { scroll-behavior:smooth; scroll-padding-top:78px; }
body { margin:0; color:var(--chalk); background:#151515; font-family:Circular,Arial,sans-serif; font-size:15px; line-height:1.45; -webkit-font-smoothing:antialiased; }
button,input,textarea,select { font:inherit; }
button,select { cursor:pointer; }
a { color:inherit; }
button { border:0; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
h1,h2,h3,p,figure { margin:0; }
.muted { color:var(--muted); }
.accent { color:var(--lime); }
.toolbar { position:sticky; z-index:10; top:0; min-height:60px; display:flex; gap:12px; align-items:center; padding:12px 28px; background:#1b1b1b; border-bottom:1px solid var(--line); }
.toolbar-back { width:30px; height:34px; display:grid; place-items:center; border-radius:4px; color:var(--chalk); text-decoration:none; }
.toolbar-back svg { width:18px; height:18px; }
.toolbar-back:hover { background:#3a3a3a; }
.toolbar-brand { display:flex; align-items:center; }
.toolbar-brand img { width:94px; height:auto; }
.document-name { font-size:14px; }
.toolbar-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }
select { background:#242424; color:var(--chalk); border:1px solid #444; border-radius:4px; height:34px; padding:0 26px 0 10px; max-width:100%; }
.icon-button { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border-radius:4px; background:transparent; }
.icon-button:hover { background:#3a3a3a; }
.icon-button img,.export-button img { width:18px; height:18px; filter:invert(1); }
.page-nav { position:fixed; top:103px; left:25px; width:185px; font-size:13px; }
.nav-label { margin:0 0 20px 10px; color:#999; }
.page-nav a { display:flex; gap:12px; padding:9px 10px; text-decoration:none; color:#a7a7a7; border-left:2px solid transparent; }
.page-nav a span { width:18px; font-variant-numeric:tabular-nums; color:#888; }
.page-nav a[aria-current] { border-color:var(--lime); color:var(--chalk); background:#202020; }
#report { width:816px; margin:32px auto 56px; }
.report-page { width:816px; height:1056px; background:var(--page); padding:40px 56px 24px; margin-bottom:28px; display:flex; flex-direction:column; box-shadow:0 6px 24px #0002; scroll-margin-top:0; }
.page-header { display:flex; justify-content:space-between; align-items:center; min-height:38px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.tabular-logo { width:112px; height:auto; display:block; }
.running-title,.issue { color:var(--muted); font-size:12px; }
.page-content { padding-top:20px; }
.page-content > h2 { font-size:34px; line-height:1.14; font-weight:700; margin-bottom:16px; }
.eyebrow { font-size:13px; color:var(--muted); margin-bottom:12px; }
.standfirst { font-size:16px; color:var(--muted); line-height:1.48; margin-bottom:20px; max-width:675px; }
.contents-list { list-style:none; margin:32px 0 0; padding:0; }
.contents-list li { border-top:1px solid var(--line); }
.contents-list li:last-child { border-bottom:1px solid var(--line); }
.contents-list a { display:grid; grid-template-columns:46px 1fr auto; gap:12px; align-items:baseline; padding:15px 0; text-decoration:none; }
.contents-list a:hover strong { color:var(--lime); }
.contents-list span { color:var(--lime); font-size:13px; font-variant-numeric:tabular-nums; }
.contents-list strong { font-size:16px; font-weight:500; }
.contents-list small { color:var(--muted); font-size:12px; text-align:right; }
h3 { font-size:15px; font-weight:700; line-height:1.35; }
.page-footer { margin-top:auto; display:flex; justify-content:space-between; gap:12px; color:#a7a7a7; font-size:11px; padding-top:14px; }
.footer-sep { padding:0 8px; color:#666; }
.cover .page-content { display:flex; flex:1; flex-direction:column; padding-top:52px; }
.client-title { display:flex; align-items:center; gap:20px; margin-bottom:19px; }
.relay-mark { width:55px; height:46px; flex:0 0 55px; }
h1 { font-size:43px; line-height:1.1; font-weight:700; }
.company-descriptor { color:var(--muted); font-size:13px; transform:skewX(-5deg); transform-origin:left; margin-bottom:14px; }
.report-purpose { font-size:15px; line-height:1.45; color:var(--muted); max-width:650px; }
.page-content > .cover-headline { font-size:29px; line-height:1.24; color:var(--lime); margin:32px 0 28px; }
.finding-stack { display:flex; flex-direction:column; gap:21px; }
.finding-stack h3 { font-size:13px; margin-bottom:7px; }
.finding-stack p { font-size:15px; line-height:1.45; color:var(--muted); max-width:655px; }
.finding-stack .emphasis { color:var(--chalk); font-size:17px; font-weight:700; }
.cover-context { margin-top:auto; padding-top:28px; color:var(--muted); max-width:560px; }
.cover-context h3 { color:var(--chalk); font-size:13px; margin-bottom:7px; }
.cover-context p { font-size:13px; line-height:1.45; margin:0; }
.cover-context p + p { margin-top:4px; }
.metric-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin:26px 0 30px; }
.key-metrics > h3 { color:var(--chalk); font-size:13px; margin-top:0; }
.key-metrics .metric-strip { margin-top:12px; }
.metric-strip strong { display:block; font-size:40px; line-height:1; font-weight:500; color:var(--lime); margin-bottom:10px; }
.metric-strip span { display:block; font-size:13px; color:var(--muted); }
.metric-strip .inline-metric { display:inline; }
.metric-strip strong .inline-metric { font-size:inherit; line-height:inherit; font-weight:inherit; color:inherit; }
.numbered-findings { display:grid; gap:24px; }
.numbered-findings section { display:grid; grid-template-columns:25px 1fr; gap:16px; }
.finding-number { color:var(--lime); font-size:13px; padding-top:2px; font-variant-numeric:tabular-nums; }
.numbered-findings h3 { margin-bottom:7px; font-size:17px; }
.numbered-findings p { color:var(--muted); font-size:15px; }
.decision-band,.takeaway { margin-top:22px; padding-left:16px; border-left:2px solid var(--lime); }
.decision-band h3,.takeaway h3 { color:var(--lime); margin-bottom:7px; font-size:13px; }
.decision-band p,.takeaway p { font-size:16px; line-height:1.4; }
.source-note { font-size:11.5px; line-height:1.5; color:#a7a7a7; margin-top:14px; }
.source-note a { text-underline-offset:3px; }
#page-3 .page-content { display:flex; flex:1; flex-direction:column; }
#page-3 .standfirst { margin-bottom:12px; }
.signal-list { display:grid; gap:25px; }
.signal-heading { display:grid; grid-template-columns:25px 1fr 85px; align-items:center; gap:16px; margin-bottom:9px; }
.signal-heading h3 { font-size:17px; }
.signal-heading strong { text-align:right; color:var(--lime); font-size:30px; line-height:1; }
.signal-heading small { font-size:12px; margin-left:5px; color:var(--muted); }
.signal-list p { margin-left:41px; color:var(--muted); }
.workflow-line { display:block; }
.workflow-line + .workflow-line { margin-top:4px; }
.signal-list > section > p { margin-right:150px; }
.signal-list .signal-action { color:var(--chalk); margin-top:7px; font-size:12px; }
.signal-action a { color:var(--lime); white-space:nowrap; text-underline-offset:3px; }
.data-scope { border-top:1px solid var(--line); margin-top:28px; padding-top:18px; }
.data-scope h3 { font-size:13px; }
.data-analyzed { margin-top:28px; }
#page-4 .page-content { display:flex; flex:1; flex-direction:column; }
#page-4 .data-analyzed { margin-top:auto; padding-top:36px; padding-bottom:56px; }
.data-analyzed h3 { font-size:13px; margin-bottom:10px; }
.data-analyzed ul { display:grid; gap:8px; margin:0; padding-left:18px; color:var(--muted); font-size:13px; }
.scope-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:12px; font-size:13px; color:var(--muted); }
.scope-grid strong { display:block; color:var(--chalk); font-weight:500; margin-bottom:4px; }
.analysis-block { margin-top:14px; }
.figure-heading { display:flex; gap:20px; justify-content:space-between; align-items:baseline; margin-bottom:11px; }
.figure-heading h3 { font-size:14px; }
.figure-heading > span { font-size:11.5px; color:var(--muted); text-align:right; }
.chart { display:block; width:100%; height:auto; object-fit:contain; }
.concentration-chart { aspect-ratio:8/1.8; }
.margin-chart { aspect-ratio:8/1.8; }
.predictor-list { display:grid; }
.predictor-row { display:grid; grid-template-columns:205px minmax(0,1fr) 155px; gap:13px; align-items:center; min-height:64px; border-bottom:1px solid var(--line); }
.predictor-row:first-child { border-top:1px solid var(--line); }
.predictor-label { font-size:13px; line-height:1.35; color:var(--chalk); }
.predictor-track { display:block; height:14px; background:#343434; }
.predictor-bar { display:block; height:100%; background:#a7a7a7; }
.predictor-row.strongest .predictor-bar { background:var(--lime); }
.predictor-row.uncertain .predictor-bar { background:#686868; }
.predictor-result { display:block; text-align:right; font-variant-numeric:tabular-nums; }
.predictor-result strong { display:block; color:var(--chalk); font-size:17px; line-height:1.1; }
.predictor-row.strongest .predictor-result strong { color:var(--lime); }
.predictor-result small { display:block; color:var(--muted); font-size:10.5px; margin-top:4px; white-space:nowrap; }
figcaption,.chart-note { font-size:12px; line-height:1.4; color:var(--muted); margin-top:7px; }
.legend-chip { display:inline-block; width:9px; height:9px; margin-right:6px; }
.legend-chip:not(:first-child) { margin-left:20px; }
.lime { background:var(--lime); }.gray { background:#454545; }
.funnel { display:grid; gap:9px; }
.funnel > div { display:grid; grid-template-columns:168px 1fr 60px; gap:16px; align-items:center; font-size:13px; }
.funnel strong { text-align:right; font-weight:500; }
.bar-track { height:13px; background:#303030; }
.bar-track > span { display:block; background:#777; height:100%; }
.bar-track .lime-bar { background:var(--lime); }
table { width:100%; border-collapse:collapse; font-size:13px; font-variant-numeric:tabular-nums; }
th,td { text-align:right; padding:10px 8px; border-bottom:1px solid #333; }
th:first-child,td:first-child { text-align:left; padding-left:0; }
th:last-child,td:last-child { padding-right:0; }
thead th { font-size:11px; font-weight:400; color:var(--muted); padding-top:0; border-bottom:1px solid #484848; }
tbody th { font-weight:500; }
td { color:var(--muted); }
tfoot th,tfoot td { color:var(--chalk); font-weight:700; border-bottom:0; }
.economics-table th,.economics-table td { padding-top:5px; padding-bottom:5px; }
.method-note { margin-top:18px; }
.method-note h3,.sample-note h3 { font-size:13px; margin-bottom:7px; }
.method-note p,.sample-note p { font-size:13px; color:var(--muted); }
.compact { margin-top:14px; }
#page-7 .takeaway { margin-top:32px; }
.compact p { font-size:14px; }
.test-design { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.test-design h3 { font-size:14px; margin-bottom:6px; }
.test-design p { font-size:14px; color:var(--muted); }
.block-title { font-size:14px; margin-bottom:13px; }
.scorecard th:first-child { width:30%; }
.scorecard td { text-align:left; font-size:12.5px; padding-left:18px; }
.scorecard tbody th { font-size:13px; }
.test-scope { margin:0; }
.test-scope > div { display:grid; grid-template-columns:170px minmax(0,1fr); gap:22px; padding:11px 0; border-bottom:1px solid var(--line); }
.test-scope > div:first-child { border-top:1px solid var(--line); }
.test-scope dt { font-size:13px; font-weight:700; line-height:1.45; }
.test-scope dd { margin:0; color:var(--muted); font-size:14px; line-height:1.45; }
.test-economics { margin-top:auto; margin-bottom:18px; border-left:2px solid var(--lime); padding-left:17px; }
.test-economics h3 { color:var(--chalk); font-size:13px; margin-bottom:5px; }
.test-economics > strong { display:block; color:var(--lime); font-size:36px; line-height:1.1; font-weight:500; margin-bottom:8px; }
.test-economics p { color:var(--muted); font-size:13px; line-height:1.45; max-width:620px; }
.model-method { margin-top:20px; }
.model-method h3 { font-size:13px; margin-bottom:6px; }
.model-method p { color:var(--muted); font-size:13px; line-height:1.45; }
.timeline { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:14px; }
.timeline span { color:var(--lime); font-size:11px; }
.timeline h3 { font-size:14px; margin:5px 0; }
.timeline p { color:var(--muted); font-size:12.5px; }
.sample-note { margin-top:14px; }
.decision-rules { margin-top:12px; display:grid; gap:7px; }
.decision-rules p { font-size:13px; color:var(--muted); }
.decision-rules strong { display:inline-block; min-width:98px; color:var(--chalk); }
#page-8 .standfirst { margin-bottom:15px; }
#page-8 .page-content { display:flex; flex:1; flex-direction:column; }
#page-8 .analysis-block { margin-top:10px; }
#page-8 .timeline { margin-top:10px; }
#page-8 .sample-note { margin-top:10px; }
#page-8 .decision-rules { margin-top:8px; }
#page-9 .page-content { display:flex; flex:1; flex-direction:column; justify-content:center; padding-top:0; padding-bottom:24px; }
.conclusion-body { border-left:2px solid var(--lime); padding-left:17px; margin-top:20px; max-width:645px; }
#page-9 .conclusion-decision { border:0; padding:0; margin:0; max-width:625px; }
.conclusion-decision p { font-size:18px; line-height:1.45; }
#page-9 .conclusion-impact { border:0; padding:0; margin:28px 0 0; }
.conclusion-impact p { max-width:560px; }
#page-5 .analysis-block { margin-top:10px; }
#page-5 .takeaway { margin-top:14px; }
dialog { color:var(--chalk); background:#242424; border:1px solid #484848; border-radius:8px; padding:24px; width:min(540px,calc(100% - 24px)); max-height:85vh; }
dialog::backdrop { background:#0009; }
.dialog-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.dialog-heading h2 { font-size:22px; }
.note-fields { display:grid; grid-template-columns:90px 1fr; gap:14px; }
label { display:block; font-size:12px; }
label input,label select,label textarea { display:block; width:100%; margin:7px 0 14px; background:#1c1c1c; border:1px solid #484848; color:var(--chalk); border-radius:4px; padding:8px; }
label select { height:37px; }
textarea { resize:vertical; min-height:95px; }
.form-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.form-actions small { color:var(--muted); }
.primary-button { background:var(--lime); color:var(--ink); padding:8px 16px; border-radius:4px; font-weight:700; }
#notes-list { display:grid; gap:16px; margin:24px 0; }
.review-note { border-top:1px solid var(--line); padding-top:14px; }
.review-note p { white-space:pre-wrap; overflow-wrap:anywhere; margin-top:6px; }
.review-note label { color:var(--muted); display:flex; gap:8px; align-items:center; }
.review-note input { width:15px; height:15px; margin:0; }
.review-note.resolved p { text-decoration:line-through; color:var(--muted); }
.export-button { color:var(--chalk); background:#333; padding:9px 12px; display:flex; align-items:center; gap:9px; border-radius:4px; }
.export-button:disabled { opacity:.4; cursor:default; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.noscript-warning { padding:20px; color:var(--coral); }
@media (min-width:1250px) { #report { margin-left:calc(50% - 322px); margin-right:0; } }
@media (max-width:1249px) { .page-nav { display:none; } }
@media screen and (max-width:850px) {
  #report { width:100%; margin:18px 0 30px; }
  .report-page { width:100%; height:auto; min-height:850px; padding:34px 28px 24px; margin-bottom:16px; }
  .cover .page-content { padding-top:30px; }
  .toolbar { padding:10px 16px; gap:14px; }
  .document-name { display:none; }
  .toolbar-brand img { width:78px; }
  .toolbar select { max-width:180px; }
  .page-footer { margin-top:32px; }
  h1 { font-size:36px; }
  .client-title { gap:14px; }
  .relay-mark { width:44px; flex-basis:44px; }
  .report-page > .page-content { flex:1; }
}
@media screen and (max-width:540px) {
  .report-page { padding:26px 22px 22px; min-height:780px; }
  .page-header { gap:18px; }
  .running-title { text-align:right; font-size:11px; }
  .tabular-logo { width:95px; }
  .toolbar select { width:135px; font-size:12px; padding-right:12px; }
  .toolbar-actions { gap:3px; }
  .toolbar { gap:8px; padding:10px 12px; }
  h1 { font-size:30px; }
  .client-title { align-items:flex-start; }
  .relay-mark { width:36px; height:36px; flex-basis:36px; }
  .company-descriptor { transform:none; font-style:italic; }
  .page-content > h2 { font-size:29px; }
  .contents-list { margin-top:25px; }
  .contents-list a { grid-template-columns:34px 1fr; gap:8px; padding:13px 0; }
  .contents-list small { grid-column:2; text-align:left; margin-top:-5px; }
  .page-content > .cover-headline { font-size:25px; }
  .metric-strip { gap:12px; }
  .metric-strip strong { font-size:30px; }
  .metric-strip span { font-size:11px; }
  .signal-heading { grid-template-columns:18px 1fr 62px; gap:9px; }
  .signal-heading h3 { font-size:15px; }
  .signal-heading strong { font-size:25px; }
  .signal-list p { margin-left:27px; font-size:14px; }
  .signal-list > section > p { margin-right:0; }
  .figure-heading { display:block; }
  .figure-heading > span { display:block; text-align:left; margin-top:5px; }
  .funnel > div { grid-template-columns:110px 1fr 48px; gap:8px; font-size:11px; }
  table { font-size:11px; }
  th,td { padding:8px 5px; }
  thead th { font-size:10px; }
  .test-design,.scope-grid { grid-template-columns:1fr; gap:15px; }
  .data-analyzed ul { gap:7px; }
  .timeline { grid-template-columns:1fr; gap:18px; }
  .scorecard td { font-size:12px; padding-left:10px; }
  .scorecard tbody th { font-size:12px; }
  .decision-rules strong { display:block; }
  .chart { width:100%; }
  .test-scope > div { grid-template-columns:1fr; gap:4px; padding:12px 0; }
  .test-economics { margin-top:38px; }
  .predictor-row { grid-template-columns:1fr auto; gap:7px 12px; padding:11px 0; }
  .predictor-track { grid-column:1 / -1; grid-row:2; }
  .predictor-result { grid-column:2; grid-row:1; }
  .predictor-label { grid-column:1; grid-row:1; }
}
@page { size:letter portrait; margin:0; }
@media print {
  html { scroll-behavior:auto; }
  body { background:var(--page); -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .toolbar,.page-nav,dialog,.noscript-warning { display:none !important; }
  #report { width:8.5in; margin:0; }
  .report-page { width:8.5in; height:11in; margin:0; padding:40px 56px 24px; box-shadow:none; break-after:page; break-inside:avoid; }
  .report-page:last-child { break-after:auto; }
  a { text-decoration:none; }
}
