/* ═══════════════════════════════════════════════════════════
   PRINT — US Letter
   - Force light palette (cream / charcoal / green)
   - No page breaks orphaning headers
   - Images never split mid-page
   ═══════════════════════════════════════════════════════════ */

@page {
  size: Letter;
  margin: 0.75in 0.75in 0.85in;
}

@page :first {
  margin-top: 0.5in;
}

@media print {
  :root {
    --bg: #FAF7F2;
    --ink: #2C2C2C;
    --accent: #24362E;
    --muted: #6B6660;
    --card: #E8E4DF;
    --rule: #C9C4BD;
  }

  html, body {
    background: #FAF7F2 !important;
    color: #2C2C2C !important;
    font-size: 10.5pt;
    line-height: 1.5;
  }

  a { color: #2C2C2C !important; }

  /* Stop hover transitions and selection from carrying over */
  * { transition: none !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; color-adjust: exact; }

  /* Force light variants */
  .masthead-wordmark .dark,
  .foot-monogram .dark { display: none !important; }
  .masthead-wordmark .light,
  .foot-monogram .light { display: block !important; margin: 0 auto !important; }

  /* Tighter section rhythm in print */
  section { padding: 1.25in 0 1.0in; }
  .hero { padding-top: 0.6in; padding-bottom: 0.4in; }
  .how { padding: 1.0in 0; }

  .shell { max-width: 100%; padding: 0; }

  /* Type rebalance */
  h1 { font-size: 30pt; line-height: 1.08; }
  h2 { font-size: 22pt; line-height: 1.15; }
  h3 { font-size: 14pt; }
  .lede { font-size: 12pt; line-height: 1.5; }
  p { font-size: 10.5pt; line-height: 1.55; }
  .eyebrow { font-size: 8pt; }

  /* Page break discipline — let the layout flow naturally,
     only force a break before the visual reset (work gallery)
     and keep section openers attached to their content. */
  .work { break-before: page; page-break-before: always; }

  /* Never split inside small atomic blocks */
  .section-opener,
  h2, h3,
  .how-item,
  .daphne,
  .contact-card { break-inside: avoid; page-break-inside: avoid; }

  /* Headlines stay with the next paragraph */
  h2, h3, .section-opener { break-after: avoid; page-break-after: avoid; }
  h2 + p, h3 + p, .lede { break-before: avoid; page-break-before: avoid; }

  figure, .work-grid figure { break-inside: avoid; page-break-inside: avoid; }
  img { break-inside: avoid; page-break-inside: avoid; max-width: 100% !important; }

  /* Make work grid more print-friendly: simpler, taller */
  .work-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.3in;
  }
  .work-grid .span-7,
  .work-grid .span-5,
  .work-grid .span-4,
  .work-grid .span-6,
  .work-grid .span-8 {
    grid-column: span 1;
    aspect-ratio: 4 / 3;
  }
  .work-grid .span-12 {
    grid-column: span 2;
    aspect-ratio: 16 / 7;
  }
  .work-grid figcaption {
    font-size: 7pt;
    letter-spacing: 0.16em;
    line-height: 1.5;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  /* Daphne portrait — keep with bio */
  .daphne { gap: 0.35in; }
  .daphne-portrait { max-height: 5.5in; }

  /* Contact card stays charcoal */
  .contact-card {
    background: #2C2C2C !important;
    color: #FAF7F2 !important;
  }
  .contact-card * { color: #FAF7F2 !important; }
  .contact-card .btn { background: #FAF7F2 !important; color: #2C2C2C !important; }

  /* Footer */
  footer.foot { border-top: 1px solid #C9C4BD; padding-top: 0.4in; padding-bottom: 0.25in; }
}
