/* ===== Print / "Save as PDF" — turns the page into a clean 2-page CV ===== */
@media print {
  @page { size: A4; margin: 14mm 12mm; }

  * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }

  html, body { background: #fff !important; font-size: 10.5pt; line-height: 1.5; }

  .site-header, .nav, .nav-toggle, .skip-link, .hero__bg, .hero__cta,
  .site-footer, .no-print { display: none !important; }

  .section, .hero { padding-block: 0 10mm !important; border: 0 !important; background: #fff !important; }
  .section--tint { background: #fff !important; }
  .wrap { max-width: none; padding-inline: 0; }

  p, li { orphans: 3; widows: 3; }
  h2, h3 { break-after: avoid; }
  .job__top, .entry, .fact, .stat { break-inside: avoid; }

  .hero__inner { flex-direction: row; align-items: flex-start; text-align: start; gap: 8mm; }
  .hero__text { max-width: none; }
  .hero h1 { font-size: 22pt; }
  .hero__role { font-size: 11.5pt; }
  .hero__lede { max-width: none; margin-inline: 0; }
  .stats { justify-content: flex-start; }
  .portrait { flex: none; }
  .portrait__frame { width: 30mm; box-shadow: none; }
  .portrait__mono { font-size: 28pt; }
  .badge { box-shadow: none; }

  .stats { gap: 9mm; margin-block-start: 5mm; }
  .stat__value { font-size: 14pt; }

  .section-head { margin-block-end: 5mm; }
  h2 { font-size: 14pt; border-block-end: 1pt solid #ddd; padding-block-end: 2mm; }

  .card, .job__card, .entry, .contact-band {
    box-shadow: none !important; border: 1pt solid #e2e2e2 !important;
    background: #fff !important; color: #191a1f !important;
    padding: 4mm !important; border-radius: 4px !important;
  }
  .contact-band { display: block; }
  .contact-band h2, .contact-band p, .contact-item b, .contact-item span { color: #191a1f !important; }
  .contact-list { grid-template-columns: repeat(2, 1fr); display: grid; gap: 3mm; margin-block-start: 4mm; }
  .contact-item { background: #fff !important; border: 1pt solid #e2e2e2 !important; }
  .contact-item svg { color: #8a3324 !important; }

  .timeline::before { display: none; }
  .job { padding-inline-start: 0; break-inside: avoid; }
  .job::before { display: none; }
  .card, .entry, .skill-group { break-inside: avoid; }
  #skills .grid-3, #services .grid-3 { grid-template-columns: repeat(2, 1fr); gap: 4mm; }
  #projects .grid-3 { grid-template-columns: repeat(3, 1fr); gap: 4mm; }
  .impact-grid { grid-template-columns: repeat(3, 1fr); gap: 4mm; }
  .impact-card { break-inside: avoid; border-block-start: 2pt solid #8a3324 !important; }
  .impact-card__emoji { display: none !important; }
  .grid-2 { gap: 5mm; }

  .badge { box-shadow: none !important; background: #fff !important; border: 1pt solid #e2e2e2 !important; }
  .badge__dot { box-shadow: none !important; }
  .job__period { background: #f1ede7 !important; color: #191a1f !important; }
  .chip { box-shadow: none !important; }
  .chip--brand { background: #f1ede7 !important; color: #191a1f !important; border-color: #e2e2e2 !important; }

  a[href^="http"]::after { content: ""; }
}
