@media print {
  :root {
    --bg: #ffffff;
    --panel: #ffffff;
    --panel-strong: #ffffff;
    --ink: #111111;
    --muted: #333333;
    --line: #b7b7b7;
  }

  body {
    background: #ffffff;
    color: #111111;
    font-size: 12pt;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .site-header,
  .site-footer,
  .menu-toggle,
  .hero-actions,
  .button-row,
  .utility-banner {
    display: none !important;
  }

  .page-main {
    padding: 0;
  }

  .hero,
  .page-grid,
  .footer-grid,
  .faq-grid,
  .two-col,
  .three-col,
  .steps,
  .card-grid {
    display: block;
  }

  .hero-panel,
  .panel,
  .callout,
  .tile,
  .info-strip,
  .stat-card,
  .page-card {
    box-shadow: none;
    border: 1px solid #b7b7b7;
    break-inside: avoid;
    margin-bottom: 1rem;
  }

  a {
    color: #000000;
    text-decoration: underline;
  }

  a::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
  }

  .disclaimer-box,
  .form-status {
    border: 1px solid #999999;
    background: #f3f3f3;
  }

  .field-doc,
  .meta-card,
  .notes-block,
  .sheet-band,
  .roster-table th {
    break-inside: avoid;
  }

  .field-doc-hero {
    color: #111111;
    background: #efefef;
    border-bottom: 1px solid #b7b7b7;
  }

  .field-doc-hero h1,
  .field-doc-hero p,
  .field-doc-hero .lede,
  .field-doc-hero .kicker {
    color: #111111 !important;
  }

  .doc-pill {
    color: #111111;
    background: #ffffff;
    border: 1px solid #b7b7b7;
  }

  .field-doc-body {
    padding: 0.75rem;
  }

  .roster-table,
  .data-table {
    font-size: 10.5pt;
  }

  .roster-table th,
  .roster-table td {
    padding: 0.35rem 0.3rem;
  }

  .sheet-meta,
  .meta-card-grid,
  .compact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
