/* Résumé page only. Shares the nav, tokens and type from base.css. */

.resume { max-width: 900px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 64px); }

.r-head { padding: 64px 0 40px; }
.r-name { font-size: clamp(2.2rem, 6vw, 3.6rem); line-height: 1.02; margin: 0 0 14px; }
.r-title { font-size: 15px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent1); margin: 0 0 22px; }
.r-contact { display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: 14px; color: oklch(0.78 0.015 250); }
.r-contact a { border-bottom: 1px solid oklch(0.97 0.008 255 / 0.3); padding-bottom: 2px; }
.r-contact a:hover { color: var(--accent1); border-color: var(--accent1); }

.r-section { padding: 40px 0; border-top: 1px solid oklch(0.97 0.008 255 / 0.12); }
.r-section > h2 {
  font-size: 13px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
  color: oklch(0.62 0.02 250); margin: 0 0 26px;
}

.r-job { margin-bottom: 34px; }
.r-job:last-child { margin-bottom: 0; }
.r-job-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 20px; margin-bottom: 4px; }
.r-company { font-size: 1.25rem; font-weight: 700; margin: 0; }
.r-dates { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: oklch(0.62 0.02 250); white-space: nowrap; }
.r-role { font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; color: oklch(0.7 0.02 250); margin: 0 0 12px; }
.r-job ul { margin: 0; padding-left: 20px; }
.r-job li { font-size: 16px; line-height: 1.7; color: oklch(0.87 0.01 250); margin-bottom: 7px; max-width: var(--measure); }
.r-job li:last-child { margin-bottom: 0; }
.r-casestudy { display: inline-block; margin-top: 12px; font-size: 13px; font-weight: 700; color: var(--accent1); border-bottom: 2px solid var(--accent1); padding-bottom: 2px; }

.r-degree { font-size: 1.15rem; font-weight: 700; margin: 0 0 6px; }
.r-school { font-size: 16px; line-height: 1.7; color: oklch(0.87 0.01 250); margin: 0 0 4px; }
.r-gpa { font-size: 14px; color: oklch(0.7 0.02 250); margin: 0; }

.r-skills { display: flex; flex-wrap: wrap; gap: 10px; }
.r-skill { font-size: 13px; padding: 7px 13px; border: 1px solid oklch(0.97 0.008 255 / 0.25); color: oklch(0.85 0.01 250); }

@media (max-width: 640px) {
  .r-dates { white-space: normal; }
}

/* ---------- print ---------- */
/* Résumés get printed and saved as PDFs, so paper gets a light theme, no chrome,
   and page breaks that don't split a role across two pages. */
@media print {
  .nav, .skip { display: none !important; }
  body { background: #fff; color: #111; }
  .print-only { display: inline; }

  .resume { max-width: none; padding: 0; }
  .r-head { padding: 0 0 16pt; }
  .r-name { font-size: 26pt; margin-bottom: 8pt; }
  .r-title { color: #111; font-size: 10pt; margin-bottom: 10pt; }
  .r-contact { color: #333; font-size: 9.5pt; gap: 5pt 16pt; }
  .r-contact a { color: #111; border-bottom: 0; }

  .r-section { padding: 13pt 0; border-top: 1px solid #bbb; }
  .r-section > h2 { color: #555; font-size: 9pt; margin-bottom: 11pt; }

  .r-job { margin-bottom: 15pt; break-inside: avoid; }
  .r-company { font-size: 13pt; }
  .r-dates, .r-role { color: #444; }
  .r-role { margin-bottom: 7pt; }
  .r-job li { color: #111; font-size: 10.5pt; line-height: 1.45; margin-bottom: 3pt; max-width: none; }
  .r-casestudy { display: none; }

  .r-degree { font-size: 12pt; }
  .r-school, .r-gpa { color: #111; }
  .r-skill { border-color: #999; color: #111; padding: 3pt 7pt; font-size: 9pt; }

  @page { margin: 14mm; }
}
