@media print {
  /* ── Hide non-content elements ─────────────────────────────────────────── */
  header,
  nav,
  footer,
  .skip-link,
  .theme-toggle,
  .cta-strip,
  .btn-primary,
  .btn-secondary,
  video,
  iframe {
    display: none !important;
  }

  /* ── Reset to print-friendly base ──────────────────────────────────────── */
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    animation: none !important;
    transition: none !important;
  }

  body {
    font-size: 12pt;
    line-height: 1.5;
    margin: 0;
    padding: 0;
  }

  /* ── Typography ─────────────────────────────────────────────────────────── */
  h1 { font-size: 24pt; page-break-after: avoid; }
  h2 { font-size: 18pt; page-break-after: avoid; }
  h3 { font-size: 14pt; page-break-after: avoid; }
  p, li { orphans: 3; widows: 3; }

  /* ── Show link URLs ─────────────────────────────────────────────────────── */
  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    color: #444 !important;
  }
  a[href^="#"]::after,
  a[href^="javascript"]::after {
    content: "";
  }

  /* ── Page breaks ────────────────────────────────────────────────────────── */
  section {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }
}
