@media print {
  /* Hide interactive / decorative elements */
  nav,
  #theme-toggle,
  .hero-cta,
  #earlier-toggle,
  .availability-dot {
    display: none !important;
  }

  /* Show earlier roles when printing */
  #earlier-roles {
    display: flex !important;
  }

  /* Reset backgrounds and colors */
  *, *::before, *::after {
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: none !important;
  }

  body {
    font-size: 11pt;
    line-height: 1.5;
  }

  main {
    max-width: 100%;
    padding: 0;
  }

  /* Remove top padding since nav is gone */
  section {
    padding-top: 32pt;
  }

  #hero {
    padding-top: 16pt;
    text-align: left;
  }

  .hero-avatar {
    width: 64pt;
    height: 64pt;
    margin: 0 0 12pt;
    border: 1px solid #ccc !important;
  }

  /* Ensure sections don't break awkwardly */
  .job {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  h1  { font-size: 20pt; }
  h2  { font-size: 8pt; }
  h3  { font-size: 11pt; }

  .subtitle  { font-size: 12pt; }
  .tagline   { font-size: 9pt; }
  .scale     { font-size: 8pt; }
  .period    { font-size: 8pt; }

  /* Show link URLs after contact links */
  #contact a[href]::after {
    content: " (" attr(href) ")";
    font-size: 8pt;
    color: #555 !important;
  }

  /* Don't print mailto: prefix verbatim */
  #contact a[href^="mailto:"]::after {
    content: "";
  }

  .tags span,
  .skill-list span {
    border: 1px solid #ccc !important;
  }

  .job {
    border-left-color: #ccc !important;
  }

  .job::before {
    background: #000 !important;
    opacity: 0.4;
  }

  @page {
    margin: 1.5cm 2cm;
  }
}
