.resume-page { padding-block: 32px var(--space-section); }
.resume-title-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.resume-export { cursor: pointer; background: transparent; }
.resume-print-name, .resume-print-role { display: none; }
.resume-location { margin: 16px 0 0; font-size: var(--type-small); color: var(--text-secondary); }
.resume-contact { display: flex; flex-wrap: wrap; gap: 4px 20px; padding: 0; margin: 4px 0 0; list-style: none; font-size: var(--type-small); color: var(--text-secondary); }
.resume-contact a { overflow-wrap: anywhere; }
.resume-profile-links { margin-top: 4px; }
.resume-body { color: var(--text-secondary); }
.resume-body h2 { color: var(--text-primary); margin-block: 32px 12px; }
.resume-body h3 { color: var(--text-primary); font-size: 1.125rem; margin-block: 24px 8px; }
.resume-body h2 + h3 { margin-top: 16px; }
.resume-body strong { color: var(--text-primary); font-weight: 600; }
.resume-entry-meta { font-size: var(--type-small); margin-top: 4px; }
.resume-body h3:has(+ p:not(.resume-entry-meta)) { margin-bottom: 4px; }
.resume-body h3 + p:not(.resume-entry-meta) { margin-block: 0 4px; }
.resume-body .resume-entry-meta { margin-block: 2px; }
.resume-body ul { padding-left: 22px; margin-block: 12px 0; }
.resume-body li { margin-block: 8px; }

@media (max-width: 600px) {
  .resume-page { padding-top: 24px; }
}

@page { size: A4; margin: 15mm; }
@media print {
  :root { color-scheme: light; --text-primary: #111; --text-secondary: #333; --accent: #111; }
  html { scroll-behavior: auto; }
  body { background: white; color: #111; font-family: Arial, sans-serif; font-size: 10.5pt; line-height: 1.28; }
  #site-header, .site-footer, .skip-link, .resume-export, .resume-screen-title { display: none; }
  main { width: 100%; max-width: none; margin: 0; }
  .resume-page { padding: 0; }
  .resume-print-name, .resume-print-role { display: block; }
  .resume-title-row h1 { font-size: 22pt; letter-spacing: 0; }
  .resume-print-role { margin-top: 3pt; font-size: 12pt; }
  .resume-location { margin-top: 7pt; font-size: 9pt; }
  .resume-contact { margin-top: 3pt; gap: 2pt 10pt; font-size: 9pt; }
  .resume-profile-links { margin-top: 3pt; }
  .resume-contact a { text-decoration: none; }
  .resume-body h2 { font-size: 12pt; letter-spacing: 0; margin-block: 11pt 6pt; break-after: avoid; }
  .resume-body h3 { font-size: 11pt; letter-spacing: 0; margin-block: 10pt 3pt; break-after: avoid; }
  .resume-body h2 + h3 { margin-top: 7pt; }
  .resume-entry-meta { font-size: 9pt; margin-top: 2pt; break-after: avoid; }
  .resume-body ul { padding-left: 15pt; margin-top: 6pt; }
  .resume-body li { margin-block: 4pt; break-inside: avoid; }
  p { orphans: 3; widows: 3; }
}
