@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  /* Page setup */
  @page {
    margin: 1in;
    size: 8.5in 11in;
  }

  @page :left {
    margin: 1in 1.25in 1in 1in;
  }

  @page :right {
    margin: 1in 1in 1in 1.25in;
  }

  body {
    font-family: 'Newsreader', 'Times New Roman', serif;
    font-size: 10pt;
    line-height: 1.4;
    color: #000;
    background: #fff;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Typography */
  h1, h2, h3, h4 {
    font-family: 'Newsreader', 'Times New Roman', serif;
    page-break-after: avoid;
    page-break-inside: avoid;
    orphans: 3;
    widows: 3;
  }

  h1 {
    font-size: 24pt;
    font-weight: 700;
    line-height: 1.1;
    margin: 24pt 0 12pt 0;
    text-align: center;
  }

  h2 {
    font-size: 18pt;
    font-weight: 600;
    line-height: 1.2;
    margin: 18pt 0 9pt 0;
    border-top: 1pt solid #000;
    padding-top: 9pt;
  }

  h3 {
    font-size: 14pt;
    font-weight: 600;
    line-height: 1.3;
    margin: 14pt 0 7pt 0;
  }

  h4 {
    font-size: 12pt;
    font-weight: 600;
    line-height: 1.3;
    margin: 12pt 0 6pt 0;
  }

  p {
    margin-bottom: 10pt;
    orphans: 3;
    widows: 3;
    text-align: justify;
    hyphens: auto;
  }

  /* Masthead */
  .masthead {
    border-bottom: 2pt solid #000;
    margin-bottom: 24pt;
    padding-bottom: 12pt;
    text-align: center;
  }

  .masthead__title {
    font-size: 36pt;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.05em;
    margin-bottom: 6pt;
    text-transform: uppercase;
  }

  .masthead__tagline {
    font-style: italic;
    font-size: 10pt;
    margin-bottom: 6pt;
  }

  .masthead__date {
    font-size: 9pt;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border-top: 1pt solid #000;
    border-bottom: 1pt solid #000;
    padding: 3pt 0;
    margin-bottom: 12pt;
  }

  .masthead__nav,
  .skip-link,
  .newsletter-signup,
  .article-page__share,
  .article-page__newsletter {
    display: none !important;
  }

  /* Article layout */
  .article-page {
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .article-page__header {
    text-align: center;
    margin-bottom: 24pt;
    border-bottom: 1pt solid #ccc;
    padding-bottom: 12pt;
  }

  .article-page__category {
    font-size: 8pt;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: block;
    margin-bottom: 6pt;
  }

  .article-page__title {
    font-size: 20pt;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 6pt;
  }

  .article-page__subtitle {
    font-style: italic;
    font-size: 12pt;
    font-weight: 500;
    margin-bottom: 12pt;
  }

  .article-page__meta {
    font-size: 9pt;
    margin-bottom: 12pt;
    padding-top: 6pt;
    border-top: 1pt solid #ccc;
    display: block;
    text-align: center;
  }

  /* Multi-column article body */
  .article-page__body {
    column-count: 2;
    column-gap: 12pt;
    column-rule: 1pt solid #ccc;
    text-align: justify;
    hyphens: auto;
    margin-bottom: 24pt;
  }

  .article-page__body > * {
    break-inside: avoid;
  }

  .article-page__body h2,
  .article-page__body h3,
  .article-page__body h4 {
    break-after: avoid;
    column-span: none;
    margin-top: 12pt;
    margin-bottom: 6pt;
  }

  .article-page__body blockquote {
    column-span: all;
    font-style: italic;
    font-size: 12pt;
    text-align: center;
    margin: 12pt 0;
    padding: 6pt 0;
    border-top: 1pt solid #000;
    border-bottom: 1pt solid #000;
  }

  .article-page__body figure {
    break-inside: avoid;
    margin: 12pt 0;
  }

  .article-page__body img {
    width: 100%;
    max-width: 100%;
    height: auto;
    filter: grayscale(100%) contrast(1.2);
  }

  .article-page__body figcaption {
    font-size: 8pt;
    font-style: italic;
    text-align: center;
    margin-top: 3pt;
  }

  /* Drop caps */
  .article-page__body > p:first-of-type::first-letter {
    font-size: 3em;
    font-weight: 700;
    float: left;
    line-height: 0.8;
    margin: 0.05em 0.1em 0 0;
  }

  /* Homepage layout */
  .homepage {
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .featured {
    margin-bottom: 24pt;
    border-bottom: 2pt solid #000;
    padding-bottom: 12pt;
  }

  .featured__article {
    display: block;
  }

  .featured__image {
    display: none;
  }

  .featured__title {
    font-size: 18pt;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 6pt;
  }

  .featured__subtitle {
    font-style: italic;
    font-size: 12pt;
    margin-bottom: 6pt;
  }

  .featured__excerpt {
    font-size: 10pt;
    margin-bottom: 6pt;
  }

  .featured__meta {
    font-size: 9pt;
    margin-bottom: 6pt;
  }

  .featured__read-more,
  .homepage__body,
  .sidebar {
    display: none !important;
  }

  /* Archive layout */
  .archive-page {
    max-width: none;
    margin: 0;
    padding: 0;
  }

  .archive-page__header {
    text-align: center;
    margin-bottom: 24pt;
    border-bottom: 2pt solid #000;
    padding-bottom: 12pt;
  }

  .archive-page__title {
    font-size: 18pt;
    font-weight: 700;
    margin-bottom: 6pt;
  }

  .archive-page__subtitle {
    font-style: italic;
    font-size: 12pt;
    margin-bottom: 12pt;
  }

  .archive-list__year {
    font-size: 16pt;
    font-weight: 700;
    margin-top: 18pt;
    margin-bottom: 9pt;
    border-bottom: 1pt solid #000;
    padding-bottom: 3pt;
  }

  .archive-list__item {
    display: block;
    margin-bottom: 6pt;
    padding-bottom: 6pt;
    border-bottom: 1pt solid #ccc;
  }

  .archive-list__date {
    font-size: 9pt;
    display: block;
    margin-bottom: 2pt;
  }

  .archive-list__title {
    font-size: 10pt;
    font-weight: 600;
    display: block;
  }

  .archive-list__category {
    font-size: 8pt;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-left: 6pt;
  }

  /* Footer */
  .site-footer {
    margin-top: 36pt;
    border-top: 2pt solid #000;
    padding-top: 12pt;
    font-size: 8pt;
    text-align: center;
  }

  .site-footer__content,
  .site-footer__bottom p {
    display: none;
  }

  /* Links */
  a {
    color: #000 !important;
    text-decoration: underline;
  }

  a[href^="#"]::after {
    content: "";
  }

  /* Images */
  img {
    max-width: 100% !important;
    height: auto !important;
    filter: grayscale(100%) contrast(1.2);
    page-break-inside: avoid;
  }

  /* Code blocks */
  pre,
  code {
    font-family: 'Courier New', monospace;
    font-size: 9pt;
    background: #f5f5f5;
    border: 1pt solid #ccc;
  }

  pre {
    padding: 6pt;
    margin-bottom: 10pt;
    white-space: pre-wrap;
    word-wrap: break-word;
  }

  /* Tables */
  table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 10pt;
    font-size: 9pt;
  }

  th,
  td {
    border: 1pt solid #000;
    padding: 3pt 6pt;
    text-align: left;
  }

  th {
    font-weight: 600;
    background: #f5f5f5;
  }

  /* Lists */
  ul,
  ol {
    margin-bottom: 10pt;
    padding-left: 18pt;
  }

  li {
    margin-bottom: 3pt;
  }

  /* Blockquotes */
  blockquote {
    font-style: italic;
    margin: 12pt 0;
    padding: 6pt 12pt;
    border-left: 3pt solid #000;
    background: #f9f9f9;
  }

  blockquote p {
    margin-bottom: 0;
  }

  /* Horizontal rules */
  hr {
    border: none;
    border-top: 1pt solid #000;
    margin: 12pt 0;
  }

  /* Ensure no page breaks inside important elements */
  h1, h2, h3, h4, h5, h6,
  .featured,
  .article-page__header,
  .archive-page__header {
    page-break-inside: avoid;
  }

  /* Page breaks before major sections */
  .featured,
  .article-page,
  .archive-page {
    page-break-before: auto;
  }

  /* Remove all interactive elements */
  button,
  input,
  textarea,
  select {
    display: none !important;
  }
}
