/* Résumé — ATS-optimized single column. Screen shows a "paper" card; print
   strips all chrome to clean black-on-white. No inline styles (CSP: style-src 'self'). */

.resume-wrap {
  max-width: 850px;
  margin: 0 auto;
  padding: clamp(110px, 13vh, 150px) 20px 80px;
}

.resume-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 18px;
}
.resume-actions .r-hint { font-size: 12.5px; color: var(--mist-300, #8a97a6); margin-right: auto; }

.resume {
  background: #ffffff;
  color: #14181d;
  border-radius: 14px;
  padding: clamp(28px, 5vw, 56px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
  font-family: "General Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  line-height: 1.5;
}

.resume a { color: #0b5cab; text-decoration: none; }
.resume a:hover { text-decoration: underline; }

.resume h1 { font-size: 28px; margin: 0 0 4px; letter-spacing: -.01em; color: #0e1216; }
.resume .r-title { font-size: 15px; font-weight: 600; color: #2b3138; margin: 0 0 12px; }
.resume .r-contact {
  font-size: 13px; color: #3a4148; margin: 0 0 6px;
  display: flex; flex-wrap: wrap; gap: 4px 14px;
}
.resume .r-auth { font-size: 12.5px; color: #2b3138; font-weight: 600; margin: 0 0 22px; }

.resume h2 {
  font-size: 13px; text-transform: uppercase; letter-spacing: .08em;
  color: #0b5cab; border-bottom: 1.5px solid #d7dde3;
  padding-bottom: 5px; margin: 26px 0 12px;
}

.resume .r-summary { font-size: 14px; margin: 0; }

.r-job { margin: 0 0 16px; break-inside: avoid; }
.r-job-head {
  display: flex; justify-content: space-between; gap: 12px;
  flex-wrap: wrap; align-items: baseline;
}
.r-role { font-size: 15px; font-weight: 700; margin: 0; color: #0e1216; }
.r-org { font-weight: 600; color: #2b3138; }
.r-dates { font-size: 12.5px; color: #5a626b; white-space: nowrap; }
.r-job p { font-size: 13.5px; margin: 4px 0 0; }
.r-job ul { margin: 6px 0 0; padding-left: 18px; }
.r-job li { font-size: 13.5px; margin: 0 0 3px; }

.r-skills { display: grid; grid-template-columns: 150px 1fr; gap: 5px 14px; font-size: 13.5px; margin: 0; }
.r-skills dt { font-weight: 700; color: #2b3138; }
.r-skills dd { margin: 0; }

.r-edu-item, .r-pub-item { font-size: 13.5px; margin: 0 0 9px; break-inside: avoid; }
.r-edu-item strong, .r-pub-item strong { display: block; color: #0e1216; }
.r-muted { color: #5a626b; }

@media (max-width: 620px) {
  .r-skills { grid-template-columns: 1fr; gap: 2px 0; }
  .r-skills dt { margin-top: 8px; }
}

/* ---- Print: clean black-on-white, no site chrome ---- */
@media print {
  .nav, .footer, .resume-actions, .scroll-progress, .skip-link,
  #hero-canvas, .hero-grid, #nav-toggle, .theme-toggle, .cmdk-trigger { display: none !important; }
  html, body { background: #fff !important; }
  .resume-wrap { padding: 0; max-width: none; }
  .resume { box-shadow: none; border-radius: 0; padding: 0; color: #000; }
  .resume a { color: #000; }
  .resume h1, .resume .r-role, .resume .r-edu-item strong, .resume .r-pub-item strong { color: #000; }
  .resume h2 { color: #000; border-color: #000; }
  .r-job, .r-edu-item, .r-pub-item { break-inside: avoid; }
  @page { margin: 14mm; }
}
