@page {
  size: A4;
  margin: 18mm 16mm 20mm 16mm;
}

@media print {
  :root, html.dark {
    --paper: #FFFFFF;
    --paper-2: #FAFAF7;
    --paper-3: #F1F0EA;
    --ink: #1A1A1A;
    --ink-2: #3D3833;
    --ink-3: #6B645B;
    --rule: #1A1A1A;
    --rule-soft: rgba(26, 26, 26, 0.18);
    --terracotta: #C84B31;
    color-scheme: light !important;
  }
  html, body {
    background: #FFFFFF !important;
    color: #1A1A1A !important;
    font-size: 10.5pt;
    line-height: 1.45;
  }
  .site-header,
  .site-footer,
  .wa-float,
  .home-hero-actions,
  .nav-cta,
  .home-currently-note,
  .filter-strip,
  .newsletter,
  .contact-form,
  #theme-toggle,
  .btn,
  .marquee {
    display: none !important;
  }
  .site-header,
  .bio-portrait-aside { position: static !important; }
  .home-hero-grid,
  .bio-hero-grid,
  .bio-intro-grid,
  .career-row,
  .edu-skills-grid,
  .aff-grid,
  .ventures-grid,
  .field-grid,
  .contact-grid,
  .ai-grid,
  .live-products-grid,
  .ach-stat-grid,
  .lang-grid,
  .featured-essay,
  .essay-row,
  .course-row,
  .gallery-grid,
  .cv-grid,
  .recognition-row,
  .recognition-photos {
    grid-template-columns: 1fr !important;
    gap: 12pt !important;
  }
  h1.display { font-size: 28pt !important; line-height: 1.05 !important; }
  h2.display { font-size: 18pt !important; line-height: 1.1 !important; }
  h3.display { font-size: 13pt !important; line-height: 1.2 !important; }
  p.lede     { font-size: 11pt !important; }
  .numeral   { font-size: 24pt !important; }
  section, .career-row, .cv-row, .recognition-row, .live-product, .field-card {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  h1, h2, h3 {
    break-after: avoid;
    page-break-after: avoid;
  }
  a[href^="http"]::after,
  a[href^="mailto:"]::after {
    content: " ⟨" attr(href) "⟩";
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 8.5pt;
    color: #6B645B;
    word-break: break-all;
  }
  a[href^="#"]::after,
  .nav a::after,
  .footer-grid a::after { content: ""; }
  .container, .container-narrow { padding: 0 !important; max-width: none !important; }
  .photo, .photo-overlay { filter: grayscale(0.4) !important; }
}
