:root {
      --paper: #ffffff;
      --canvas: #ece9e4;
      --ink: #161412;
      --ink-soft: #34302c;
      --ink-muted: #67615b;
      --ink-faint: #8c867e;
      --line: rgba(0, 0, 0, 0.10);
      --line-strong: rgba(0, 0, 0, 0.18);
      --panel: #f7f4f0;
      --accent: #e58253;
      --accent-soft: rgba(229, 130, 83, 0.08);
      --brass-soft: rgba(199, 174, 106, 0.14);
      --shadow: 0 20px 46px rgba(0, 0, 0, 0.08), 0 4px 14px rgba(0, 0, 0, 0.05);
      --font-sans: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
      --font-mono: "JetBrains Mono", "Cascadia Mono", Consolas, monospace;
      --t-2xs: 6.4pt;
      --t-xs: 7pt;
      --t-sm: 7.55pt;
      --t-base: 8.2pt;
      --t-md: 8.8pt;
      --t-lg: 10.5pt;
      --t-xl: 15pt;
      --t-2xl: 18.5pt;
      --lh-tight: 1.18;
      --lh-body: 1.38;
      --sp-1: 3pt;
      --sp-2: 5pt;
      --sp-3: 7pt;
      --sp-4: 10pt;
      --sp-5: 13pt;
      --sp-6: 16pt;
      --sp-7: 20pt;
      --page-w: 8.5in;
      --page-px: 0.48in;
      --page-pt: 0.34in;
      --page-pb: 0.38in;
      --page-min-h: 10.8in;
      --radius: 8px;
    }

    *, *::before, *::after { box-sizing: border-box; }

    html, body {
      margin: 0;
      padding: 0;
      background: var(--canvas);
      color: var(--ink);
      font-family: var(--font-sans), sans-serif;
      -webkit-font-smoothing: antialiased;
      -webkit-print-color-adjust: exact;
      print-color-adjust: exact;
    }

    body { padding: 20px; }

    .page {
      width: min(100%, var(--page-w));
      min-height: var(--page-min-h);
      margin: 0 auto;
      background: var(--paper);
      border: 1px solid rgba(0, 0, 0, 0.08);
      box-shadow: var(--shadow);
      position: relative;
      overflow: hidden;
    }

    .page::before {
      content: "";
      position: absolute;
      inset: 0 0 auto 0;
      height: 10px;
      background: var(--accent);
    }

    .page__inner {
      padding: calc(var(--page-pt) + 8pt) var(--page-px) var(--page-pb);
    }

    .page-header {
      display: grid;
      gap: var(--sp-2);
      padding-bottom: var(--sp-3);
      border-bottom: 1px solid var(--line);
    }

    .header-top {
      display: grid;
      gap: var(--sp-2);
    }

    .identity { display: grid; gap: var(--sp-2); min-width: 0; }

    .doc-name {
      margin: 0;
      font-size: var(--t-2xl);
      line-height: 1;
      font-weight: 800;
      letter-spacing: -0.03em;
    }

    .doc-role {
      margin: 0;
      font-size: var(--t-md);
      line-height: 1.25;
      font-weight: 700;
      color: var(--accent);
    }

    .contact-row {
      list-style: none;
      display: flex;
      flex-wrap: wrap;
      gap: 3pt 12pt;
      margin: 0;
      padding: 0;
    }

    .contact-row li {
      font: 500 var(--t-xs)/1.35 var(--font-mono);
      color: var(--ink-muted);
    }

    .contact-row li + li::before {
      content: "•";
      margin-right: 10pt;
      color: var(--ink-faint);
    }

    .lede {
      margin: 0;
      font-size: var(--t-base);
      line-height: var(--lh-body);
      color: var(--ink-soft);
    }

    .section {
      margin-top: var(--sp-5);
      break-inside: avoid;
      page-break-inside: avoid;
    }

    .section-heading {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      gap: var(--sp-4);
      padding-bottom: var(--sp-1);
      border-bottom: 1.5pt solid var(--accent);
      margin-bottom: var(--sp-3);
    }

    .section-heading h2 {
      margin: 0;
      font-size: var(--t-md);
      line-height: 1.15;
      font-weight: 800;
      letter-spacing: 0.01em;
      text-transform: uppercase;
    }

    .match-band {
      padding: var(--sp-3) var(--sp-4);
      border: 1px solid rgba(199, 174, 106, 0.34);
      border-radius: var(--radius);
      background: linear-gradient(180deg, var(--brass-soft), rgba(199, 174, 106, 0.05));
    }

    .match-band p {
      margin: 0;
      font-size: var(--t-sm);
      line-height: 1.42;
      color: var(--ink-soft);
    }

    .skills-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--sp-2) var(--sp-6);
    }

    .skill-line {
      margin: 0;
      font-size: var(--t-sm);
      line-height: 1.42;
      color: var(--ink-soft);
    }

    .skill-line strong { color: var(--ink); }

    .entry-list,
    .meta-list { display: grid; gap: var(--sp-4); }

    .entry + .entry {
      padding-top: var(--sp-4);
      border-top: 1px solid var(--line);
    }

    .entry-header {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: var(--sp-4);
      margin-bottom: var(--sp-2);
    }

    .entry-title {
      margin: 0;
      font-size: var(--t-sm);
      line-height: var(--lh-tight);
      font-weight: 800;
      color: var(--ink);
    }

    .entry-meta {
      font: 500 var(--t-xs)/1.35 var(--font-mono);
      color: var(--ink-muted);
      white-space: nowrap;
      flex-shrink: 0;
    }

    .entry-caption {
      margin: 0 0 var(--sp-2);
      font-size: var(--t-xs);
      line-height: 1.4;
      color: var(--ink-muted);
    }

    .bullet-list {
      margin: 0;
      padding-left: 13pt;
      display: grid;
      gap: var(--sp-1);
    }

    .bullet-list li {
      font-size: var(--t-sm);
      line-height: 1.38;
      color: var(--ink-soft);
      break-inside: avoid;
      page-break-inside: avoid;
    }

    .meta-line {
      margin: 0;
      font-size: var(--t-sm);
      line-height: 1.42;
      color: var(--ink-soft);
    }

    .meta-line strong { color: var(--ink); }

    .doc-footer {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: var(--sp-4);
      margin-top: var(--sp-5);
      padding-top: var(--sp-2);
      border-top: 1px solid var(--line);
      break-inside: avoid;
      page-break-inside: avoid;
    }

    .doc-footer span {
      font: 500 var(--t-2xs)/1.35 var(--font-mono);
      color: var(--ink-faint);
      letter-spacing: 0.04em;
    }

    @page {
      size: Letter;
      margin: 0.25in;
    }

    @media print {
      body { padding: 0; background: #fff; }
      .page { width: auto; min-height: auto; border: 0; box-shadow: none; }
    }

    @media (max-width: 760px) {
      body { padding: 12px; }
      .page__inner { padding: 28px 18px 22px; }
      .header-top,
      .entry-header { flex-direction: column; align-items: flex-start; }
      .skills-grid { grid-template-columns: 1fr; }
      .contact-row { flex-direction: column; gap: 2pt; }
      .contact-row li + li::before { content: none; }
      .entry-meta { white-space: normal; }
    }