.ic-shell {
  --ic-ink: #102b41;
  --ic-muted: #526b7b;
  --ic-line: #d5e1e9;
  --ic-green: #007d68;
  --ic-red: #b23c3c;
  --ic-blue: #07638d;
  --ic-amber: #97620d;
  max-width: 1580px;
  margin: 0 auto;
  padding: 12px 18px 32px;
  color: var(--ic-ink);
  font-size: 15px;
  line-height: 1.55;
}
.ic-shell *,
.ic-dialog * {
  box-sizing: border-box;
}
.ic-shell h1,
.ic-shell h2,
.ic-shell h3,
.ic-shell h4,
.ic-shell p {
  margin: 0;
}
.ic-shell h2 {
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  line-height: 1.18;
}
.ic-shell h3 {
  font-size: 1.13rem;
  line-height: 1.3;
}
.ic-shell h4 {
  font-family: inherit;
  font-size: 0.95rem;
  line-height: 1.4;
}
.ic-shell p {
  color: var(--ic-muted);
}
.ic-kicker {
  display: block;
  font-size: 0.67rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  line-height: 1.5;
}
.ic-breadcrumb {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 0 12px;
  font-size: 0.81rem;
}
.ic-back {
  margin-left: auto;
}
.ic-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  background: #092238;
  color: #fff;
  border-top: 4px solid #009579;
  box-shadow: 0 10px 25px #122d4112;
}
.ic-hero > div {
  padding: 28px 30px;
}
.ic-hero .ic-kicker {
  color: #91b6c7;
}
.ic-hero h1 {
  font-size: clamp(1.9rem, 3.1vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
  margin: 10px 0;
}
.ic-hero h1 span {
  font-size: 0.7em;
  font-weight: 600;
  color: #d5e7ee;
}
.ic-hero p {
  color: #b9cedc;
}
.ic-hero .ic-company {
  font-size: 1rem;
  color: #e3edf2;
}
.ic-hero-aside {
  border-left: 1px solid #ffffff20;
  background: linear-gradient(125deg, #0a2c42, #0c3749);
}
.ic-hero-aside h2 {
  font-size: clamp(1.4rem, 2vw, 1.8rem);
  margin: 10px 0 12px;
}
.ic-hero-aside a {
  display: inline-block;
  color: #86dec8;
  font-size: 0.8rem;
  font-weight: 600;
  margin-top: 14px;
}
.ic-hero-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 26px;
  border-top: 1px solid #ffffff22;
  padding-top: 15px;
  gap: 16px;
}
.ic-hero-metrics div {
  display: flex;
  flex-direction: column;
}
.ic-hero-metrics span,
.ic-hero-metrics small {
  font-size: 0.68rem;
  color: #a7c2d2;
}
.ic-hero-metrics strong {
  font-size: 1.15rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  color: #fff;
}
.ic-nav {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border: 1px solid var(--ic-line);
  margin: 12px 0;
  background: #f5f8fa;
}
.ic-nav a {
  display: flex;
  flex-direction: column;
  padding: 12px 14px;
  color: var(--ic-green);
  font-size: 0.62rem;
  border-right: 1px solid var(--ic-line);
  text-decoration: none;
}
.ic-nav a:last-child {
  border-right: 0;
}
.ic-nav span {
  color: var(--ic-ink);
  font-size: 0.78rem;
  font-weight: 650;
  margin-top: 2px;
}
.ic-nav a:hover,
.ic-nav a[aria-current] {
  background: #e3f1ed;
  box-shadow: inset 0 -3px var(--ic-green);
}
.ic-section {
  border: 1px solid var(--ic-line);
  border-top: 3px solid var(--ic-blue);
  background: #fff;
  margin: 22px 0;
  scroll-margin-top: 18px;
  min-width: 0;
}
.ic-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 21px 24px;
  background: linear-gradient(90deg, #f3f8fa, #fff);
  border-bottom: 1px solid var(--ic-line);
}
.ic-section-head .ic-kicker {
  color: var(--ic-green);
  margin-bottom: 6px;
}
.ic-section-head p {
  font-size: 0.84rem;
  margin-top: 8px;
  max-width: 850px;
}
.ic-date {
  font-size: 0.75rem;
  color: var(--ic-muted);
  text-align: right;
}
.ic-button {
  border: 1px solid #0c4b6a;
  background: #0c4b6a;
  color: #fff;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 15px;
  text-decoration: none;
  font-size: 0.79rem;
  font-weight: 650;
  cursor: pointer;
  line-height: 1.35;
  flex-shrink: 0;
}
.ic-button:hover {
  background: #0e6387;
  color: #fff;
}
.ic-secondary {
  background: white;
  color: #145c7b;
  border-color: #b7cdd9;
}
.ic-text-button {
  background: transparent;
  border: 0;
  color: var(--ic-blue);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 650;
  padding: 8px 0;
  text-decoration: underline;
}
.ic-shell :focus-visible,
.ic-dialog :focus-visible {
  outline: 3px solid #cb971c;
  outline-offset: 3px;
}
.ic-explainer {
  border: 1px solid var(--ic-line);
  background: #f7fafb;
  padding: 11px 15px;
  font-size: 0.79rem;
  margin: 12px 0;
}
.ic-explainer summary {
  cursor: pointer;
  font-weight: 650;
  color: #245873;
  min-height: 24px;
}
.ic-explainer[open] > summary {
  margin-bottom: 12px;
}
.ic-section > .ic-explainer {
  margin: 15px 20px;
}
.ic-explainer p + p {
  margin-top: 10px;
}
.ic-data-notes {
  border-left: 3px solid #c49424;
}
.ic-data-notes ul {
  margin: 8px 0;
}
.ic-grid {
  display: grid;
  gap: 18px;
  min-width: 0;
}
.ic-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ic-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ic-section > .ic-grid {
  padding: 18px 20px;
}
.ic-section > .ic-grid + .ic-grid {
  padding-top: 0;
}
.ic-card {
  min-width: 0;
  border: 1px solid var(--ic-line);
  padding: 18px;
  background: white;
}
.ic-card > h3 {
  margin-bottom: 12px;
}
.ic-card > p {
  font-size: 0.82rem;
}
.ic-section > .ic-card {
  margin: 0 20px 18px;
}
.ic-chart {
  height: 265px;
  position: relative;
  min-width: 0;
  width: 100%;
  margin: 10px 0;
}
.ic-chart canvas {
  display: block;
  max-width: 100%;
}
.ic-three .ic-chart {
  height: 245px;
}
.ic-chart-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.ic-chart-head > span {
  font-size: 0.7rem;
  color: var(--ic-muted);
}
.ic-caption {
  font-size: 0.73rem !important;
  color: #526b7b !important;
  line-height: 1.5;
  margin-top: 10px !important;
}
.ic-pad {
  padding: 0 22px 15px;
}
.ic-value-layout {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
}
.ic-assumptions {
  background: #f3f7f9;
  border-right: 1px solid var(--ic-line);
  padding: 24px;
}
.ic-assumptions > p {
  font-size: 0.78rem;
  margin: 9px 0 20px;
}
.ic-assumptions label {
  font-size: 0.78rem;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-weight: 600;
  margin-top: 20px;
}
.ic-assumptions output {
  color: var(--ic-green);
  font-variant-numeric: tabular-nums;
}
.ic-assumptions input[type="range"] {
  width: 100%;
  accent-color: var(--ic-green);
  margin: 8px 0 15px;
  cursor: pointer;
}
.ic-assumptions details {
  border-top: 1px solid var(--ic-line);
  margin-top: 12px;
  padding-top: 12px;
  font-size: 0.78rem;
}
.ic-assumptions details p {
  font-size: 0.74rem;
  margin-top: 10px;
}
.ic-assumptions small {
  display: block;
  font-size: 0.68rem;
  margin-top: 18px;
  color: var(--ic-muted);
}
.ic-shell input:not([type="range"]):not([type="hidden"]),
.ic-shell select,
.ic-shell textarea {
  border: 1px solid #b4c8d6;
  border-radius: 0;
  background: #fff;
  color: var(--ic-ink);
  padding: 9px 10px;
  font-family: inherit;
  min-height: 40px;
  font-size: 14px;
  max-width: 100%;
  width: 100%;
}
.ic-shell textarea {
  resize: vertical;
}
.ic-shell label {
  font-size: 0.8rem;
  font-weight: 600;
}
.ic-value-evidence {
  padding: 22px 25px;
}
.ic-value-reading {
  display: flex;
  align-items: center;
  gap: 25px;
  border-bottom: 1px solid var(--ic-line);
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.ic-value-reading > div {
  flex: 0 0 240px;
}
.ic-value-reading strong {
  display: block;
  font-size: 2.5rem;
  line-height: 1.2;
  color: var(--ic-green);
  font-family: "Source Serif 4", Georgia, serif;
  font-variant-numeric: tabular-nums;
}
.ic-value-reading #ic-model-gap {
  font-size: 0.8rem;
}
.ic-value-reading > p {
  font-size: 0.87rem;
}
.ic-heatmap {
  overflow-x: auto;
}
.ic-heatmap table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 4px;
  table-layout: fixed;
  font-size: 0.78rem;
}
.ic-heatmap th {
  font-size: 0.72rem;
  padding: 4px;
  color: #526b7b;
}
.ic-heatmap td {
  padding: 0 !important;
  text-align: center;
}
.ic-heatmap button {
  border: 1px solid transparent;
  padding: 12px 4px;
  width: 100%;
  min-height: 44px;
  font-size: 0.85rem;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  font-weight: 600;
}
.ic-heatmap .ic-above {
  background: #e0f1eb;
  color: #06634f;
}
.ic-heatmap .ic-below {
  background: #f8e9e6;
  color: #9b3435;
}
.ic-heatmap .ic-chosen {
  border: 2px solid #102b41;
  box-shadow: 0 0 0 1px white inset;
}
.ic-value-evidence > .ic-chart {
  height: 220px;
}
.ic-table-wrap {
  overflow-x: auto;
  max-width: 100%;
  scrollbar-width: thin;
}
.ic-table-wrap table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.76rem;
  font-variant-numeric: tabular-nums;
}
.ic-table-wrap th,
.ic-table-wrap td {
  padding: 10px 12px;
  text-align: right;
  border-bottom: 1px solid var(--ic-line);
  white-space: nowrap;
}
.ic-table-wrap th:first-child,
.ic-table-wrap td:first-child {
  text-align: left;
}
.ic-table-wrap thead {
  background: #f2f6f8;
  color: #385568;
  font-size: 0.7rem;
}
.ic-table-wrap td {
  color: #183b52;
}
.ic-table-wrap small {
  display: block;
  white-space: normal;
}
.ic-table-wrap caption {
  text-align: left;
  font-size: 0.73rem;
  padding: 8px 0;
  color: var(--ic-muted);
}
.ic-empty {
  padding: 26px;
  background: #f7f9fa;
}
.ic-empty p {
  font-size: 0.85rem;
  margin-top: 8px;
  max-width: 700px;
}
.ic-insights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 18px 20px 0;
  gap: 12px;
}
.ic-insight {
  padding: 14px 16px;
  border-top: 3px solid var(--ic-green);
  background: #f1f8f5;
  min-width: 0;
}
.ic-insight.ic-negative {
  border-color: var(--ic-red);
  background: #fcf3f1;
}
.ic-insight.ic-neutral {
  border-color: #8096a2;
  background: #f4f7f9;
}
.ic-insight h3 {
  font-family: inherit;
  font-size: 0.85rem;
}
.ic-insight p {
  font-size: 0.77rem;
  margin: 8px 0;
}
.ic-insight a,
.ic-case-side a {
  font-size: 0.73rem;
  font-weight: 600;
}
.ic-callout {
  padding: 13px 16px;
  background: #f0f6f8;
  border-left: 3px solid var(--ic-blue);
  font-size: 0.82rem;
  margin: 12px 0 !important;
}
.ic-range-buttons {
  display: flex;
  gap: 3px;
}
.ic-range-buttons button {
  border: 1px solid var(--ic-line);
  background: #f7f9fa;
  color: var(--ic-ink);
  font-size: 0.73rem;
  padding: 7px 10px;
  min-height: 34px;
  cursor: pointer;
}
.ic-range-buttons button[aria-pressed="true"] {
  color: white;
  background: #0c4b6a;
}
.ic-select-label {
  font-size: 0.65rem !important;
  color: var(--ic-muted);
}
.ic-select-label select {
  font-size: 0.75rem;
  min-height: 34px;
  padding: 5px;
}
.ic-range-card {
  font-size: 0.78rem;
  padding: 12px 0;
}
.ic-range-card strong {
  font-size: 1.15rem;
  color: var(--ic-green);
  margin-right: 10px;
}
.ic-case-side {
  border: 1px solid var(--ic-line);
  border-top: 3px solid var(--ic-green);
  padding: 20px;
  background: #f6fbf8;
}
.ic-case-side.ic-negative {
  border-top-color: var(--ic-red);
  background: #fcf7f6;
}
.ic-case-side > h3 {
  margin-bottom: 16px;
}
.ic-case-side > div {
  border-top: 1px solid var(--ic-line);
  padding: 14px 0;
}
.ic-case-side p {
  font-size: 0.81rem;
  margin: 8px 0;
}
.ic-checklist {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-bottom: 1px solid var(--ic-line);
}
.ic-checklist article {
  padding: 16px 18px;
  border-right: 1px solid var(--ic-line);
}
.ic-checklist article:last-child {
  border: 0;
}
.ic-checklist span {
  font-size: 0.69rem;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.ic-checklist strong {
  display: block;
  font-size: 1.35rem;
  margin: 7px 0;
  font-variant-numeric: tabular-nums;
}
.ic-checklist p {
  font-size: 0.74rem;
}
.ic-save-card form {
  margin-top: 16px;
}
.ic-save-card textarea {
  margin: 7px 0 17px;
}
.ic-condition {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr) 90px 25px;
  gap: 6px;
  align-items: center;
  margin: 8px 0;
}
.ic-condition select,
.ic-condition input {
  font-size: 0.73rem !important;
  padding: 7px !important;
  min-width: 0;
}
.ic-condition button,
.ic-holding button {
  background: transparent;
  border: 0;
  color: var(--ic-red);
  font-size: 1.2rem;
  cursor: pointer;
}
.ic-save-card button[type="submit"] {
  margin-top: 14px;
}
.ic-delete {
  color: var(--ic-red);
  margin-top: 16px;
}
.ic-saved-version {
  border: 1px solid var(--ic-line);
  padding: 12px;
  margin-top: 12px;
  font-size: 0.78rem;
}
.ic-saved-version summary {
  cursor: pointer;
  font-weight: 650;
}
.ic-saved-version p {
  white-space: pre-wrap;
  margin: 10px 0;
}
.ic-saved-version .ic-table-wrap {
  margin-top: 12px;
}
.ic-filings {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.ic-filings a {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--ic-line);
  padding: 10px;
  text-decoration: none;
  font-size: 0.74rem;
}
.ic-filings strong {
  color: var(--ic-ink);
}
.ic-disclosure-card blockquote {
  font-size: 0.81rem;
  color: var(--ic-muted);
  border-left: 2px solid #b6d0dc;
  padding-left: 13px;
  margin: 10px 0;
}
.ic-disclosure-card a {
  font-size: 0.76rem;
}
.ic-related-links {
  padding: 0 20px 20px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ic-portfolio-inputs {
  padding: 22px;
  max-width: 800px;
}
.ic-portfolio-action {
  display: flex;
  gap: 20px;
  align-items: end;
  margin-top: 15px;
}
.ic-portfolio-action label {
  max-width: 240px;
}
.ic-portfolio-action input {
  margin-top: 6px;
}
.ic-holding {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px 30px;
  align-items: center;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--ic-line);
  font-size: 0.8rem;
}
.ic-holding small {
  display: block;
  color: var(--ic-muted);
}
.ic-stock-search {
  position: relative;
}
.ic-stock-search input {
  margin-top: 6px;
}
#ic-holding-results:not(:empty) {
  position: absolute;
  z-index: 5;
  top: 100%;
  width: 100%;
  max-height: 280px;
  overflow-y: auto;
  box-shadow: 0 7px 15px #09223822;
  background: #fff;
  border: 1px solid var(--ic-line);
}
#ic-holding-results button {
  display: block;
  text-align: left;
  width: 100%;
  padding: 10px;
  border: 0;
  border-bottom: 1px solid var(--ic-line);
  background: #fff;
  color: var(--ic-ink);
  cursor: pointer;
}
#ic-holding-results button:hover {
  background: #e9f4f0;
}
#ic-portfolio-output {
  padding: 0 20px 20px;
}
#ic-portfolio-output[hidden] {
  display: none;
}
.ic-peer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ic-peer-links a {
  padding: 6px 10px;
  border: 1px solid var(--ic-line);
  font-size: 0.76rem;
}
.ic-peer-links small {
  margin-left: 4px;
  color: var(--ic-muted);
}
.ic-report-footer {
  border-top: 2px solid var(--ic-line);
  display: flex;
  align-items: start;
  gap: 30px;
  padding: 20px 0;
  font-size: 0.76rem;
}
.ic-report-footer p {
  margin-top: 6px;
}
.ic-report-footer > div {
  flex: 1;
}
.ic-dialog {
  max-width: 600px;
  width: calc(100% - 32px);
  max-height: 85vh;
  border: 1px solid #a6bdcb;
  border-top: 4px solid #009579;
  padding: 30px;
  color: #17384c;
  box-shadow: 0 20px 80px #061c3860;
}
.ic-dialog::backdrop {
  background: #071c32aa;
  backdrop-filter: blur(3px);
}
.ic-dialog h2 {
  font-size: 1.6rem;
  margin: 8px 25px 15px 0;
}
.ic-dialog p {
  font-size: 0.88rem;
  line-height: 1.65;
  margin: 12px 0;
  color: #455e6e;
}
.ic-dialog-close {
  position: absolute;
  right: 15px;
  top: 12px;
  border: 1px solid #c5d6df;
  background: #fff;
  color: #17445e;
  min-width: 35px;
  min-height: 35px;
  font-size: 1.35rem;
  cursor: pointer;
}
.ic-directory .ic-hero h1 {
  font-size: clamp(2rem, 4vw, 3.5rem);
}
.ic-search-form {
  max-width: 700px;
  margin: 25px 0;
}
.ic-search-row {
  display: flex;
  gap: 10px;
  margin-top: 7px;
}
.ic-directory-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: #fff;
}
.ic-directory-grid > a {
  padding: 20px;
  background: white;
  display: flex;
  flex-direction: column;
  position: relative;
  text-decoration: none;
  color: var(--ic-ink);
  min-height: 145px;
  border-right: 1px solid var(--ic-line);
  border-bottom: 1px solid var(--ic-line);
}
.ic-directory-grid > a:hover {
  background: #eef7f3;
}
.ic-directory-grid strong {
  font-size: 1.4rem;
  margin: 5px 0;
}
.ic-directory-grid small {
  margin-top: 8px;
  color: var(--ic-muted);
  font-size: 0.72rem;
}
.ic-directory-grid b {
  position: absolute;
  right: 16px;
  top: 18px;
  color: var(--ic-green);
}
.ic-directory > .ic-grid {
  margin-top: 24px;
}
.ic-directory .ic-card h2 {
  font-size: 1.35rem;
  margin-bottom: 10px;
}
.ic-directory-tools {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 35px;
  margin: 28px 0;
}
.ic-directory-tools .ic-search-form {
  flex: 1 1 420px;
  margin: 0;
}
.ic-filter-label {
  display: block;
  margin-bottom: 7px;
  font-size: .82rem;
  font-weight: 700;
}
.ic-rating-filters > div, .ic-page-numbers {
  display: flex;
  align-items: center;
  gap: 4px;
}
.ic-rating-filters a, .ic-directory-pagination a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 15px;
  border: 1px solid var(--ic-line);
  color: var(--ic-ink);
  background: #fff;
  text-decoration: none;
  font-size: .82rem;
  font-weight: 700;
}
.ic-rating-filters a[aria-current], .ic-directory-pagination a[aria-current] {
  background: var(--ic-ink);
  border-color: var(--ic-ink);
  color: #fff;
}
.ic-rating-filters a:hover, .ic-directory-pagination a:hover {
  box-shadow: inset 0 -3px var(--ic-green);
}
.ic-directory a:focus-visible, .ic-directory button:focus-visible {
  outline: 3px solid var(--ic-green);
  outline-offset: 3px;
}
.ic-directory-page-label {
  color: var(--ic-muted);
  font-size: .8rem;
  white-space: nowrap;
}
.ic-directory-verdict {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  border-top: 1px solid var(--ic-line);
  margin-top: auto;
  padding-top: 14px;
  font-size: .75rem;
}
.ic-directory-report > small { margin-bottom: 22px; }
.ic-directory-verdict em { font-style: normal; font-weight: 750; font-size: 1rem; }
.ic-directory-verdict > span:last-child { display: inline-flex; align-items: baseline; gap: .3em; }
.ic-directory-rating { padding: 4px 9px; font-weight: 750; }
.ic-rating-buy, .ic-rating-hold-add { color: #006851; background: #e1f2ed; }
.ic-rating-hold { color: #75521b; background: #f8efd9; }
.ic-rating-sell, .ic-rating-hold-reduce { color: #a12c27; background: #f9e8e4; }
.ic-directory-report time {
  color: var(--ic-muted);
  font-size: .68rem;
  margin-top: 12px;
}
.ic-directory-empty { grid-column: 1/-1; margin: 0; padding: 28px; background: #fff; }
.ic-directory-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 18px 20px;
  border-top: 1px solid var(--ic-line);
}
.ic-directory-pagination > div:first-child, .ic-directory-pagination > div:last-child { min-width: 96px; }
.ic-directory-pagination > div:last-child { text-align: right; }
.ic-page-numbers a { min-width: 42px; padding: 8px; }
@media (max-width: 600px) {
  .ic-directory-tools { gap: 18px; }
  .ic-directory-tools .ic-search-form { flex-basis: 100%; min-width: 0; }
  .ic-directory .ic-search-row input { min-width: 0; }
  .ic-rating-filters a { padding: 8px 12px; }
  .ic-directory-verdict { align-items: flex-start; flex-direction: column; }
  .ic-directory-pagination { padding: 14px 10px; }
  .ic-directory-pagination > div:first-child, .ic-directory-pagination > div:last-child { min-width: 0; }
  .ic-directory-pagination a { padding: 8px 10px; }
  .ic-directory-pagination .ic-page-numbers { order: 3; flex-basis: 100%; justify-content: center; }
}
@media (min-width: 1500px) {
  .ic-shell {
    padding-left: 0;
    padding-right: 0;
  }
  .ic-chart {
    height: 285px;
  }
}
@media (max-width: 1100px) {
  .ic-hero > div {
    padding: 23px;
  }
  .ic-hero-metrics {
    gap: 8px;
  }
  .ic-hero-metrics strong {
    font-size: 1rem;
  }
  .ic-nav a {
    padding: 10px 9px;
  }
  .ic-value-layout {
    grid-template-columns: 240px minmax(0, 1fr);
  }
  .ic-assumptions {
    padding: 18px;
  }
  .ic-value-evidence {
    padding: 18px;
  }
  .ic-value-reading {
    gap: 15px;
  }
  .ic-value-reading > div {
    flex-basis: 185px;
  }
  .ic-value-reading strong {
    font-size: 2.15rem;
  }
  .ic-three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ic-insights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ic-checklist {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ic-condition {
    grid-template-columns: minmax(0, 1fr) 100px 75px 20px;
  }
  .ic-condition select:first-child {
    grid-column: 1/-1;
  }
  .ic-directory-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .ic-shell {
    padding: 8px 10px 24px;
    font-size: 14px;
  }
  .ic-hero {
    grid-template-columns: 1fr;
  }
  .ic-hero > div {
    padding: 20px;
  }
  .ic-hero-aside {
    border-left: 0;
    border-top: 1px solid #ffffff20;
  }
  .ic-hero-aside h2 {
    font-size: 1.4rem;
  }
  .ic-hero h1 {
    font-size: 2.1rem;
  }
  .ic-hero h1 span {
    font-size: 0.7em;
  }
  .ic-hero-metrics {
    margin-top: 20px;
  }
  .ic-hero-metrics strong {
    font-size: 0.93rem;
  }
  .ic-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .ic-nav a {
    border-bottom: 1px solid var(--ic-line);
    padding: 10px;
  }
  .ic-nav span {
    font-size: 0.7rem;
  }
  .ic-section-head {
    padding: 17px;
    align-items: start;
    gap: 10px;
    flex-wrap: wrap;
  }
  .ic-section-head h2 {
    font-size: 1.5rem;
  }
  .ic-section-head .ic-button {
    min-height: 34px;
    padding: 7px 10px;
    font-size: 0.72rem;
  }
  .ic-section-head p {
    font-size: 0.79rem;
  }
  .ic-two,
  .ic-three {
    grid-template-columns: 1fr;
  }
  .ic-section > .ic-grid {
    padding: 12px;
    gap: 12px;
  }
  .ic-card {
    padding: 15px;
  }
  .ic-value-layout {
    grid-template-columns: 1fr;
  }
  .ic-assumptions {
    border-right: 0;
    border-bottom: 1px solid var(--ic-line);
    padding: 18px;
  }
  .ic-assumptions > p {
    margin-bottom: 10px;
  }
  .ic-assumptions form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 18px;
  }
  .ic-assumptions form > label {
    grid-column: 1/-1;
    margin-top: 8px;
  }
  .ic-assumptions form > input[type="range"] {
    grid-column: 1/-1;
    margin-bottom: 8px;
  }
  .ic-assumptions details {
    grid-column: 1/-1;
  }
  .ic-value-reading {
    align-items: start;
    flex-wrap: wrap;
  }
  .ic-value-reading > div {
    flex-basis: auto;
  }
  .ic-value-reading > p {
    font-size: 0.8rem;
  }
  .ic-value-evidence {
    padding: 15px;
  }
  .ic-value-reading strong {
    font-size: 2.2rem;
  }
  .ic-insights {
    padding: 12px 12px 0;
    gap: 10px;
  }
  .ic-insight {
    padding: 12px;
  }
  .ic-insight h3 {
    font-size: 0.8rem;
  }
  .ic-insight p {
    font-size: 0.73rem;
  }
  .ic-chart {
    height: 260px;
  }
  .ic-chart-head {
    align-items: start;
    gap: 8px;
  }
  .ic-chart-head h3 {
    font-size: 1.02rem;
  }
  .ic-chart-head > span {
    font-size: 0.65rem;
  }
  .ic-checklist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ic-checklist article {
    padding: 13px;
    border-bottom: 1px solid var(--ic-line);
  }
  .ic-checklist strong {
    font-size: 1.15rem;
  }
  .ic-filings {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ic-condition {
    grid-template-columns: minmax(0, 1fr) 105px 70px 25px;
  }
  .ic-condition select:first-child {
    grid-column: auto;
  }
  .ic-section > .ic-explainer {
    margin: 12px;
  }
  .ic-section > .ic-card {
    margin: 0 12px 12px;
  }
  .ic-portfolio-inputs {
    padding: 15px;
  }
  .ic-portfolio-action {
    gap: 12px;
  }
  .ic-portfolio-action .ic-button {
    font-size: 0.73rem;
  }
  .ic-report-footer {
    gap: 15px;
    flex-wrap: wrap;
  }
  .ic-report-footer > div {
    flex-basis: 100%;
  }
  .ic-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ic-directory-grid > a {
    padding: 15px;
    font-size: 0.8rem;
  }
  .ic-directory-grid strong {
    font-size: 1.25rem;
  }
  .ic-date {
    text-align: left;
  }
  .ic-shell input:not([type="range"]):not([type="hidden"]),
  .ic-shell select,
  .ic-shell textarea {
    font-size: 16px;
  }
  .ic-condition select,
  .ic-condition input {
    font-size: 16px !important;
  }
  .ic-condition {
    grid-template-columns: minmax(0, 1fr) 80px 25px;
  }
  .ic-condition select:first-child {
    grid-column: 1/-1;
  }
  .ic-heatmap table {
    border-spacing: 2px;
  }
  .ic-heatmap button {
    font-size: 0.7rem;
    padding: 10px 2px;
  }
  .ic-heatmap th {
    font-size: 0.64rem;
  }
  .ic-heatmap caption {
    font-size: 0.7rem;
  }
  .ic-select-label select {
    max-width: 165px;
  }
  .ic-breadcrumb {
    font-size: 0.72rem;
  }
}
@media (max-width: 380px) {
  .ic-hero > div {
    padding: 16px;
  }
  .ic-hero h1 {
    font-size: 1.85rem;
  }
  .ic-hero-metrics {
    grid-template-columns: 1fr 1fr;
  }
  .ic-insights {
    grid-template-columns: 1fr;
  }
  .ic-section-head h2 {
    font-size: 1.32rem;
  }
  .ic-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ic-value-evidence {
    padding: 12px;
  }
  .ic-portfolio-action {
    flex-wrap: wrap;
  }
  .ic-directory-grid {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ic-shell * {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
@media print {
  .ic-nav,
  .ic-assumptions,
  .ic-button,
  .ic-save-card,
  .ic-portfolio-inputs,
  .ic-related-links,
  .ic-back,
  .ic-dialog,
  .ic-delete {
    display: none !important;
  }
  .ic-shell {
    padding: 0;
    max-width: none;
    font-size: 10pt;
  }
  .ic-hero {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .ic-section {
    break-inside: auto;
    margin: 15px 0;
  }
  .ic-card,
  .ic-section-head,
  .ic-insight {
    break-inside: avoid;
  }
  .ic-chart {
    height: 220px !important;
  }
  .ic-value-layout {
    grid-template-columns: 1fr;
  }
  .ic-section-head {
    padding: 12px;
  }
  .ic-hero h1 {
    font-size: 24pt;
  }
}

.ic-hero h1,
.ic-hero h2 {
  color: #fff;
}
.ic-hero-aside h2 {
  color: #e4f2f6;
}

/* Allow narrow grid columns to shrink around scrollable data tables. */
.ic-value-layout > * {
  min-width: 0;
  max-width: 100%;
}
.ic-grid > *,
.ic-saved-version,
.ic-assumptions form {
  min-width: 0;
}
.ic-chart-head {
  flex-wrap: wrap;
}
@media (max-width: 760px) {
  .ic-value-layout,
  .ic-two,
  .ic-three,
  .ic-hero {
    grid-template-columns: minmax(0, 1fr);
  }
  .ic-assumptions form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ic-heatmap {
    padding-bottom: 4px;
  }
  .ic-heatmap table {
    min-width: 340px;
  }
  .ic-chart-head .ic-select-label {
    max-width: 100%;
  }
}

/* Company review: lead with the argument and keep the evidence close. */
.ic-case-section {
  border-top-color: #00836a;
}
.ic-review-areas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  border-bottom: 1px solid var(--ic-line);
  background: #f7fafb;
}
.ic-area {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  border-right: 1px solid var(--ic-line);
  text-decoration: none;
  font-size: 0.75rem;
  font-weight: 650;
  color: var(--ic-ink);
}
.ic-area > span:first-child {
  font-size: 1.25rem;
  color: var(--ic-green);
}
.ic-area.ic-negative > span:first-child {
  color: var(--ic-red);
}
.ic-area.ic-neutral > span:first-child {
  color: #758895;
}
.ic-area small {
  display: block;
  font-size: 0.66rem;
  font-weight: 400;
  color: var(--ic-muted);
  margin-top: 3px;
}
.ic-argument-column {
  min-width: 0;
}
.ic-argument-title {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 0 16px;
  border-bottom: 2px solid #00836a;
}
.ic-argument-title > span {
  background: #dfeee8;
  padding: 5px 10px;
  color: #006550;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.65rem;
  letter-spacing: 0.08em;
}
.ic-negative .ic-argument-title {
  border-bottom-color: #b54842;
}
.ic-negative .ic-argument-title > span {
  background: #f6e6e1;
  color: #963c36;
}
.ic-finding {
  padding: 17px 0;
  border-bottom: 1px solid var(--ic-line);
  min-width: 0;
}
.ic-finding-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 36px;
  margin-bottom: 5px;
}
.ic-finding-heading .ic-kicker {
  color: var(--ic-muted);
  font-size: 0.62rem;
}
.ic-finding svg {
  width: 115px;
  height: 38px;
  flex-shrink: 0;
  color: var(--ic-green);
  background: #f3f8f6;
}
.ic-finding.ic-negative svg {
  color: var(--ic-red);
  background: #fcf5f2;
}
.ic-finding h4 {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 1.15rem;
  line-height: 1.25;
}
.ic-finding p {
  font-size: 0.82rem;
  margin: 10px 0;
}
.ic-finding a {
  font-size: 0.73rem;
  font-weight: 650;
}
.ic-quarter-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 20px 6px;
}
.ic-quarter-heading .ic-kicker {
  color: var(--ic-green);
  margin-bottom: 5px;
}
.ic-quarter-heading h3 {
  font-size: 1.5rem;
}
.ic-quarter-heading p {
  font-size: 0.8rem;
  margin-top: 8px;
}
.ic-ytd-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  margin: 15px 20px 0;
  border: 1px solid var(--ic-line);
  background: #f2f8f7;
}
.ic-ytd-strip > div {
  padding: 14px;
  border-right: 1px solid var(--ic-line);
}
.ic-ytd-strip span {
  font-size: 0.69rem;
  font-weight: 650;
}
.ic-ytd-strip strong {
  display: block;
  font-size: 1.45rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
  margin: 7px 0;
}
.ic-ytd-strip small {
  font-size: 0.65rem;
  color: var(--ic-muted);
  display: block;
}
.ic-chart-tall {
  height: 350px;
}
.ic-earnings-main {
  margin-top: 20px !important;
  border-top: 3px solid #00836a;
}
.ic-nav {
  grid-template-columns: repeat(auto-fit, minmax(115px, 1fr));
}
.ic-argument-grid:has(> .ic-argument-column:only-child) {
  grid-template-columns: minmax(0, 1fr);
}
.ic-section > .ic-grid:not(:has(> *)) {
  display: none;
}
@media (max-width: 760px) {
  .ic-review-areas {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ic-area {
    padding: 12px;
    font-size: 0.72rem;
  }
  .ic-finding h4 {
    font-size: 1.1rem;
  }
  .ic-finding p {
    font-size: 0.8rem;
  }
  .ic-quarter-heading {
    padding: 18px 13px 5px;
    align-items: start;
    flex-wrap: wrap;
  }
  .ic-quarter-heading h3 {
    font-size: 1.25rem;
  }
  .ic-ytd-strip {
    margin: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ic-chart-tall {
    height: 290px;
  }
  .ic-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ic-nav span {
    font-size: 0.72rem;
  }
}

.ic-grid.ic-two > .ic-card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
.ic-three:has(> :only-child) {
  grid-template-columns: minmax(0, 1fr);
}
.ic-finding h4 {
  text-wrap: balance;
}
.ic-review-areas {
  display: flex;
  flex-wrap: wrap;
}
.ic-review-areas > a {
  flex: 1 0 190px;
}
@media (max-width: 760px) {
  .ic-review-areas > a {
    flex-basis: 40%;
    min-width: 0;
  }
}

/* The analyst brief leads to its evidence; detailed accounts remain below. */
.ic-hero > div {
  padding: 25px 28px;
}
.ic-hero-aside h2 {
  text-wrap: balance;
}
.ic-hero-metrics {
  margin-top: 22px;
}
.ic-analyst {
  border-top-color: var(--ic-green);
}
.ic-analyst > .ic-section-head {
  background: #f6faf8;
}
.ic-brief-chapters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
}
.ic-brief-chapters > article {
  padding: 25px 27px 23px;
  border-right: 1px solid var(--ic-line);
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.ic-brief-chapters > article:last-child {
  border-right: 0;
}
.ic-chapter-label {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ic-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.68rem;
  font-weight: 700;
  margin-bottom: 18px;
}
.ic-chapter-label > span {
  font:
    500 1.7rem/1 "Source Serif 4",
    Georgia,
    serif;
  color: var(--ic-green);
  letter-spacing: -0.02em;
}
.ic-brief-chapters h3 {
  font-size: clamp(1.2rem, 1.6vw, 1.55rem);
  text-wrap: balance;
  margin-bottom: 13px;
}
.ic-brief-chapters p {
  font-size: 0.88rem;
  line-height: 1.7;
  margin-bottom: 20px;
}
.ic-brief-chapters a {
  font-size: 0.76rem;
  font-weight: 650;
  margin-top: auto;
  align-self: start;
  text-decoration: none;
  border-bottom: 1px solid #acc9d3;
  padding-bottom: 4px;
}
.ic-debate {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  margin: 0 24px 22px;
  gap: 18px;
}
.ic-debate > article {
  padding: 18px 20px;
  border-top: 3px solid var(--ic-green);
  background: #edf6f3;
}
.ic-debate > .ic-debate-against {
  border-top-color: #b7772b;
  background: #fbf5eb;
}
.ic-debate .ic-kicker {
  color: #496779;
  margin-bottom: 10px;
}
.ic-debate a {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 0;
  font-size: 0.86rem;
  text-decoration: none;
  color: var(--ic-ink);
}
.ic-debate a + a {
  border-top: 1px solid #173c4b15;
}
.ic-debate a:hover strong,
.ic-brief-chapters a:hover {
  text-decoration: underline;
}
.ic-business-strip {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
  border-bottom: 1px solid var(--ic-line);
}
.ic-business-strip > div {
  min-width: 0;
  padding: 20px 24px;
  border-right: 1px solid var(--ic-line);
}
.ic-business-strip > div:last-child {
  border: 0;
}
.ic-business-strip .ic-business-strip-title {
  background: #102e43;
  color: white;
}
.ic-business-strip span {
  display: block;
  font-size: 0.74rem;
}
.ic-business-strip strong {
  display: block;
  font:
    600 clamp(1.6rem, 2.4vw, 2.15rem)/1.3 "Source Serif 4",
    Georgia,
    serif;
  margin: 8px 0 4px;
  font-variant-numeric: tabular-nums;
}
.ic-business-strip small {
  font-size: 0.69rem;
  color: var(--ic-muted);
}
.ic-business-strip-title small,
.ic-business-strip-title .ic-kicker {
  color: #c5dae5;
}
.ic-business-strip:has(> :nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ic-section-next {
  border-top: 1px solid var(--ic-line);
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 24px;
  font-size: 0.77rem;
  background: #f8fafb;
  color: var(--ic-muted);
}
.ic-section-next a {
  font-weight: 650;
}
.ic-peer-lead {
  padding: 23px 26px;
  background: #f0f6f8;
  border-bottom: 1px solid var(--ic-line);
  border-left: 3px solid var(--ic-blue);
}
.ic-peer-lead h3 {
  font-size: 1.5rem;
  margin-bottom: 8px;
}
.ic-peer-lead p {
  max-width: 1000px;
  font-size: 0.88rem;
}
.ic-select-label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 0.69rem;
  font-weight: 600;
  color: var(--ic-muted);
  min-width: 0;
  max-width: 100%;
}
.ic-select-label select {
  max-width: 100%;
  min-width: 0;
  width: 100%;
  background: #fff;
  border: 1px solid #b6ccd8;
  border-radius: 0;
  padding: 9px 30px 9px 10px;
  color: var(--ic-ink);
  font: inherit;
  font-size: 0.77rem;
  line-height: 1.3;
}
.ic-own-dot {
  width: 9px;
  height: 9px;
  background: var(--ic-green);
  border-radius: 50%;
  display: inline-block;
}
.ic-sector-view {
  display: grid;
  grid-template-columns: 0.9fr 1.5fr;
  gap: 26px;
  padding: 26px;
  border-top: 1px solid var(--ic-line);
  border-bottom: 1px solid var(--ic-line);
  background: #f2f7fa;
}
.ic-sector-view h3 {
  margin: 7px 0 10px;
  font-size: 1.5rem;
}
.ic-sector-view p {
  font-size: 0.83rem;
}
.ic-sector-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 18px;
  align-items: center;
}
.ic-sector-facts strong {
  display: block;
  font:
    600 clamp(1.8rem, 2.5vw, 2.5rem)/1.2 "Source Serif 4",
    Georgia,
    serif;
}
.ic-sector-facts span {
  display: block;
  font-size: 0.75rem;
  margin-top: 8px;
  font-weight: 650;
}
.ic-sector-facts small {
  display: block;
  font-size: 0.66rem;
  color: var(--ic-muted);
  margin-top: 5px;
}
.ic-sector-reading > p {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 16px 0;
  font-size: 0.85rem;
}
.ic-sector-reading > p + p {
  border-top: 1px solid var(--ic-line);
}
.ic-sector-reading strong {
  color: var(--ic-ink);
}
.ic-sector-reading small {
  font-size: 0.7rem;
}
.ic-price-feature {
  margin: 20px 20px 0;
  border-top: 3px solid var(--ic-green);
}
.ic-price-controls {
  display: flex;
  align-items: end;
  justify-content: end;
  flex-wrap: wrap;
  gap: 12px;
}
.ic-price-controls select {
  min-width: 170px;
}
.ic-price-controls button:disabled {
  opacity: 0.4;
  cursor: default;
}
.ic-price-range-track {
  height: 8px;
  background: linear-gradient(90deg, #e2eaf0, #4da891);
  position: relative;
  margin: 42px 12px 25px;
}
.ic-price-range-track > span {
  position: absolute;
  top: -7px;
  width: 4px;
  height: 22px;
  background: #12334a;
  outline: 3px solid white;
  transform: translateX(-50%);
}
.ic-price-range-labels {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 0.7rem;
  color: var(--ic-muted);
}
.ic-price-range-labels > span:last-child {
  text-align: right;
}
.ic-price-range-labels > span:nth-child(2) {
  text-align: center;
}
.ic-price-range-labels strong {
  display: block;
  font-size: 1.3rem;
  color: var(--ic-ink);
  margin-top: 6px;
}
.ic-range-view > p {
  font-size: 0.85rem;
  margin-top: 18px;
}
.ic-range-view > a {
  display: inline-block;
  margin-top: 18px;
  font-size: 0.79rem;
}
.ic-next-questions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 18px;
  padding: 22px;
}
.ic-next-questions > article {
  padding: 21px;
  background: #f0f6f8;
  border-left: 3px solid #57879c;
}
.ic-next-questions h3 {
  margin: 10px 0;
  font-size: 1.23rem;
}
.ic-next-questions p {
  font-size: 0.84rem;
}
.ic-next-questions a {
  display: inline-block;
  font-size: 0.76rem;
  margin-top: 16px;
}
.ic-shell .ic-chart,
.ic-shell .ic-card {
  scroll-margin-top: 20px;
}
@media (max-width: 1000px) {
  .ic-sector-view {
    grid-template-columns: minmax(0, 1fr);
  }
  .ic-business-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ic-price-controls {
    justify-content: start;
  }
}
@media (max-width: 760px) {
  .ic-brief-chapters > article {
    border-right: 0;
    border-bottom: 1px solid var(--ic-line);
    padding: 22px 18px;
  }
  .ic-debate {
    margin: 18px 12px;
    gap: 12px;
  }
  .ic-business-strip > div {
    padding: 18px 14px;
  }
  .ic-sector-view {
    padding: 20px 15px;
    gap: 18px;
  }
  .ic-sector-facts {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .ic-sector-facts > div {
    display: grid;
    grid-template-columns: 95px minmax(0, 1fr);
    gap: 0 12px;
    padding: 12px 0;
    border-top: 1px solid var(--ic-line);
  }
  .ic-sector-facts strong {
    grid-row: 1 / 3;
    align-self: center;
    font-size: 1.8rem;
  }
  .ic-sector-facts span {
    margin-top: 0;
  }
  .ic-section-next {
    flex-direction: column;
    padding: 15px;
  }
  .ic-peer-lead {
    padding: 20px 15px;
  }
  .ic-price-feature {
    margin: 12px;
  }
  .ic-price-controls {
    width: 100%;
  }
  .ic-price-controls .ic-range-buttons {
    flex-wrap: wrap;
  }
  .ic-select-label select {
    font-size: 16px;
  }
  .ic-chart-head > .ic-select-label {
    width: 100%;
  }
  .ic-next-questions {
    padding: 12px;
  }
  .ic-price-range-labels strong {
    font-size: 1rem;
  }
}
@media print {
  .ic-brief-chapters,
  .ic-debate,
  .ic-business-strip,
  .ic-sector-view {
    break-inside: avoid;
  }
  .ic-price-controls {
    display: none;
  }
}

.ic-measure-notes > div {
  padding: 14px 0;
  border-bottom: 1px solid var(--ic-line);
}
.ic-measure-notes dt {
  font-weight: 700;
  margin-bottom: 5px;
}
.ic-measure-notes dd {
  color: var(--ic-muted);
  margin: 0;
}
.ic-earnings-gap-note {
  margin: 16px 0;
  border-left: 3px solid #b98432;
  background: #fbf6ed;
  padding: 15px 18px;
  font-size: 0.83rem;
}
.ic-earnings-gap-note > p {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  padding-top: 10px;
}
.ic-earnings-gap-note small {
  display: block;
  width: 100%;
  font-size: 0.77rem;
}
.ic-gap-tag {
  font-weight: 650;
  color: #795419;
}
.ic-gap-missing,
.ic-gap-stale,
.ic-gap-split {
  color: #335f7a;
}
.ic-method-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 24px;
  padding: 20px 24px;
  background: #edf5f6;
  border-bottom: 1px solid var(--ic-line);
}
.ic-method-toolbar label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 0.72rem;
  font-weight: 700;
  min-width: 280px;
  max-width: 100%;
}
.ic-method-toolbar select {
  color: var(--ic-ink);
  background: white;
  border: 1px solid #aec5d1;
  padding: 10px 30px 10px 12px;
  font: inherit;
  font-size: 0.88rem;
}
.ic-method-toolbar p {
  font-size: 0.8rem;
  flex: 1 1 240px;
}
.ic-method-evidence {
  padding: 24px;
  min-width: 0;
}
#ic-other-value {
  display: block;
  font:
    600 2.7rem/1.3 "Source Serif 4",
    Georgia,
    serif;
  color: var(--ic-green);
}
#ic-method-controls label {
  display: block;
  margin: 22px 0 8px;
  font-weight: 650;
  font-size: 0.8rem;
}
#ic-method-controls input {
  width: 100%;
  border: 1px solid #bacfda;
  border-radius: 0;
  padding: 10px;
  font: inherit;
  background: #fff;
  color: var(--ic-ink);
}
#ic-method-controls small {
  display: block;
  margin-top: 4px;
  font-size: 0.67rem;
}
.ic-method-comparison {
  padding: 24px;
  border-top: 1px solid var(--ic-line);
  scroll-margin-top: 20px;
}
.ic-method-comparison h3 {
  font-size: 1.5rem;
  margin-top: 6px;
}
.ic-method-comparison .ic-chart {
  height: 380px;
}
.ic-method-comparison .ic-text-button {
  text-align: left;
}
.ic-method-comparison .ic-caption {
  margin-top: 14px;
}
#ic-method-error {
  color: var(--ic-red);
  margin: 12px 0;
}
#ic-other-gap {
  font-size: 0.84rem;
}
@media (max-width: 760px) {
  .ic-method-toolbar {
    padding: 15px;
    gap: 14px;
  }
  .ic-method-toolbar label {
    min-width: 0;
    width: 100%;
  }
  .ic-method-toolbar select {
    font-size: 16px;
    width: 100%;
  }
  .ic-method-evidence,
  .ic-method-comparison {
    padding: 15px;
  }
  .ic-method-comparison .ic-chart {
    height: 420px;
  }
  #ic-method-controls input {
    font-size: 16px;
  }
}

