.resume-page { min-height: 100vh; background: #e9ede7; }
.resume-toolbar { position: sticky; z-index: 2; top: 0; display: flex; max-width: 900px; align-items: center; justify-content: space-between; margin: 0 auto; padding: 14px 0; background: #e9ede7; }
.resume-sheet { width: min(900px, calc(100% - 40px)); margin: 0 auto 50px; padding: 55px 65px 38px; background: #fff; box-shadow: 0 12px 50px rgb(31 45 35 / 9%); }
.resume-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 21px; border-bottom: 2px solid #263b2d; }
.resume-header .eyebrow { margin-bottom: 8px; font-size: 8px; }
.resume-header h1 { margin: 0; font: 800 37px var(--font-heading); letter-spacing: -2px; }
.resume-role { margin: 3px 0 0; color: #087eaf; font: 500 13px var(--font-heading); }
.resume-contact { display: flex; flex-direction: column; align-items: end; gap: 4px; color: #6f7e72; font-size: 10px; }
.resume-contact a { color: #39583c; text-decoration: none; }
.resume-section { margin-top: 20px; }
.resume-section h2 { margin: 0 0 9px; padding-bottom: 5px; border-bottom: 1px solid #dce4ed; color: #087eaf; font: 700 10px var(--font-heading); letter-spacing: 1px; text-transform: uppercase; }
.resume-section > p { margin: 0 0 5px; color: #4e5a51; font-size: 9px; line-height: 1.65; }
.resume-role-entry { display: grid; grid-template-columns: 205px 1fr; gap: 18px; margin-top: 11px; }
.resume-role-entry > div { display: flex; flex-direction: column; }
.resume-role-entry h3 { margin: 0; font: 600 10px/1.5 var(--font-heading); }
.resume-role-entry > div > span { color: #087eaf; font-size: 9px; font-weight: 600; }
.resume-role-entry time { margin-top: 3px; color: #879187; font-size: 8px; }
.resume-role-entry ul { margin: 0; padding-left: 13px; color: #58635a; font-size: 8.5px; line-height: 1.6; }
.resume-role-entry li { padding-left: 2px; margin-bottom: 2px; }
.education-resume { margin-top: 20px; }
.education-resume > p { margin-bottom: 3px; }
.resume-footer { margin-top: 22px; padding-top: 9px; border-top: 1px solid #e0e6dd; color: #89948a; font-size: 8px; }
@media (max-width: 700px) {
  .resume-toolbar { padding: 12px 20px; }
  .resume-sheet { width: calc(100% - 24px); padding: 32px 23px; }
  .resume-header { align-items: start; flex-direction: column; }
  .resume-contact { align-items: start; }
  .resume-role-entry { grid-template-columns: 1fr; gap: 4px; }
}
@page { size: letter; margin: 0.55in; }
@media print {
  body.resume-page { background: #fff; font-size: 10px; }
  .resume-toolbar { display: none; }
  .resume-sheet { width: 100%; margin: 0; padding: 0; box-shadow: none; }
  .resume-role-entry { break-inside: avoid; }
  .resume-section h2 { break-after: avoid; }
  .resume-footer { margin-top: 14px; }
}
