/* ===== PRINT / PDF STYLES ===== */
@media print {
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { font-size: 11pt; }
  body {
    background: #ffffff;
    color: #1a1a1a;
    font-family: 'DM Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 400;
    line-height: 1.65;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Page breaks */
  .page-break { page-break-before: always; }
  .avoid-break { page-break-inside: avoid; }

  /* Cover */
  .cover {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 80pt 64pt;
    background: #faf6f0;
  }
  .cover-eyebrow {
    font-size: 9pt;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #ff4d00;
    margin-bottom: 24pt;
  }
  .cover-title {
    font-family: 'Syne', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 44pt;
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -0.03em;
    color: #1a1a1a;
    margin-bottom: 24pt;
  }
  .cover-subtitle {
    font-size: 14pt;
    color: #6b6560;
    max-width: 420pt;
    line-height: 1.6;
    font-weight: 300;
    margin-bottom: 48pt;
  }
  .cover-meta {
    font-size: 9pt;
    color: #a09a92;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-top: 1pt solid #e8e0d5;
    padding-top: 16pt;
    max-width: 420pt;
  }

  /* Chapter header */
  .chapter-header {
    padding: 64pt 64pt 32pt;
    border-bottom: 2pt solid #ff4d00;
  }
  .chapter-label {
    font-size: 8pt;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #ff4d00;
    margin-bottom: 12pt;
  }
  .chapter-title {
    font-family: 'Syne', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 28pt;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #1a1a1a;
    margin-bottom: 12pt;
  }
  .chapter-desc {
    font-size: 11pt;
    color: #6b6560;
    max-width: 480pt;
    line-height: 1.6;
    font-weight: 300;
  }

  /* Body content */
  .content { padding: 32pt 64pt 48pt; }
  h2 {
    font-family: 'Syne', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 15pt;
    font-weight: 700;
    color: #1a1a1a;
    margin: 28pt 0 12pt;
    letter-spacing: -0.01em;
  }
  h3 {
    font-family: 'Syne', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 12pt;
    font-weight: 700;
    color: #1a1a1a;
    margin: 20pt 0 8pt;
  }
  p { font-size: 11pt; color: #3a3632; margin-bottom: 12pt; line-height: 1.65; }
  p:last-child { margin-bottom: 0; }

  /* Action block */
  .action-block {
    background: #faf6f0;
    border-left: 3pt solid #ff4d00;
    padding: 14pt 18pt;
    margin: 20pt 0;
  }
  .action-block p {
    font-size: 10.5pt;
    font-weight: 500;
    color: #1a1a1a;
    margin: 0;
  }

  /* Step list */
  .step-list { list-style: none; margin: 16pt 0; }
  .step-list li {
    display: flex;
    gap: 12pt;
    margin-bottom: 12pt;
    font-size: 11pt;
    color: #3a3632;
    line-height: 1.6;
    align-items: flex-start;
  }
  .step-num {
    font-family: 'Syne', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 9pt;
    font-weight: 700;
    color: #ffffff;
    background: #ff4d00;
    width: 20pt;
    height: 20pt;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1pt;
  }

  /* Callout */
  .callout {
    background: rgba(255, 77, 0, 0.06);
    border-radius: 6pt;
    padding: 12pt 16pt;
    margin: 16pt 0;
  }
  .callout p { font-size: 10.5pt; color: #6b6560; margin: 0; }

  /* Checklist */
  .checklist { list-style: none; margin: 12pt 0; }
  .checklist li {
    display: flex;
    gap: 8pt;
    margin-bottom: 6pt;
    font-size: 10.5pt;
    color: #3a3632;
    line-height: 1.5;
    align-items: flex-start;
  }
  .checklist li::before {
    content: '☐';
    color: #ff4d00;
    font-size: 10pt;
    flex-shrink: 0;
    margin-top: 1pt;
  }

  /* Two-column grid */
  .two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24pt;
    margin: 16pt 0;
  }
  .two-col-item h3 { margin-top: 0; font-size: 11pt; }
  .two-col-item p { font-size: 10.5pt; margin-bottom: 8pt; }

  /* Closing page */
  .closing-page {
    padding: 80pt 64pt;
    background: #faf6f0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .closing-headline {
    font-family: 'Syne', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 30pt;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #1a1a1a;
    margin-bottom: 20pt;
  }
  .closing-headline em { color: #ff4d00; font-style: normal; }
  .closing-body { font-size: 12pt; color: #6b6560; max-width: 420pt; line-height: 1.7; font-weight: 300; margin-bottom: 32pt; }
  .closing-cta {
    display: inline-block;
    background: #ff4d00;
    color: #ffffff;
    font-family: 'Syne', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 11pt;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 12pt 24pt;
    text-decoration: none;
    margin-bottom: 48pt;
  }
  .closing-tags { display: flex; flex-wrap: wrap; gap: 8pt; margin-top: 24pt; }
  .closing-tags span {
    font-size: 9pt;
    padding: 5pt 12pt;
    border: 1pt solid #e8e0d5;
    border-radius: 100pt;
    color: #6b6560;
    letter-spacing: 0.04em;
  }

  /* Footer */
  .doc-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12pt 64pt;
    border-top: 0.5pt solid #e8e0d5;
    font-size: 8pt;
    color: #a09a92;
    letter-spacing: 0.04em;
    display: flex;
    justify-content: space-between;
  }

  @page {
    margin: 0.75in 0.75in 0.75in 0.75in;
    @bottom-center {
      content: counter(page);
      font-size: 8pt;
      color: #a09a92;
    }
  }
}