.resume-page { background: #e8edf3; color: #152033; }
.resume-toolbar { border-bottom: 1px solid #cbd5e1; background: #f8fafc; }
.resume-toolbar-inner { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 1.5rem; }
.resume-toolbar p { margin: 0; color: #526176; font-size: 0.9rem; }
.resume-toolbar-inner > div { display: flex; flex: none; gap: 0.65rem; }
.resume-toolbar .btn-secondary { border-color: #7890aa; background: #fff; color: #17324d; }
.resume-sheet {
  width: min(8.5in, calc(100% - 2rem)); margin: 2rem auto; padding: 0.5in 0.58in;
  background: #fff; box-shadow: 0 12px 45px rgba(15, 23, 42, 0.16); color: #182235;
  font-family: Arial, Helvetica, sans-serif; font-size: 10pt; line-height: 1.42;
}
.resume-sheet p, .resume-sheet li { color: #374151; }
.resume-identity { padding-bottom: 0.18in; border-bottom: 2px solid #0d648c; text-align: center; }
.resume-kicker { margin: 0 0 0.05in; color: #0d648c !important; font-size: 8.5pt; font-weight: 700; letter-spacing: 0.17em; text-transform: uppercase; }
.resume-identity h1 { color: #101827; font-family: Arial, Helvetica, sans-serif; font-size: 23pt; letter-spacing: 0.035em; line-height: 1.05; text-transform: uppercase; }
.resume-headline { margin: 0.06in 0 0.08in; color: #0d648c !important; font-size: 10.5pt; font-weight: 700; }
.resume-contact { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.04in 0.18in; color: #4b5563; font-size: 8.2pt; font-style: normal; }
.resume-contact a { color: #234e70; text-decoration: none; }
.resume-section { break-inside: auto; }
.resume-section h2 { margin: 0.17in 0 0.07in; padding-bottom: 0.035in; border-bottom: 1px solid #9bb8c9; color: #0d567b; font-family: Arial, Helvetica, sans-serif; font-size: 9.3pt; font-weight: 700; letter-spacing: 0.12em; line-height: 1.2; text-transform: uppercase; }
.resume-section p { margin: 0 0 0.055in; font-size: 9pt; }
.resume-summary p { font-size: 9.4pt; }
.resume-impact { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 0.14in; border: 1px solid #bfd0db; }
.resume-impact div { padding: 0.08in 0.1in; text-align: center; }
.resume-impact div + div { border-left: 1px solid #bfd0db; }
.resume-impact strong, .resume-impact span { display: block; }
.resume-impact strong { color: #0d648c; font-size: 12pt; line-height: 1.1; }
.resume-impact span { margin-top: 0.02in; color: #4b5563; font-size: 7.3pt; line-height: 1.25; }
.compact-columns { columns: 2; column-gap: 0.35in; margin: 0; padding-left: 0.18in; }
.resume-sheet ul { margin: 0.02in 0 0.06in; padding-left: 0.19in; }
.resume-sheet li { margin-bottom: 0.025in; padding-left: 0.02in; font-size: 8.7pt; }
.resume-sheet li::marker { color: #0d648c; }
.resume-role { margin-bottom: 0.1in; break-inside: avoid; }
.role-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 0.15in; margin-bottom: 0.025in; }
.role-heading h3 { color: #182235; font-family: Arial, Helvetica, sans-serif; font-size: 9.6pt; line-height: 1.25; }
.role-heading p { margin: 0; color: #596579; font-size: 8.1pt; font-style: italic; }
.role-heading .role-date { flex: none; font-style: normal; white-space: nowrap; }
.resume-earlier { padding: 0.055in 0.08in; background: #f1f5f9; }
.resume-earlier p { margin: 0; font-size: 8.3pt; }
.skill-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.05in 0.25in; }
.skill-groups p { margin: 0; font-size: 8.4pt; }
.resume-bottom-grid { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 0.25in; break-inside: avoid; }
.resume-additional { display: flex; flex-wrap: wrap; gap: 0 0.25in; }
.resume-additional h2 { width: 100%; }
@media (max-width: 720px) {
  .resume-toolbar-inner { align-items: flex-start; flex-direction: column; padding-block: 1rem; }
  .resume-toolbar-inner > div { width: 100%; flex-direction: column; }
  .resume-sheet { width: 100%; margin: 0; padding: 1.5rem 1rem; box-shadow: none; }
  .resume-impact, .resume-bottom-grid, .skill-groups { grid-template-columns: 1fr; }
  .resume-impact div + div { border-top: 1px solid #bfd0db; border-left: 0; }
  .compact-columns { columns: 1; }
  .role-heading { align-items: flex-start; flex-direction: column; gap: 0.1rem; }
  .role-heading .role-date { order: -1; }
}
@media print {
  @page { size: letter; margin: 0.42in 0.5in; }
  html, body.resume-page { background: #fff; }
  .no-print, .skip-link { display: none !important; }
  .resume-sheet { width: auto; margin: 0; padding: 0; box-shadow: none; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .resume-section h2 { break-after: avoid; }
  .resume-role { break-inside: avoid; }
  .resume-contact a { color: #234e70; }
}
