@media print {
  /* ── Page setup ── */
  @page {
    size: letter;
    margin: 0.7in 0.5in 0.6in 0.5in;
  }

  /* ── Reset colors ── */
  * {
    color: #000 !important;
    background: #fff !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  /* ── Hide UI chrome ── */
  .header-bar, .back-to-top, #freshness, .archive-back,
  .permalink, .classification, .splash, .offline-banner, .ptr-indicator,
  .top-stories { display: none !important; }

  /* ── Classification: title page footer only ── */
  .print-header, .print-footer { display: none !important; }

  /* ── Container reset ── */
  .container { max-width: none; padding: 0; margin: 0; }
  body { margin: 0; padding: 0; }

  /* ── Typography: inherit user display settings ── */
  body { font-size: 11pt; line-height: 1.5; }
  body.font-small { font-size: 9.5pt; }
  body.font-large { font-size: 12.5pt; }
  body.font-justify p { text-align: justify !important; hyphens: auto !important; -webkit-hyphens: auto !important; }
  h1 { font-size: 16pt; }
  h2 { font-size: 14pt; }
  h3 { font-size: 12pt; }
  a { text-decoration: underline !important; color: #000 !important; }
  .print-toc a, .print-cover a { text-decoration: none !important; }

  /* ── Cover Page ── */
  .print-cover {
    display: block !important;
    text-align: center;
    padding-top: 2.5in;
    break-after: page;
  }
  .print-cover-class {
    font-size: 7.5pt;
    font-family: "Times New Roman", Times, serif !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .print-cover-class.bottom {
    margin-top: 3in;
  }
  .print-cover .cover-title {
    font-size: 28pt;
    font-family: "Times New Roman", Times, serif !important;
    font-weight: bold;
    margin-bottom: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .print-cover .cover-date {
    font-size: 12pt;
    font-family: "Times New Roman", Times, serif !important;
    margin-bottom: 0.5rem;
  }
  .print-cover .cover-count {
    font-size: 10pt;
    font-family: "Times New Roman", Times, serif !important;
    font-style: italic;
  }
  .print-cover .cover-rule {
    display: block;
    width: 3in;
    border: none;
    border-top: 2pt solid #000;
    margin: 1.5rem auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .print-cover .cover-attribution {
    font-size: 9pt;
    font-family: "Times New Roman", Times, serif !important;
    letter-spacing: 0.04em;
    margin-top: 1.5rem;
  }

  /* ── Table of Contents ── */
  .print-toc {
    display: block !important;
    break-after: page;
  }
  .print-toc h2, .print-bluf h2 {
    font-size: 14pt;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1pt solid #000;
    padding-bottom: 0.2rem;
    margin-top: 1.5rem;
  }
  .print-toc ul {
    list-style-type: none;
    padding-left: 0;
  }
  .print-toc ul li {
    padding: 0.15rem 0;
    font-size: 11pt;
  }

  /* ── Bottom Line Up Front ── */
  .print-bluf {
    display: block !important;
    break-after: page;
  }

  /* Hide the original inline title/toc/bluf (replaced by print wrappers) */
  .print-replaced { display: none !important; }

  /* ── Category sections: new page per section ── */
  #content > h1 {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2pt solid #000;
    padding-bottom: 0.15rem;
    margin-top: 0;
    break-before: page;
  }

  /* ── Stories: one article per page, footnotes at page bottom ── */
  .print-story {
    break-before: page;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }
  h1 + .print-story {
    break-before: auto;
    min-height: auto;
    margin-top: 1rem;
  }
  .print-story .print-footnotes {
    margin-top: auto;
  }
  .print-story h3 {
    border-bottom: 1pt solid #000;
    padding-bottom: 0.15rem;
    margin-top: 0;
  }

  /* ── Collection Gaps on its own page ── */
  .print-collection-gaps {
    display: block !important;
    break-before: page;
  }
  .print-collection-gaps h2 {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2pt solid #000;
    padding-bottom: 0.15rem;
    margin-top: 0;
  }

  /* ── HRs: hide (replaced by page breaks) ── */
  #content > hr { display: none !important; }

  /* ── Orphan/widow control ── */
  p { orphans: 3; widows: 3; }
  body:not(.font-justify) p { text-align: left !important; hyphens: manual !important; -webkit-hyphens: manual !important; }
  .story-bluf { font-style: italic; font-size: 10pt; color: #000 !important; }
  .story-bluf-label { font-weight: 700; font-style: normal; font-size: 7.5pt; }
  .analyst-note { display: block !important; -webkit-line-clamp: unset !important; overflow: visible !important; }
  .analyst-note-more { display: none !important; }
  h1, h2, h3 { break-after: avoid; }

  /* ── Source lists: compact ── */
  #content ul, #content ol { padding-left: 1.5em; }
  #content ul li, #content ol li { font-size: 9.5pt; line-height: 1.4; margin-bottom: 0.15rem; }

  /* ── Force sourcing details open ── */
  #content details { display: block !important; border: none !important; padding: 0 !important; }
  #content details > summary { display: none !important; }
  #content details ul { list-style: none; padding-left: 0; }
  #content details p { margin: 0.15rem 0; }
  .print-sources-label { display: block !important; font-weight: bold; font-size: 10pt; margin-bottom: 0.3rem; text-transform: uppercase; letter-spacing: 0.04em; border-bottom: 0.5pt solid #000; padding-bottom: 0.1rem; }
  .print-url { display: none !important; }

  /* ── Knowledge annotations: superscript refs, footnotes at section end ── */
  ka { text-decoration: none !important; border: none !important; }
  ka .ka-tip { display: none !important; }
  sub.ka-ref { display: inline !important; font-size: 0.65em; line-height: 0; vertical-align: sub; font-weight: bold; }
  .print-footnotes {
    display: block !important;
    margin-top: 1.5rem;
    padding-top: 0.5rem;
    border-top: 1pt solid #000;
    font-size: 8.5pt;
    line-height: 1.4;
  }
  .print-footnotes h4 {
    font-size: 9pt;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.3rem;
  }
  .print-footnotes ol { padding-left: 1.5em; margin: 0; }
  .print-footnotes li { margin-bottom: 0.2rem; font-size: 8.5pt !important; line-height: 1.4 !important; }
  .print-footnotes .fn-term { font-weight: bold; }
  .print-footnotes .fn-wiki { font-style: italic; font-size: 7.5pt; }
  .print-footnotes a.fn-term { text-decoration: underline !important; }
  rc { border: none !important; }
  rc .rc-tip { display: none !important; }

  /* ── WEP: bold italic estimative language ── */
  wep { border: none !important; font-style: italic; font-weight: 600; }
  .wep-tip { display: none !important; }
  .print-wep-prob { display: inline !important; font-size: 0.85em; font-style: normal; font-weight: normal; }
  sp { font-style: normal; }

  /* ── SC: source citation superscripts ── */
  sc .sc-tip { display: none !important; }

  /* ── Source Summary ── */
  .source-summary-statement { font-size: 8.5pt; color: #444; border-left: 1pt solid #999; padding: 0.2rem 0.4rem; margin: 0.3rem 0 0.5rem 0; }

  /* ── H2 border consistency ── */
  #content h2 {
    border-bottom: 1pt solid #000;
    padding-bottom: 0.15rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  /* ── Tables ── */
  table { border-collapse: collapse; width: 100%; font-size: 9.5pt; }
  th, td { border: 1pt solid #000; padding: 0.2rem 0.4rem; }
  th { font-weight: bold; }
}
