/* Print stylesheet — used when someone prints the live site directly.
   For distributed PDF, a dedicated Playwright-rendered file is preferred. */

@page {
  size: letter;
  margin: 0.5in 0.55in;
}

@media print {
  :root {
    --ink: #101420;
    --ink-soft: #2A2F44;
    --ivory: #ffffff;
    --rust: #8F3B27;
    --warm-gray: #4A4437;
    --hairline: #B8B0A0;
  }

  html { font-size: 10.5pt; }

  body {
    background: #fff !important;
    background-image: none !important;
    color: var(--ink);
  }

  .scroll-progress, .theme-toggle { display: none !important; }

  .masthead, .kpis, .sheet, .foot { max-width: none; margin: 0; padding: 0; }
  .masthead { padding: 0 0 0.5rem; border-bottom: 1pt solid var(--ink); margin-bottom: 0.75rem; }

  .masthead__rail { margin-bottom: 0.75rem; }
  .masthead__name { font-size: 44pt; margin-bottom: 0.6rem; }
  .masthead__meta { margin-bottom: 0.4rem; }
  .masthead__contact { font-size: 8pt; }

  .kpis {
    padding: 0.6rem 0;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    border-bottom: 1pt solid var(--ink);
    margin-bottom: 0.75rem;
  }
  .kpi__num { font-size: 26pt; }
  .kpi__suffix { font-size: 13pt; }
  .kpi__label { font-size: 6.5pt; }

  .block {
    padding: 0.6rem 0;
    grid-template-columns: 100px 1fr;
    gap: 1rem;
    border-bottom: 0.5pt solid var(--hairline);
    page-break-inside: avoid;
  }
  .block__gutter { position: static; }
  .gutter__section { font-size: 7pt; }
  .gutter__label { font-size: 12pt; }

  .lede { font-size: 11pt; max-width: none; }
  .lede--secondary { font-size: 10pt; margin-top: 0.5rem; }
  .dropcap { font-size: 3.2em; }

  .arc__chart { height: 120px; }
  .arc__line { animation: none; stroke-dashoffset: 0; }
  .arc__dots circle, .arc__area { opacity: 1; animation: none; }

  .role { padding: 0.85rem 0; border-top: 0.5pt solid var(--hairline); page-break-inside: avoid; opacity: 1; transform: none; }
  .role:first-child { padding-top: 0; }
  .role__header { margin-bottom: 0.6rem; grid-template-columns: 100px 1fr; gap: 1rem; }
  .role__dates { font-size: 9pt; flex-direction: row; gap: 0.4rem; }
  .role__company { font-size: 16pt; }
  .role__descriptor { font-size: 9pt; }
  .role__position { padding-left: 100px; margin-top: 0.5rem; }
  .position__title { font-size: 11pt; }
  .position__tenure { font-size: 8pt; }
  .position__summary { font-size: 9.5pt; margin-bottom: 0.5rem; }

  .theme { margin-top: 0.4rem; padding-left: 0.5rem; border-left: 1.5pt solid var(--rust); }
  .theme__title { font-size: 7.5pt; margin-bottom: 0.25rem; }
  .theme__list li { font-size: 9pt; margin-bottom: 0.2rem; }

  .expertise { grid-template-columns: repeat(4, 1fr); gap: 0.75rem; }
  .ex-col__title { font-size: 7.5pt; }
  .ex-col li { font-size: 9pt; }

  .creds { grid-template-columns: 100px 1fr; gap: 0.3rem 1rem; }
  .creds dt { font-size: 7.5pt; }
  .creds dd { font-size: 9pt; padding-bottom: 0.35rem; }

  .foot { border-top: 1pt solid var(--ink); padding: 0.6rem 0 0; margin-top: 0.5rem; }
  .foot__grid { padding-bottom: 0.4rem; }
  .foot__sig { font-size: 14pt; }
  .foot__baseline { font-size: 6.5pt; }

  a { color: var(--ink) !important; border-bottom: none !important; }
  .role--current::before { display: none; }
}