.ic-method-differences {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 15px;
  margin: 20px 0;
}
.ic-method-differences article {
  padding: 17px;
  border-left: 3px solid #7599ac;
  background: #f0f6f8;
}
.ic-method-differences p {
  font-size: 0.82rem;
  margin-top: 8px;
}

/* The dated assessment stays separate from editable valuation scenarios. */
.ic-assessment-hero .ic-target-headline {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 20px;
  margin-top: 18px;
}
.ic-target-label {
  display: block;
  color: #b8cfdd;
  font-size: 0.74rem;
  margin-bottom: 9px;
}
.ic-rating {
  display: inline-block;
  padding: 7px 13px;
  font-size: 1.3rem;
  line-height: 1.2;
  border: 1px solid #bfcfda;
  color: #e2ebf0;
  background: #ffffff10;
}
.ic-rating-positive {
  background: #b5f1dc;
  color: #004f3c;
  border-color: #b5f1dc;
}
.ic-rating-negative {
  background: #ffdfd8;
  color: #812b23;
  border-color: #ffdfd8;
}
.ic-target-price {
  display: block;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(1.5rem, 2.7vw, 2.8rem);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  color: #fff;
}
.ic-assessment-hero .ic-target-change {
  color: #fff;
  margin: 17px 0 12px;
  font-size: 0.94rem;
  font-weight: 600;
}
.ic-target-change span {
  color: #b8cfdd;
  font-weight: 400;
  font-size: 0.74rem;
}
.ic-target-actions {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.ic-target-actions span,
.ic-target-disclosure {
  font-size: 0.68rem;
  color: #b8cfdd;
}
.ic-target-disclosure {
  display: block;
  margin-top: 13px;
}
.ic-assessment {
  border-top: 3px solid #007e68;
}
.ic-target-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
}
.ic-target-chart-card {
  padding: 24px;
  border-right: 1px solid var(--ic-line);
  min-width: 0;
}
.ic-target-chart-card .ic-chart {
  height: 230px;
}
.ic-target-evidence {
  padding: 8px 24px;
  background: #f5f9fa;
}
.ic-target-evidence article {
  padding: 16px 0;
  border-bottom: 1px solid var(--ic-line);
}
.ic-target-evidence article:last-child {
  border-bottom: 0;
}
.ic-target-evidence h3 {
  font-size: 1.3rem;
  margin: 4px 0;
  font-variant-numeric: tabular-nums;
}
.ic-target-evidence p {
  font-size: 0.8rem;
  margin: 5px 0;
  color: var(--ic-muted);
}
.ic-target-evidence a {
  font-size: 0.75rem;
  font-weight: 600;
}
.ic-target-scenarios {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--ic-line);
}
.ic-target-scenario {
  padding: 19px 24px;
  border-right: 1px solid var(--ic-line);
  border-top: 3px solid #b65b50;
}
.ic-target-scenario:last-child {
  border-right: 0;
}
.ic-scenario-2 {
  border-top-color: #007e68;
  background: #edf7f3;
}
.ic-scenario-3 {
  border-top-color: #156796;
}
.ic-target-scenario strong {
  display: block;
  color: #102d43;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 2rem;
  font-variant-numeric: tabular-nums;
}
.ic-target-scenario > span:not(.ic-kicker) {
  font-size: 0.82rem;
  font-weight: 600;
}
.ic-target-scenario p {
  font-size: 0.77rem;
  margin: 9px 0 0;
  color: var(--ic-muted);
}
.ic-target-review {
  margin: 20px 24px;
  padding: 18px 22px;
  background: #fff8eb;
  border-left: 3px solid #b77c23;
  font-size: 0.87rem;
}
.ic-target-review p {
  margin: 8px 0;
}
.ic-target-review ul {
  margin: 8px 0 0;
  padding-left: 18px;
}
.ic-target-review li + li {
  margin-top: 7px;
}
.ic-assessment .ic-table-wrap td {
  white-space: normal;
}
@media (max-width: 900px) {
  .ic-target-overview {
    grid-template-columns: 1fr;
  }
  .ic-target-chart-card {
    border-right: 0;
  }
  .ic-target-evidence {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  .ic-target-evidence article {
    border-bottom: 0;
  }
}
@media (max-width: 600px) {
  .ic-target-scenarios,
  .ic-target-evidence {
    grid-template-columns: 1fr;
  }
  .ic-target-evidence article {
    border-bottom: 1px solid var(--ic-line);
  }
  .ic-target-scenario {
    border-right: 0;
  }
  .ic-target-chart-card {
    padding: 16px;
  }
  .ic-target-review {
    margin: 16px;
    padding: 14px;
  }
  .ic-target-headline {
    gap: 12px;
  }
  .ic-assessment .ic-section-head > a {
    white-space: normal;
  }
}
.ic-target-method {
  padding: 16px 24px;
  border-bottom: 1px solid var(--ic-line);
  background: #eef5f7;
}
.ic-target-method strong {
  display: block;
  color: #14374c;
  margin: 3px 0;
  font-size: 1.04rem;
}
.ic-target-method p {
  margin: 4px 0 0;
  font-size: 0.82rem;
  color: var(--ic-muted);
  max-width: 1000px;
}
.ic-target-assumptions {
  padding: 18px 24px;
  border-top: 1px solid var(--ic-line);
  background: #fcfaf4;
  font-size: 0.83rem;
}
.ic-target-assumptions p {
  margin: 6px 0;
}
.ic-crosscheck-price {
  display: block;
  font:
    700 1.8rem "Source Serif 4",
    Georgia,
    serif;
  color: #12354b;
}
/* Evidence-led analyst report and formal review record. */
.ic-review-strip {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  margin: 16px 0;
  border: 1px solid var(--ic-line);
  border-left: 4px solid #008671;
  background: #f1f7f7;
}
.ic-review-strip > div {
  padding: 16px 20px;
  min-width: 0;
  border-right: 1px solid var(--ic-line);
}
.ic-review-strip strong,
.ic-review-strip small,
.ic-review-strip span {
  display: block;
}
.ic-review-strip strong {
  margin: 4px 0;
  font-size: 1rem;
  color: #0a2940;
}
.ic-review-strip p {
  font-size: 0.8rem;
  color: var(--ic-muted);
  margin: 4px 0;
}
.ic-review-strip small,
.ic-review-strip a {
  font-size: 0.75rem;
}
.ic-review-strip span {
  font-size: 0.72rem;
}
.ic-driver-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 0;
}
.ic-driver {
  padding: 24px;
  border-right: 1px solid var(--ic-line);
  border-bottom: 1px solid var(--ic-line);
  min-width: 0;
  background: linear-gradient(180deg, #f6fafb, white 55%);
}
.ic-driver h3 {
  font-size: 1.3rem;
  margin: 5px 0 10px;
}
.ic-driver p {
  font-size: 0.86rem;
  line-height: 1.6;
  color: var(--ic-muted);
}
.ic-driver small {
  font-size: 0.72rem;
  color: var(--ic-muted);
}
.ic-driver-value {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}
.ic-driver-value strong {
  font:
    700 2rem "Source Serif 4",
    Georgia,
    serif;
  color: #007763;
  font-variant-numeric: tabular-nums;
}
.ic-driver-value span {
  font-size: 0.75rem;
  color: var(--ic-muted);
}
.ic-driver-chart {
  height: 170px;
  min-height: 170px;
  margin: 20px 0 14px;
}
.ic-short-chart {
  height: 180px;
  min-height: 180px;
}
.ic-quality-findings {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  border-bottom: 1px solid var(--ic-line);
}
.ic-quality-findings > article {
  padding: 22px;
  border-right: 1px solid var(--ic-line);
}
.ic-quality-findings h3 {
  font-size: 1.13rem;
}
.ic-quality-findings p {
  font-size: 0.84rem;
  line-height: 1.65;
  color: var(--ic-muted);
}
.ic-quality-findings a {
  font-size: 0.8rem;
  font-weight: 600;
}
.ic-assumption-pair {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 20px 0;
  flex-wrap: wrap;
}
.ic-assumption-pair span {
  font-size: 0.75rem;
  color: var(--ic-muted);
}
.ic-assumption-pair strong {
  display: block;
  font:
    700 2rem "Source Serif 4",
    Georgia,
    serif;
  color: #007e68;
  font-variant-numeric: tabular-nums;
}
.ic-sensitivity-reading {
  background: #f1f7f6;
}
.ic-sensitivity-reading p {
  line-height: 1.7;
}
.ic-sensitivity-reading h3 {
  margin-top: 10px;
}
.ic-valuation-explanations article {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  padding: 20px 10px;
  border-bottom: 1px solid var(--ic-line);
}
.ic-valuation-explanations h3 {
  font-size: 1.1rem;
}
.ic-valuation-explanations p {
  font-size: 0.84rem;
  max-width: 850px;
  color: var(--ic-muted);
}
.ic-valuation-explanations strong {
  white-space: nowrap;
  color: #006d5b;
  font:
    700 1.6rem "Source Serif 4",
    Georgia,
    serif;
}
.ic-alternative-toolbar {
  display: flex;
  align-items: center;
  gap: 24px;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--ic-line);
  background: #f2f7fa;
}
.ic-alternative-toolbar label {
  font-size: 0.8rem;
  font-weight: 600;
  max-width: 100%;
}
.ic-alternative-toolbar select {
  display: block;
  margin-top: 6px;
  padding: 10px 12px;
  max-width: 100%;
  border: 1px solid #b9cddc;
  background: white;
  color: #0d2d45;
  font: inherit;
}
.ic-alternative-toolbar p {
  font-size: 0.76rem;
  color: var(--ic-muted);
}
.ic-review-policy {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.ic-review-policy article {
  padding: 20px;
  border: 1px solid var(--ic-line);
  border-top: 3px solid #087b69;
  background: #f8fbfc;
}
.ic-review-policy p {
  font-size: 0.85rem;
  line-height: 1.65;
}
.ic-review-policy h3 {
  font-size: 1.15rem;
}
.ic-review-changes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  padding: 8px 12px;
}
.ic-review-changes article {
  padding: 14px 18px;
  min-width: 0;
}
.ic-review-changes span {
  display: block;
  font-size: 0.72rem;
  color: var(--ic-muted);
}
.ic-review-changes strong {
  display: block;
  margin-top: 4px;
  font-size: 1.12rem;
}
.ic-review-changes strong span {
  display: inline;
}
.ic-review-changes small {
  font-size: 0.75rem;
}
.ic-review-timeline {
  list-style: none;
  padding: 0;
}
.ic-review-timeline li {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  gap: 18px;
  margin: 0;
  padding: 16px 0;
  border-bottom: 1px solid var(--ic-line);
}
.ic-review-timeline time {
  font-size: 0.8rem;
  color: #087963;
}
.ic-review-timeline p {
  margin: 3px 0;
  font-size: 0.83rem;
}
.ic-review-timeline strong {
  font-size: 0.9rem;
}
.ic-record-hero {
  background: #09263d;
  color: white;
  padding: 32px;
  margin: 16px 0;
  border-top: 4px solid #0aa68b;
}
.ic-record-hero h1 {
  color: white;
  font:
    700 clamp(1.8rem, 3.3vw, 3.1rem) "Source Serif 4",
    Georgia,
    serif;
  margin: 10px 0;
}
.ic-record-hero p {
  color: #c0d2df;
}
.ic-record-hero .ic-kicker {
  color: #6ee0c4;
}
.ic-record-hero .ic-review-changes {
  padding: 12px 0;
  margin-top: 24px;
  border-top: 1px solid #365267;
}
.ic-record-hero .ic-review-changes span,
.ic-record-hero .ic-review-changes small {
  color: #b7ccd9;
}
.ic-record-hero .ic-review-changes article:first-child {
  padding-left: 0;
}
.ic-record-hero .ic-review-changes strong {
  color: white;
}
.ic-record-pages {
  padding: 20px;
  display: flex;
  gap: 25px;
  justify-content: center;
  font-size: 0.85rem;
}
.ic-table-wrap td small,
.ic-table-wrap th small {
  display: block;
  margin-top: 4px;
  font-weight: 400;
  color: var(--ic-muted);
  font-size: 0.73rem;
}
.ic-debate a p {
  font-weight: 400;
  color: var(--ic-muted);
  font-size: 0.82rem;
  line-height: 1.65;
  margin: 8px 0 0;
}
.ic-operating .ic-section-head {
  border-top: 3px solid #00856f;
}
.ic-shell a:focus-visible,
.ic-shell select:focus-visible,
.ic-shell summary:focus-visible {
  outline: 3px solid #087bab;
  outline-offset: 3px;
}
@media (max-width: 800px) {
  .ic-review-strip {
    grid-template-columns: 1fr 1fr;
  }
  .ic-review-strip > div:first-child {
    grid-column: 1/-1;
    border-bottom: 1px solid var(--ic-line);
  }
  .ic-review-policy {
    grid-template-columns: 1fr;
  }
  .ic-alternative-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }
}
@media (max-width: 480px) {
  .ic-review-strip {
    grid-template-columns: 1fr;
  }
  .ic-review-strip > div {
    border-bottom: 1px solid var(--ic-line);
    padding: 12px 16px;
  }
  .ic-record-hero {
    padding: 22px 16px;
  }
  .ic-driver {
    padding: 20px 16px;
  }
  .ic-valuation-explanations article {
    flex-wrap: wrap;
    gap: 5px;
  }
  .ic-review-timeline li {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .ic-record-pages {
    gap: 12px;
  }
  .ic-quality-findings > article {
    padding: 18px;
  }
}
@media print {
  .ic-review-strip {
    break-inside: avoid;
  }
  .ic-driver,
  .ic-review-policy article {
    break-inside: avoid;
  }
  .ic-record-pages {
    display: none;
  }
}
.ic-nav {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  overflow: visible;
  position: relative;
  z-index: 5;
}
.ic-nav-more {
  position: relative;
  min-width: 0;
}
.ic-nav-more > summary {
  cursor: pointer;
  list-style: none;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 16px 12px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #11324b;
}
.ic-nav-more > summary:after {
  content: "⌄";
  margin-left: 8px;
}
.ic-nav-more[open] > summary {
  background: #e1efec;
}
.ic-nav-more > div {
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 250px;
  background: white;
  box-shadow: 0 12px 30px #102f4726;
  border: 1px solid var(--ic-line);
  z-index: 30;
}
.ic-nav .ic-nav-more a {
  padding: 12px 16px;
  display: block;
  border-bottom: 1px solid var(--ic-line);
}
.ic-nav .ic-nav-more a:hover {
  background: #edf6f4;
}
.ic-margin-test {
  background: #f6f9fb;
}
.ic-margin-test .ic-short-chart {
  max-width: 900px;
}
.ic-nav-more > summary::-webkit-details-marker {
  display: none;
}
@media (max-width: 1050px) {
  .ic-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 500px) {
  .ic-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ic-nav-more > div {
    min-width: min(280px, 85vw);
  }
  .ic-nav-more > summary {
    padding: 14px 12px;
  }
}
@media print {
  .ic-nav {
    display: none;
  }
}

.ic-disclaimer {
  margin-top: 24px;
  padding: 24px;
  background: #f2f6f8;
  border-top: 3px solid #123b55;
  color: #425c6e;
}
.ic-disclaimer h2 {
  color: #123b55;
  font-size: 22px;
  margin: 0 0 12px;
}
.ic-disclaimer p {
  max-width: 1250px;
  font-size: 13px;
  line-height: 1.65;
}

/* Company operating scenarios */
.ic-connected-intro,.ic-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.ic-connected-intro>article,.ic-progress-grid>article{padding:22px;border-right:1px solid #d3e0e8;border-bottom:1px solid #d3e0e8;min-width:0}
.ic-connected-intro{background:linear-gradient(115deg,#f0f8f6,#f3f7fb)}
.ic-connected-intro h3,.ic-progress-grid h3{margin:9px 0;font-size:21px}
.ic-operating-layout{display:grid;grid-template-columns:minmax(240px, .65fr) minmax(0,1.65fr)}
.ic-operating-controls{background:#eff5f7;padding:24px;border-right:1px solid #cbdde6}
.ic-operating-controls label{display:block;font-weight:600;margin:12px 0 7px}
.ic-operating-controls output{float:right;color:#007e68;font-variant-numeric:tabular-nums}
.ic-operating-controls input,.ic-operating-controls select{width:100%;accent-color:#00816c;font:inherit}
.ic-operating-controls input[type=number],.ic-operating-controls select{padding:8px;border:1px solid #b6cbd7;background:white;color:#12364a}
.ic-operating-controls details{border-top:1px solid #cbdde6;margin:20px 0;padding-top:14px}
.ic-operating-controls summary{cursor:pointer;font-weight:600}
.ic-operating-evidence{padding:24px;min-width:0}
.ic-op-result{padding:0 0 15px;border-bottom:1px solid #cedee7;margin-bottom:20px}
.ic-op-result>strong{display:block;font:700 44px 'Source Serif 4',Georgia,serif;color:#00806b;line-height:1.2;margin-top:8px;font-variant-numeric:tabular-nums}
.ic-progress-grid small{color:#526d80;font-size:12px}
.ic-progress-grid strong{white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ic-operating-lab:focus-within{border-top-color:#006f8c}
@media(max-width:900px){.ic-connected-intro,.ic-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ic-operating-layout{grid-template-columns:1fr}}
@media(max-width:550px){.ic-connected-intro,.ic-progress-grid{grid-template-columns:1fr}.ic-operating-controls,.ic-operating-evidence{padding:16px}}
/* Report delivery and the compact price history in the identity header. */
.ic-report-actions{margin-left:auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.ic-pdf-form{margin:0}.ic-report-actions .ic-back{margin-left:0}.ic-report-actions .ic-button{padding:8px 12px;font-size:12px}
.ic-hero-company{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.78fr);column-gap:25px;align-content:start}.ic-hero-company>.ic-kicker,.ic-hero-company>h1,.ic-hero-company>.ic-company{grid-column:1}.ic-hero-company>h1{font-size:clamp(27px,2.7vw,46px)}.ic-hero-company>.ic-hero-metrics{grid-column:1/-1;width:100%}.ic-header-sparkline{margin:0;grid-column:2;grid-row:1/4;align-self:center;min-width:0;padding-left:18px;border-left:1px solid #355267}.ic-header-sparkline figcaption{display:flex;justify-content:space-between;gap:8px;color:#b9d3e2;font:600 10px/1.4 'IBM Plex Sans',sans-serif;letter-spacing:.8px;text-transform:uppercase}.ic-header-sparkline figcaption strong{color:#67ddc2;font-size:16px;letter-spacing:0}.ic-header-sparkline figcaption strong.ic-spark-negative{color:#ffb1a6}.ic-header-sparkline svg{width:100%;height:102px;display:block;margin-top:8px}.ic-spark-dates{display:flex;justify-content:space-between;gap:6px;font-size:8px;color:#afc9da}.ic-spark-dates span:nth-child(2){text-align:center}.ic-driver-value{column-gap:.35em}.ic-pdf-form button:focus-visible,.ic-report-actions a:focus-visible{outline:3px solid #00a487;outline-offset:3px}
@media(max-width:650px){.ic-hero-company{grid-template-columns:1fr}.ic-hero-company>h1{font-size:34px}.ic-header-sparkline{grid-column:1;grid-row:auto;border-left:0;border-top:1px solid #355267;padding:16px 0 0;margin-top:10px}.ic-header-sparkline svg{height:120px}.ic-report-actions{width:100%;margin-left:0;justify-content:space-between}.ic-spark-dates{font-size:10px}}
