.cpl-public { background: #fff; color: #18252b; }
.cpl-public .container { max-width: 1160px; }
.cpl-public p, .cpl-public li { font-size: 15px; line-height: 1.85; }
.cpl-public h1 { font-size: 36px; line-height: 1.25; font-weight: 750; margin: 10px 0 14px; }
.cpl-public h2 { font-size: 28px; line-height: 1.35; margin: 0 0 24px; }
.cpl-public h3 { font-size: 19px; line-height: 1.5; }
.cpl-public a { color: #8f1f27; text-decoration: underline; text-underline-offset: 3px; }
.cpl-public a:focus-visible { outline: 2px solid #8f1f27; outline-offset: 4px; }
.cpl-public h1, .cpl-public h2, .cpl-public h3, .cpl-public p, .cpl-public dd, .cpl-public a { overflow-wrap: anywhere; }
.cpl-public .cpl-heading { padding: 40px 0 30px; border-bottom: 1px solid #dce3e2; }
.cpl-public .cpl-back { display: inline-block; font-size: 13px; margin-bottom: 28px; }
.cpl-public .cpl-eyebrow { color: #8f1f27; font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.cpl-public .cpl-subtitle { color: #526066; }
.cpl-public .cpl-subtitle span { padding: 0 10px; }
.cpl-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin: 28px 0 0; padding-top: 24px; border-top: 1px solid #dce3e2; }
.cpl-facts dt { font-size: 13px; color: #526066; font-weight: 500; }
.cpl-facts dd { font-size: 24px; font-weight: 700; margin: 8px 0 0; }
.cpl-section-nav { border-bottom: 1px solid #dce3e2; }
.cpl-section-nav .container { display: flex; gap: 28px; flex-wrap: wrap; padding-top: 15px; padding-bottom: 15px; }
.cpl-section-nav a { font-size: 14px; font-weight: 600; }
.cpl-band { padding: 52px 0; scroll-margin-top: 100px; }
.cpl-band-muted { background: #f3f6f5; }
.cpl-section-title { display: flex; gap: 20px; align-items: center; justify-content: space-between; }
.cpl-scale { font-size: 13px; color: #526066; white-space: nowrap; }
.cpl-method { border-left: 4px solid #267568; background: #eef5f3; padding: 20px 24px; }
.cpl-method h3 { margin-bottom: 8px; }
.cpl-method p + p { margin-top: 8px; color: #41534f; }
.cpl-chart { margin: 32px 0; }
.cpl-chart figcaption { font-size: 18px; font-weight: 600; margin-bottom: 14px; }
.cpl-legend { display: flex; flex-wrap: wrap; gap: 24px; font-size: 13px; margin-bottom: 20px; }
.cpl-legend i { display: inline-block; width: 16px; height: 10px; margin-right: 7px; }
.cpl-actual-key, .cpl-actual { background: #237565; }
.cpl-target-key, .cpl-target { background: #c28b24; }
.cpl-axis { margin: 0 65px 8px 72px; display: flex; justify-content: space-between; font-size: 12px; color: #526066; }
.cpl-chart-row { display: grid; grid-template-columns: 60px minmax(0,1fr) 53px; gap: 12px; align-items: center; padding: 9px 0; }
.cpl-chart-code { font-size: 14px; font-weight: 700; }
.cpl-tracks { display: grid; gap: 5px; border-left: 1px solid #c5cfcc; background: repeating-linear-gradient(to right, transparent 0, transparent calc(25% - 1px), #dfe7e4 calc(25% - 1px), #dfe7e4 25%); }
.cpl-track { height: 13px; }
.cpl-bar { display: block; height: 100%; }
.cpl-chart-values { display: grid; gap: 1px; font-size: 12px; line-height: 17px; text-align: right; font-variant-numeric: tabular-nums; }
.cpl-chart-values strong { color: #16584b; }
.cpl-chart-values > span { color: #795315; }
.cpl-results table { width: 100%; min-width: 530px; font-size: 14px; }
.cpl-results caption { caption-side: top; color: #18252b; font-weight: 600; }
.cpl-results td, .cpl-results th { padding: 12px; }
.cpl-results thead th { background: #eef2f1; }
.cpl-results td { font-variant-numeric: tabular-nums; }
.cpl-public .cpl-source { font-size: 13px; line-height: 1.8; color: #526066; margin-top: 18px; }
.cpl-outcome { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 20px; border-bottom: 1px solid #d8e1de; padding: 24px 0; scroll-margin-top: 110px; }
.cpl-outcome-code { font-size: 14px; font-weight: 750; color: #8f1f27; padding-top: 4px; }
.cpl-outcome h3 { margin-bottom: 8px; }
.cpl-findings { padding-left: 22px; }
.cpl-findings li { list-style: disc; padding: 8px 0; }
.cpl-intro { max-width: 850px; }
.cpl-ppepp { padding: 0; margin: 28px 0 0; }
.cpl-ppepp > li { list-style: none; padding: 24px 0; border-top: 1px solid #d8e1de; }
.cpl-step-heading { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.cpl-step-heading > span { color: #8f1f27; font-size: 22px; font-weight: 750; width: 24px; }
.cpl-ppepp dl { margin: 0 0 0 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px 36px; }
.cpl-ppepp dt { font-size: 12px; font-weight: 600; color: #526066; margin-bottom: 4px; }
.cpl-ppepp dd { margin: 0; font-size: 14px; line-height: 1.8; }
.cpl-documents { margin: 0; padding: 0; }
.cpl-documents li { display: flex; align-items: center; gap: 20px; padding: 20px 0; border-bottom: 1px solid #dce3e2; }
.cpl-documents > li > i { font-size: 26px; color: #8f1f27; }
.cpl-documents a { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex: 1; min-width: 0; }
.cpl-documents a span { font-size: 13px; white-space: nowrap; }
@media (max-width: 767px) {
  .cpl-public h1 { font-size: 28px; }
  .cpl-public h2 { font-size: 24px; }
  .cpl-facts { grid-template-columns: 1fr 1fr; }
  .cpl-facts dd { font-size: 21px; }
  .cpl-section-nav .container { gap: 12px 20px; }
  .cpl-section-title { display: block; }
  .cpl-scale { display: block; margin: -12px 0 20px; }
  .cpl-method { padding: 18px; }
  .cpl-band { padding: 36px 0; }
  .cpl-outcome { grid-template-columns: 1fr; gap: 8px; }
  .cpl-ppepp dl { grid-template-columns: 1fr; margin-left: 0; }
  .cpl-documents a { display: block; }
  .cpl-documents a span { display: block; margin-top: 6px; }
}
