@media print {
  :root {
    --bg: #ffffff;
    --surface: #ffffff;
    --surface-strong: #ffffff;
    --text: #111111;
    --muted: #333333;
    --line: #111111;
    --accent: #111111;
    --accent-strong: #111111;
    --accent-soft: #ffffff;
    --shadow: none;
  }

  @page {
    margin: 0.65in;
    size: letter portrait;
  }

  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  html,
  body {
    background: #ffffff !important;
    color: #111111 !important;
    font-size: 10pt;
    line-height: 1.28;
  }

  body {
    min-width: 0;
  }

  a {
    color: inherit;
    text-decoration: none;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    break-after: avoid;
    page-break-after: avoid;
  }

  p,
  li {
    orphans: 2;
    widows: 2;
  }

  .filter-row,
  .skill-mode-row,
  .resume-version-screen,
  .previous-toggle,
  .previous-experience-control,
  .previous-experience.is-collapsed {
    display: none !important;
  }

  body::after {
    content: attr(data-resume-name);
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 100;
    color: #777777;
    font-size: 8pt;
    font-weight: 700;
  }

  .site-header {
    position: static;
    display: block;
    margin: 0 0 6pt;
    padding: 0 0 4pt;
    border-bottom: 1px solid #111111;
    background: transparent;
  }

  .site-brand {
    color: #111111;
    font-size: 18pt;
    line-height: 1.05;
  }

  .nav,
  .header-actions {
    display: none !important;
  }

  .resume-version {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 100;
    margin: 0;
    color: #777777;
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: 0.04em;
  }

  .resume-version-print {
    display: inline;
  }

  .resume-shell {
    width: 100%;
    margin: 0;
  }

  .contact-section,
  .hero,
  .section {
    padding: 0 0 10pt;
    border-bottom: 1px solid #cccccc;
    break-inside: auto;
  }

  .contact-section {
    padding-bottom: 6pt;
  }

  .hero {
    display: block;
  }

  .eyebrow {
    margin-bottom: 6pt;
    color: #111111;
    font-size: 9pt;
    font-weight: 700;
    text-transform: uppercase;
  }

  .headline {
    max-width: none;
    margin-bottom: 0;
    color: #333333;
    font-size: 10pt;
    line-height: 1.32;
  }

  .contact-panel,
  .summary-item,
  .skill-group,
  .credential,
  .role {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .contact-list {
    display: block;
    gap: 0;
  }

  .contact-item,
  .contact-link {
    display: block;
    min-height: 0;
    margin: 0 0 2pt;
    padding: 0;
    border: 0;
    background: transparent;
    color: #111111;
    font-size: 0;
    line-height: 1.25;
    text-align: left;
  }

  .contact-item::before,
  .contact-link::before {
    content: attr(data-print-label) ": " attr(data-print-value);
    color: #111111;
    font-size: 9.5pt;
  }

  .section-header {
    display: block;
    margin-bottom: 8pt;
  }

  .section h2 {
    margin: 0;
    padding-bottom: 2pt;
    border-bottom: 1px solid #111111;
    color: #111111;
    font-size: 14pt;
    line-height: 1.1;
  }

  .summary-grid,
  .skill-grid,
  .credential-grid {
    display: block;
  }

  .summary-item {
    margin-bottom: 7pt;
    break-inside: avoid;
  }

  .summary-item h3,
  .skill-group h3,
  .credential h3 {
    margin: 0 0 2pt;
    color: #111111;
    font-size: 10.5pt;
    line-height: 1.2;
  }

  .summary-item p,
  .credential p,
  .role-company,
  .role-context {
    color: #333333;
  }

  .summary-item p {
    margin: 0;
  }

  .credential-grid {
    columns: 1;
  }

  .credential {
    display: block;
    margin-bottom: 5pt;
    break-inside: avoid;
  }

  .credential h3 {
    display: inline;
    font-weight: 700;
  }

  .credential p {
    display: inline;
    margin: 0;
  }

  .credential p::before {
    content: " - ";
  }

  .experience-list,
  .previous-experience-body {
    display: block;
  }

  .previous-experience {
    margin-top: 12pt;
  }

  .previous-experience-header {
    margin-bottom: 8pt;
  }

  .role {
    margin-bottom: 12pt;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .role-heading {
    display: block;
    margin-bottom: 2pt;
    padding-bottom: 2pt;
    border-bottom: 1px solid #111111;
  }

  .role h3 {
    margin: 0;
    color: #111111;
    font-size: 11pt;
    line-height: 1.15;
  }

  .role-date {
    margin-top: 1pt;
    color: #111111;
    font-weight: 600;
    text-align: left;
    white-space: nowrap;
  }

  .role-company,
  .engagement-list {
    margin: 0 0 2pt;
    font-weight: 600;
  }

  .engagement-list p {
    margin: 0 0 2pt;
  }

  .role-context {
    margin: 0 0 5pt;
    font-size: 9.5pt;
  }

  .role-context p {
    margin: 0 0 2pt;
    font-style: italic;
  }

  .role-type-list,
  .meta-list,
  .skill-list {
    display: block;
    margin-top: 4pt;
  }

  .role-type-list .pill,
  .meta-list .pill,
  .skill-list .pill {
    display: inline;
  }

  .role-type-list .pill:not(:last-child)::after,
  .meta-list .pill:not(:last-child)::after,
  .skill-list .pill:not(:last-child)::after {
    content: ", ";
  }

  .pill {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #333333;
    font-size: inherit;
  }

  .role ul {
    margin: 4pt 0 0;
    padding-left: 13pt;
  }

  .role li {
    margin: 0 0 2pt;
    line-height: 1.25;
  }

  .role li + li {
    margin-top: 2pt;
  }

  .skill-group {
    break-inside: avoid;
  }

  .skill-table {
    display: block;
  }

  .skill-row {
    display: block;
    padding: 0 0 4pt;
    border-bottom: 0;
  }

  .skill-row > span:first-child {
    font-weight: 600;
  }

  .skill-row-meta {
    display: inline;
    color: #333333;
    font-size: inherit;
    white-space: normal;
  }

  .skill-row-meta::before {
    content: " - ";
  }

  .skill-row-meta strong {
    color: #111111;
  }
}
