/* ATS-friendly resume: single column, standard headings, real text, system fonts.
   Everything is scoped to .resume-paper, and its classes start with rs- so the site's own
   layouts (e.g. the Experience page's .entry grid) can never leak into the paper. */

.resume-head { padding-bottom: clamp(40px, 5vw, 72px); }
.resume-hint { margin-top: var(--s4); color: var(--ink-2); font-size: var(--t-small); }

.resume-desk {
  padding: clamp(32px, 5vw, 72px) var(--gutter) var(--section);
  background: var(--surface);
}

.resume-paper {
  --r-ink: #111111;
  --r-muted: #3d3d3d;
  --r-rule: #b8b8b8;
  --r-accent: #121212;
  width: 100%;
  max-width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  padding: 16mm;
  background: #fff;
  border: 0;
  border-radius: var(--radius);
  box-shadow: 0 1px 0 rgb(0 0 0 / 0.04), 0 12px 40px rgb(0 0 0 / 0.06);
  color: var(--r-ink);
  font-family: var(--font);
  font-size: 10.5pt;
  line-height: 1.4;
}

.resume-paper .loading { color: var(--r-muted); }

.resume-paper h1 {
  margin: 0;
  font-family: inherit;
  font-size: 22pt;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.01em;
  color: var(--r-ink);
}
.resume-paper .rs-headline { margin: 3pt 0 0; font-size: 12pt; font-weight: 700; color: var(--r-accent); }
.resume-paper .rs-contact { margin: 6pt 0 0; color: var(--r-muted); font-size: 10pt; overflow-wrap: anywhere; }
.resume-paper .rs-contact a { color: inherit; text-decoration: none; }

.resume-paper h2 {
  margin: 14pt 0 6pt;
  padding-bottom: 2pt;
  border-bottom: 1px solid var(--r-rule);
  font-family: inherit;
  font-size: 11.5pt;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--r-accent);
  break-after: avoid;
}

.resume-paper p { margin: 0; }
.resume-paper .rs-entry { margin-top: 8pt; break-inside: avoid; }
.resume-paper .rs-entry:first-of-type { margin-top: 0; }
.resume-paper .rs-entry-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 12pt; }
.resume-paper .rs-entry-title { font-weight: 700; font-size: 11pt; margin: 0; }
.resume-paper .rs-entry-date { color: var(--r-muted); white-space: nowrap; }
.resume-paper .rs-entry-sub { color: var(--r-muted); font-style: italic; }
/* Skills: one line per group, the group name in bold. */
.resume-paper .rs-skills + .rs-skills { margin-top: 2pt; }
.resume-paper .rs-more { margin-top: 6pt; }
.resume-paper .rs-where { font-weight: 400; color: var(--r-muted); }
.resume-paper .rs-certs { margin: 0; }
.resume-paper strong { font-weight: 700; }
.resume-paper ul { margin: 3pt 0 0; padding-left: 14pt; }
.resume-paper li { margin: 1.5pt 0; }
.resume-paper li::marker { color: inherit; }
.resume-paper a { color: var(--r-accent); }

@media (max-width: 640px) {
  .resume-desk { padding-inline: 0; }
  .resume-paper { min-height: 0; padding: 24px 16px; border-inline: 0; border-radius: 0; box-shadow: none; font-size: 10pt; }
  .resume-paper h1 { font-size: 20pt; }
}

@page { size: A4; margin: 12mm 14mm; }

@media print {
  .resume-head, .site-header, .site-footer, .skip-link { display: none !important; }
  body { background: #fff; }
  .resume-desk { padding: 0; background: #fff; }
  /* Printed PDFs use a standard system font, which ATS parsers read most reliably. */
  .resume-paper { max-width: none; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 10.5pt; }
  .resume-paper a { color: inherit; text-decoration: none; }
  /* A little tighter on paper, so everything fits on two A4 pages. */
  .resume-paper { font-size: 10pt; line-height: 1.26; }
  .resume-paper h1 { font-size: 20pt; }
  .resume-paper h2 { margin: 8pt 0 4pt; font-size: 11pt; }
  .resume-paper li { margin: 1pt 0; }
  .resume-paper .rs-entry { margin-top: 5pt; }
  .resume-paper .rs-entry-title { font-size: 10.5pt; }
}
