.public-sample-wrap { padding-top: 2rem; }
.public-sample-document { position: relative; max-width: 64rem; padding: 2rem 1.25rem; border-radius: 0; box-shadow: none; }
.sample-document-head { padding-bottom: 2.5rem; border-bottom: 1px solid var(--color-line); }
.sample-edition { margin-bottom: 2.5rem; }
.sample-edition > p:first-child { font-size: 1.0625rem; font-weight: 650; line-height: 1.5; }
.sample-edition-description { margin-top: 0.3rem; color: var(--color-slate); font-size: 0.875rem; line-height: 1.6; }
.sample-edition-options { display: grid; gap: 0.25rem; margin-top: 1rem; }
.sample-edition-options > li { min-width: 0; }
.sample-edition-choice { display: flex; flex-direction: column; gap: 0.5rem; width: 100%; height: 100%; padding: 0.875rem 1rem; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: var(--color-slate); background: var(--color-canvas); font: inherit; text-align: left; }
.sample-edition-choice strong { font-size: 0.9375rem; font-weight: 600; line-height: 1.5; }
.sample-edition-status { font-size: 0.75rem; line-height: 1.5; }
.sample-edition-choice[aria-current] { border-bottom-color: var(--color-mineral-dark); color: var(--color-mineral-dark); background: #eef3f8; text-decoration: none; }
.sample-edition-access { margin-top: auto; padding-top: 0.25rem; font-size: 0.75rem; line-height: 1.5; }
.sample-document-head h1 { max-width: 21ch; font-size: 2.25rem; font-weight: 650; line-height: 1.08; letter-spacing: -0.035em; text-wrap: balance; }
.sample-document-subtitle { max-width: 38rem; margin-top: 1.25rem; color: var(--color-slate); font-size: 1.125rem; line-height: 1.6; }
.sample-document-byline { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-top: 1.5rem; color: var(--color-slate); font-size: 0.875rem; line-height: 1.6; }
.sample-portfolio-tile { display: inline-flex; align-items: center; gap: 0.75rem; max-width: 100%; margin-top: 1.5rem; padding: 0.9rem 1rem; border-radius: 0.75rem; color: #34495f; background: #eef3f8; }
.sample-portfolio-tile[data-portfolio-held="true"] { color: #254756; background: #eaf4f5; }
.sample-portfolio-tile > svg { flex: 0 0 auto; }
.sample-portfolio-tile p { font-size: 0.875rem; font-weight: 600; line-height: 1.5; }
.sample-portfolio-tile span { display: block; margin-top: 0.2rem; font-size: 0.75rem; line-height: 1.5; }
.public-sample-document > section { margin-top: 3rem; }
.public-sample-document h2 { margin-bottom: 1.25rem; font-size: 1.5rem; font-weight: 650; line-height: 1.3; letter-spacing: -0.02em; text-wrap: balance; }
.public-sample-document h3 { font-size: 1.0625rem; font-weight: 650; line-height: 1.4; }
.sample-summary p { font-size: 1.1875rem; line-height: 1.75; }
.sample-prose-section p, .sample-history-section > p { font-size: 1rem; line-height: 1.8; }
.sample-prose-section > p + p, .sample-history-section > p + p { margin-top: 1.25rem; }
.sample-factor { margin-top: 1.5rem; }
.sample-factor + .sample-factor { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--color-line); }
.public-sample-document .sample-factor > h3 { font-size: 1.25rem; }
.sample-factor > p { margin-top: 0.75rem; }
.sample-factor-visual .sample-visual-detail { margin-top: 1rem; }
.sample-prose-section + .sample-history-section, .sample-history-section + .sample-prose-section { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--color-line); }
.sample-section-heading > p { margin-top: -0.5rem; color: var(--color-slate); font-size: 0.875rem; line-height: 1.7; }
.sample-margin-figure { margin-top: 1.5rem; padding: 1.5rem; background: #f2f5f8; }
.sample-margin-figure figcaption { font-size: 1rem; font-weight: 600; }
.sample-margin-labels { display: flex; justify-content: space-between; gap: 1rem; margin-block: 1.25rem 0.75rem; }
.sample-margin-labels > span { font-size: 0.8125rem; line-height: 1.6; }
.sample-margin-labels > span:last-child { text-align: right; }
.sample-margin-labels strong { display: block; font-size: 1.5rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.sample-margin-diagram { display: block; width: 100%; height: 3rem; }
.sample-figure-caption { margin-top: 1rem; color: var(--color-slate); font-size: 0.8125rem; line-height: 1.7; }
.sample-chart-current { fill: var(--color-mineral-dark); }
.sample-chart-rest { fill: #b9c7d6; }
.sample-data-ledger { margin-top: 1.25rem; }
.sample-data-ledger > div { display: grid; gap: 0.5rem; padding-block: 1.25rem; border-bottom: 1px solid var(--color-line); }
.sample-data-ledger dt { color: var(--color-slate); font-size: 0.875rem; line-height: 1.5; }
.sample-data-ledger dd strong { font-size: 1.125rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.sample-data-ledger dd span { display: block; margin-top: 0.35rem; color: var(--color-slate); font-size: 0.875rem; line-height: 1.6; }
.sample-comparison-grid { display: grid; gap: 2rem; margin-block: 1.75rem; }
.sample-comparison-figure { min-width: 0; }
.sample-comparison-figure figcaption > span { display: block; margin-top: 0.35rem; color: var(--color-slate); font-size: 0.8125rem; }
.sample-eps-figure .sample-metric-explanation { margin-block: 0.75rem; color: var(--color-ink); font-size: 0.9375rem; line-height: 1.7; }
.sample-eps-figure .sample-comparison-bars > div { grid-template-columns: 3rem minmax(0, 1fr) 4.25rem; }
.sample-eps-effect { margin-top: 0.75rem; color: var(--color-ink); font-size: 0.875rem; line-height: 1.7; }
.sample-chart-previous { fill: #a9b9cc; }
.sample-comparison-growth { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.5rem; margin-top: 0.75rem; font-size: 1rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.sample-comparison-growth > span { color: var(--color-slate); font-size: 0.8125rem; font-weight: 400; }
.sample-source-library { padding-top: 1rem; border-top: 1px solid var(--color-line); }
.sample-source-disclosure > summary { padding-block: 0.75rem; cursor: pointer; list-style: none; }
.sample-source-disclosure > summary::-webkit-details-marker { display: none; }
.sample-source-disclosure > summary h2 { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0; font-size: 1.125rem; line-height: 1.5; text-wrap: initial; }
.sample-source-disclosure > summary svg { flex: 0 0 auto; }
.sample-source-disclosure[open] > summary svg { transform: rotate(180deg); }
.sample-source-disclosure > summary:focus-visible { outline: 2px solid var(--color-mineral-dark); outline-offset: 3px; }
.sample-source-library ol { display: grid; gap: 0.875rem; margin-top: 1rem; padding-left: 1.25rem; list-style: decimal; }
.sample-source-library li { padding-left: 0.4rem; scroll-margin-top: 7rem; }
.sample-source-library li::marker { color: var(--color-slate); font-size: 0.875rem; }
.sample-source-library li > a { color: var(--color-mineral-dark); font-size: 0.9375rem; font-weight: 600; text-decoration: underline; text-underline-offset: 0.2rem; overflow-wrap: anywhere; }
.sample-source-library li > p { margin-top: 0.3rem; color: var(--color-slate); font-size: 0.8125rem; line-height: 1.6; }
.sample-source-column { display: none; }
@media (min-width: 48rem) and (hover: hover) and (pointer: fine) {
  .public-sample-document[data-source-enabled="true"] .sample-source-column { display: block; position: absolute; inset-block: 0; inset-inline-end: 4rem; width: 16rem; pointer-events: none; }
  .sample-source-mark { position: relative; isolation: isolate; border-radius: 0.75rem; }
  .sample-source-mark::before { content: ""; position: absolute; inset: -0.375rem -0.75rem; z-index: -1; border: 1px solid transparent; border-radius: 0.75rem; }
  .sample-source-mark[data-source-active="true"]::before { background: #f1f5fa; border-color: #d7e2ef; }
}
.sample-source-panel { position: fixed; pointer-events: auto; margin-block: 0.75rem 1.25rem; z-index: 70; width: 22rem; max-width: calc(100vw - 2rem); padding: 1rem 1.125rem; background: white; border-radius: 0.75rem; box-shadow: 0 12px 36px rgb(18 39 60 / 18%); overflow: auto; }
.sample-source-panel[hidden] { display: none; }
.sample-source-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.sample-source-panel h3 { font-size: 0.875rem; }
.sample-source-panel ul { display: grid; gap: 0.875rem; margin-top: 0.75rem; }
.sample-source-panel li { padding-top: 0.875rem; border-top: 1px solid var(--color-line); }
.sample-source-panel li > a { color: var(--color-mineral-dark); font-size: 0.875rem; font-weight: 600; line-height: 1.5; text-decoration: underline; text-underline-offset: 0.2rem; overflow-wrap: anywhere; }
.sample-source-panel li > p { margin-top: 0.3rem; color: var(--color-slate); font-size: 0.75rem; line-height: 1.6; }
.public-sample-document ::selection { background: #d9e6f5; color: var(--color-ink); }
@media (min-width: 48rem) {
  .sample-edition-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .public-sample-document { padding: 3.5rem 4rem; }
  .sample-document-head h1 { font-size: 3.5rem; }
  .sample-data-ledger > div { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 2rem; }
}

.sample-comparison-bars { margin-top: 1.5rem; }
.sample-comparison-bars > div { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3.5rem; gap: 0.75rem; align-items: center; margin-top: 1rem; font-size: 0.9375rem; font-variant-numeric: tabular-nums; }
.sample-comparison-bars svg { width: 100%; height: 2rem; }
.sample-comparison-bars strong { text-align: right; font-weight: 650; }
.sample-chart-track { fill: #f2f5f8; }
.sample-comparison-scale > div { display: flex; justify-content: space-between; color: var(--color-slate); font-size: 0.8125rem; }
.sample-source-panel { scrollbar-color: #b9c7d6 white; scrollbar-width: thin; }

.sample-source-panel { margin: 0; }

.sample-context-section { padding: 1.5rem 1.25rem; background: #eef4f6; }
.sample-factor-visual { margin-top: 1.5rem; }
.sample-factor-visual > figcaption { font-size: 0.875rem; font-weight: 600; line-height: 1.6; }
.sample-factor-visual .sample-comparison-bars { margin-top: 0.75rem; }
.sample-factor-visual .sample-figure-caption { font-size: 0.8125rem; line-height: 1.7; }
.sample-chart-refund { fill: #dec4a7; }
.sample-prose-section .sample-visual-detail { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; font-size: 0.8125rem; }
.sample-visual-detail > span { display: inline-flex; align-items: center; gap: 0.5rem; }
.sample-visual-detail i { width: 0.75rem; height: 0.75rem; flex: 0 0 auto; }
.sample-legend-core { background: var(--color-mineral-dark); }
.sample-legend-refund { background: #dec4a7; }
.sample-margin-bars > div { grid-template-columns: 4.5rem minmax(0, 1fr) 4rem; gap: 0.5rem; }
.sample-impact-flow { display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem; margin-top: 1.25rem; padding-left: 1rem; border-left: 2px solid #b9c7d6; font-size: 0.875rem; line-height: 1.6; }
.sample-impact-flow > span[aria-hidden] { transform: rotate(90deg); color: var(--color-slate); }
.sample-region-diagram { display: block; width: 100%; height: 2rem; margin-top: 0.75rem; }
.sample-outlook-comparison { display: grid; gap: 1rem; margin-top: 1rem; }
.sample-outlook-comparison > div { padding-top: 0.75rem; border-top: 1px solid var(--color-line); }
.sample-outlook-comparison dt { color: var(--color-slate); font-size: 0.8125rem; }
.sample-outlook-comparison dd { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0.75rem; margin-top: 0.5rem; }
.sample-outlook-comparison dd > span { font-size: 0.75rem; color: var(--color-slate); }
.sample-outlook-comparison strong { display: block; color: var(--color-ink); font-size: 1.5rem; font-weight: 650; font-variant-numeric: tabular-nums; }
@media (min-width: 48rem) {
  .sample-context-section { padding: 2rem; }
  .sample-factor + .sample-factor { margin-top: 3rem; padding-top: 2rem; }
  .sample-prose-section + .sample-history-section, .sample-history-section + .sample-prose-section { margin-top: 4rem; }
  .sample-impact-flow { flex-direction: row; align-items: center; justify-content: space-between; }
  .sample-impact-flow > span[aria-hidden] { transform: none; }
  .sample-outlook-comparison { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}
.sample-source-mark:focus-visible, .sample-source-panel a:focus-visible { outline: 2px solid var(--color-mineral-dark); outline-offset: 3px; }

.sample-reading-progress { position: fixed; inset-inline: 0; z-index: 80; height: 3px; background: var(--color-line); pointer-events: none; }
.sample-reading-progress[hidden] { display: none; }
.sample-reading-progress > span { display: block; height: 100%; background: var(--color-mineral-dark); transform: scaleX(0); transform-origin: left; }
