:root {
  color-scheme: light;
  --seo-ink: #14211c;
  --seo-muted: #3d4742;
  --seo-paper: #ffffff;
  --seo-header: #0c4a32;
  --seo-rule: #d7e0db;
  --seo-link: #0f5c38;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  max-width: 100%;
  overflow-x: clip;
  background: var(--seo-paper);
  color: var(--seo-ink);
  font: 17px/1.5 Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, serif;
}

body {
  padding: 0 16px 48px;
}

a { color: var(--seo-link); }

img, table { max-width: 100%; }

.seo-top {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  align-items: center;
  max-width: 760px;
  margin: 0 auto;
  padding: 14px 0;
  border-bottom: 3px solid var(--seo-header);
}

.seo-brand {
  color: var(--seo-header);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
}

.seo-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}

.seo-nav a {
  color: var(--seo-header);
  font: 13px/1.3 "Avenir Next", "Segoe UI", sans-serif;
  font-weight: 650;
  text-decoration: none;
}

main {
  max-width: 760px;
  margin: 0 auto;
  min-width: 0;
}

h1 {
  margin: 12px 0 8px;
  font-size: 2rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

h2 {
  margin: 28px 0 8px;
  font-size: 1.15rem;
}

.seo-crumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  color: var(--seo-muted);
  font: 13px/1.4 "Avenir Next", "Segoe UI", sans-serif;
}

.seo-dates, .seo-synopsis, .seo-index p, .seo-tickers p {
  color: var(--seo-muted);
}

.seo-hero {
  display: block;
  width: 100%;
  height: auto;
  margin: 12px 0;
  background: #e8e6e1;
}

.seo-tickers, .seo-index {
  margin: 0;
  padding: 0;
  list-style: none;
}

.seo-tickers li, .seo-index li {
  padding: 10px 0;
  border-top: 1px solid var(--seo-rule);
}

.seo-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  font: 15px/1.4 "Avenir Next", "Segoe UI", sans-serif;
}

th, td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--seo-rule);
  text-align: left;
}

blockquote {
  margin: 0;
  padding-left: 12px;
  border-left: 3px solid var(--seo-header);
  color: var(--seo-muted);
}

.seo-links, .seo-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}

.seo-pager { margin-top: 20px; }

.seo-companies {
  margin-top: 8px;
}

.seo-companies h2 {
  margin: 22px 0 8px;
  color: #14211c;
  font-size: 1.35rem;
  line-height: 1.25;
}

.analysis-section,
.analysis-block {
  margin-top: 28px;
  min-width: 0;
}

.analysis-section h2,
.analysis-block h2 {
  margin: 0 0 8px;
  color: #14211c;
  font-size: 1.35rem;
  line-height: 1.25;
}

.analysis-group h3 {
  margin: 14px 0 6px;
  font-size: 1rem;
}

.analysis-group ul,
.analysis-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.analysis-group li,
.analysis-links li {
  padding: 8px 0;
  border-top: 1px solid var(--seo-rule);
}

.analysis-note,
.analysis-footer,
.analysis-source {
  color: var(--seo-muted);
  font-size: 0.95rem;
}

.analysis-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}

.analysis-sparks {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.analysis-spark-card {
  margin: 0;
}

.analysis-spark,
.analysis-spark-market {
  display: block;
  width: 140px;
  height: 36px;
}

.analysis-spark polyline,
.analysis-spark-market polyline {
  fill: none;
  stroke: #0c4a32;
  stroke-width: 1.6;
}

.analysis-spark-market polyline { stroke: #5c6b64; }

.analysis-locator {
  display: block;
  width: 160px;
  height: 80px;
  max-width: 100%;
}

.analysis-locator-field {
  fill: #f4f7f5;
  stroke: #d7e0db;
}

.analysis-locator-mark { fill: #0c4a32; }

.analysis-score b {
  color: #0c4a32;
  font-size: 1.6rem;
}

.analysis-early {
  display: inline-block;
  margin-left: 8px;
  padding: 0 6px;
  border: 1px solid #0c4a32;
  color: #0c4a32;
  font: 12px/1.6 "Avenir Next", "Segoe UI", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
