/* Résumé page — pairs with resume.html. Uses the tokens from site.css. */

.resume-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 2rem;
  padding: calc(var(--line-height) * 1em) 0 calc(4 * var(--line-height) * 1em);
}
.resume-head .project-title { font-size: 1.8rem; line-height: 1.1; }
.resume .resume-head p { margin: 0.7rem 0 0; color: #e8262a; }

/* Every row shares one grid: name | role (+ description) | dates */
.resume .row,
.resume-foot {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 3fr);
  column-gap: 3rem;
  align-items: baseline;
}

.resume section + section { margin-top: calc(4 * var(--line-height) * 1em); }
.resume h2 {
  padding: 1rem 0 2.6rem;
  font-weight: 700;
  color: var(--text);
}

.resume p { margin: 0; }
.resume .row h3 { margin: 0; }
.resume .row + .row { margin-top: 1rem; }
.resume .row.cont { margin-top: 0.3rem; }
.resume .row.detail + .row { margin-top: 2.6rem; }
.resume .meta { color: var(--text-muted); }
.resume .meta span { padding: 0 0.25em; }
.resume .dates { color: var(--text-muted); text-align: right; font-variant-numeric: tabular-nums; }
.resume .desc { max-width: 40em; margin-top: 0.9rem; line-height: 1.5; color: var(--text-secondary); }
.resume .desc li { position: relative; padding-left: 1.1em; }
.resume .desc li::before { content: ""; position: absolute; left: 0; top: calc(0.75em - 0.16em); width: 0.32em; height: 0.32em; background: var(--text); }
.resume .desc li + li { margin-top: 0.45rem; }

/* Skills | Tools | Languages, on the same three columns */
.resume-foot { align-items: start; }
.resume-foot > hr { grid-column: 1 / -1; }
.resume-foot p { max-width: 30em; line-height: 1.5; }
.resume ul { margin: 0; padding: 0; list-style: none; }
.resume li + li { margin-top: 0.3rem; }

@media (max-width: 720px) {
  .resume-head { display: block; }
  .resume-head .resume-pdf { display: inline-block; margin-top: 1rem; }
  .resume .row, .resume-foot { display: block; }
  .resume .row + .row { margin-top: 1.6rem; }
  .resume .row.cont { margin-top: 0.6rem; }
  .resume .dates { text-align: left; }
  .resume-foot > div + div h2 { padding-top: 2.6rem; }
}

/* ---- Print / Save as PDF: one US Letter page, no sidebar ---------------- */
.print-only { display: none; }

@media print {
  @page { size: letter; margin: 0.6in 0.65in; }

  :root, :root[data-theme="dark"] {
    --bg: #fff;
    --text: #1a1a1a;
    --text-secondary: #333;
    --text-muted: #777;
    --rule: #ccc;
    color-scheme: light;
  }
  html { font-size: 8.4px !important; }
  body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  .sidebar, .screen-only { display: none !important; }
  .print-only { display: block; }
  span.print-only { display: inline; }
  .page { margin: 0; padding: 0; }
  .resume > hr:first-child { display: none; }

  .resume-head { padding: 0 0 calc(3 * var(--line-height) * 1em); }
  .resume-head address { font-style: normal; text-align: right; color: var(--text-secondary); }
  .resume section + section { margin-top: calc(2 * var(--line-height) * 1em); }
  .resume h2 { padding-bottom: 1.8rem; }
  .resume .row.detail + .row { margin-top: 2.2rem; }
  .resume-foot ul { columns: 2; column-gap: 1.5rem; }
  .resume-foot li { break-inside: avoid; }
  .resume .row, .resume-foot { break-inside: avoid; }
}
