.legal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.legal-download {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  color: var(--cream);
  font: 500 12px/1.4 'DM Sans', sans-serif;
  letter-spacing: 0.04em;
  text-decoration: none;
}

.legal-download:hover,
.legal-download:focus-visible {
  border-color: var(--gold);
  color: var(--gold-light);
}

.legal-download-primary {
  background: var(--gold);
  border-color: var(--gold);
  color: #0b0806;
}

.legal-download-primary:hover,
.legal-download-primary:focus-visible {
  background: var(--gold-light);
  color: #0b0806;
}

.legal-resource-row {
  margin-top: 14px;
  color: var(--text-muted);
  font: 400 12px/1.7 'DM Sans', sans-serif;
}

.print-only { display: none; }

@media print {
  @page { size: Letter; margin: 0.62in 0.62in 0.7in; }

  html,
  body {
    background: #fffdf8 !important;
    color: #4a3820 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 9.5pt !important;
    line-height: 1.48 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  nav,
  body > footer,
  .theme-toggle,
  .theme-control,
  .rw-theme-toggle,
  .rw-theme-btn,
  .legal-actions,
  .legal-resource-row { display: none !important; }

  .print-only { display: block !important; }

  .print-header {
    border-bottom: 1px solid #c8873a;
    margin: 0 0 0.22in;
    padding: 0 0 0.12in;
  }

  .print-wordmark {
    color: #4a3820;
    font-family: 'Playfair Display', serif;
    font-size: 17pt;
    font-style: italic;
    line-height: 1;
  }

  .print-wordmark .wire { color: #a86b24; }
  .print-wordmark .emdr {
    font-family: 'DM Sans', sans-serif;
    font-size: 7pt;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0.18em;
    margin-left: 6px;
    text-transform: uppercase;
  }

  .print-document-title {
    color: #7a6040;
    float: right;
    font: 500 8pt/1.2 'DM Sans', sans-serif;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .print-footer { display: none !important; }

  body::after {
    content: attr(data-print-footer);
    position: fixed;
    right: 0;
    bottom: -0.38in;
    left: 0;
    border-top: 0.5px solid rgba(168, 107, 36, 0.35);
    color: #7a6040;
    padding-top: 0.08in;
    font: 400 6.8pt/1.25 'DM Sans', sans-serif;
    text-align: center;
  }

  .hero {
    border: 0 !important;
    padding: 0 0 0.2in !important;
  }

  .hero-eyebrow,
  .section-num { color: #a86b24 !important; }

  .hero-headline,
  h1,
  h2,
  h3 {
    color: #4a3820 !important;
    font-family: 'Playfair Display', serif !important;
    break-after: avoid-page;
    page-break-after: avoid;
  }

  .hero-headline { font-size: 25pt !important; margin-bottom: 0.08in !important; }
  .hero-headline br { display: none; }
  .hero-headline em { color: #a86b24 !important; }
  .hero-meta { color: #7a6040 !important; font-size: 7.5pt !important; }

  .content {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .section { margin-bottom: 0.25in !important; }
  h2 { font-size: 16pt !important; margin-bottom: 0.09in !important; }
  h3 { font-size: 12pt !important; margin: 0.14in 0 0.05in !important; }
  p, li, td, th { color: #4a3820 !important; font-size: 8.5pt !important; }
  p { line-height: 1.52 !important; margin-bottom: 0.07in !important; }
  li { line-height: 1.48 !important; margin-bottom: 0.035in !important; }
  strong { color: #2f2417 !important; }
  a { color: #8b581e !important; text-decoration: underline !important; }

  .advisory-banner,
  .highlight-box,
  table {
    background: #f5efe4 !important;
    border-color: rgba(168, 107, 36, 0.45) !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .advisory-banner { padding: 0.16in 0.2in !important; margin-bottom: 0.24in; }
  .advisory-inner { max-width: none !important; }
  .advisory-text { color: #4a3820 !important; }
  .highlight-box { border: 1px solid rgba(168, 107, 36, 0.45) !important; border-radius: 12px; padding: 0.15in 0.18in !important; }
  table { font-size: 8pt !important; }
  th, td { border-color: rgba(168, 107, 36, 0.25) !important; padding: 0.06in 0.08in !important; }

  h2,
  h3,
  table,
  tr,
  .highlight-box,
  .print-copy-notice { break-inside: avoid; page-break-inside: avoid; }

  .print-copy-notice {
    background: #f5efe4;
    border: 1px solid #a86b24;
    border-radius: 12px;
    color: #4a3820;
    margin: 0 0 0.22in;
    padding: 0.13in 0.16in;
    font-size: 8.5pt;
  }
}
