/* Resume page - screen + print */
.resume { max-width: 900px; }
.resume-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 2rem; }
.resume-head h1 { margin: 0; font-size: 2.1rem; font-weight: 600; line-height: 1.1; color: var(--palette3); }
.resume-head .tagline { margin: .3rem 0 0; color: var(--palette5); font-size: 1.05rem; }
.resume-contact { list-style: none; margin: 0; padding: 0; text-align: right; font-size: .95rem; }
.resume-contact li { margin: 0; }
.resume-actions { margin-top: .75rem; }

.resume section { margin-bottom: 2rem; }
.resume h2 {
  margin: 0 0 .75rem;
  padding-bottom: .3rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--palette1);
  border-bottom: 2px solid var(--palette1);
}
.resume p { margin: 0 0 1rem; }

.cols { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 2rem; }
.cols li { break-inside: avoid; padding: .1rem 0; }
.cols-3 { columns: 3; }

.employer { margin-bottom: 1.75rem; }
.employer > h3 { margin: 0; font-size: 1.2rem; color: var(--palette3); }
.employer > .dates { margin: 0 0 .5rem; color: var(--palette6); font-size: .95rem; }
.role { margin: 0 0 1rem; }
.role h4 { margin: 0; font-size: 1.05rem; color: var(--palette4); }
.role .meta { margin: 0 0 .35rem; color: var(--palette6); font-size: .92rem; }
.role .meta span + span::before { content: " | "; }
.role .note { font-style: italic; }
.role ul { margin: 0; padding-left: 1.25rem; }
.role li { margin: .15rem 0; }

.cert-list { list-style: none; margin: 0; padding: 0; }
.cert-list li { margin-bottom: .6rem; }
.cert-list strong { display: block; color: var(--palette3); }
.cert-list span { color: var(--palette6); font-size: .92rem; }

@media (max-width: 640px) {
  .resume-contact { text-align: left; }
  .cols, .cols-3 { columns: 1; }
}

/* ---------- Print / PDF ---------- */
@page { size: Letter; margin: 0.55in 0.6in; }
@media print {
  body { background: #fff; font-size: 10pt; line-height: 1.35; display: block; min-height: 0; }
  .site-header, .site-footer, .skip-link, .resume-actions { display: none !important; }
  .content-area { margin: 0; }
  .content-container { max-width: none; padding: 0; }
  a { color: inherit; text-decoration: none; }
  .resume-head { margin-bottom: 1rem; }
  .resume-head h1 { font-size: 22pt; }
  .resume section { margin-bottom: 1rem; }
  .resume h2 { font-size: 10.5pt; margin-bottom: .4rem; }
  .employer { margin-bottom: .8rem; }
  .employer > h3 { font-size: 12pt; }
  .role h4 { font-size: 11pt; }
  .role { margin-bottom: .6rem; }
  .cols { columns: 2; }
  .cols-3 { columns: 3; }
  h2, h3, h4, .employer > .dates, .role .meta { break-after: avoid; }
  .role li, .cert-list, .resume-head, .cols { break-inside: avoid; }
  .role ul li:first-child { break-before: avoid; }
}
