:root { --resume-ink: #13211d; --resume-muted: #52615b; --resume-line: #d7dfda; --resume-accent: #185b4d; }
.resume-app { width: min(980px, calc(100% - 2.5rem)); margin: 0 auto 4rem; }
.resume-intro { padding: 3rem 0 2rem; }
.resume-intro h1 { max-width: 17ch; margin-bottom: 1rem; font-size: clamp(2.2rem, 5vw, 4.1rem); color: var(--green-dark); }
.resume-intro > p { max-width: 72ch; color: var(--muted); }
.resume-switcher, .resume-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.resume-switcher a, .resume-actions a, .resume-actions button { padding: .6rem .8rem; color: var(--green-dark); background: #e2eee8; border: 1px solid #c1d8cc; border-radius: .55rem; font: inherit; font-size: .84rem; font-weight: 800; text-decoration: none; cursor: pointer; }
.resume-actions { margin: 1rem 0 3.5rem; }
.resume-actions button { color: white; background: var(--green); border-color: var(--green); }
.resume-sheet { position: relative; padding: 2.45rem 2.6rem 2rem; color: var(--resume-ink); background: #fff; border: 1px solid #cfdad3; box-shadow: 0 18px 46px rgba(24, 44, 36, .1); }
.resume-sheet + .resume-actions { margin-top: .9rem; }
.draft-strip { position: absolute; top: 0; left: 0; right: 0; padding: .35rem 2.6rem; color: #684719; background: #f4ead7; border-bottom: 1px solid #e5d5ba; font-size: .67rem; font-weight: 850; letter-spacing: .07em; }
.resume-header { display: flex; justify-content: space-between; gap: 1.5rem; padding-bottom: .9rem; border-bottom: 2px solid var(--resume-accent); }
.resume-header h2 { margin: 0; font-size: 2rem; letter-spacing: -.045em; }
.resume-role { margin: .18rem 0 0; color: var(--resume-accent); font-size: 1rem; font-weight: 800; }
.resume-contact { margin: 0; color: var(--resume-muted); text-align: right; font-size: .77rem; line-height: 1.5; }
.resume-sheet section { margin-top: 1rem; }
.resume-sheet h3 { margin: 0 0 .35rem; color: var(--resume-accent); font-size: .7rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.resume-sheet p { margin: 0; font-size: .83rem; line-height: 1.46; }
.target-line { color: var(--resume-ink); font-weight: 750; }
.skills { display: grid; grid-template-columns: repeat(3, 1fr); gap: .3rem .85rem; margin: 0; padding: 0; list-style: none; }
.skills li { font-size: .77rem; line-height: 1.35; }
.skills li::before { content: "•"; margin-right: .35rem; color: var(--resume-accent); }
.experience { padding: .65rem 0 .1rem; border-top: 1px solid var(--resume-line); }
.experience + .experience { margin-top: .55rem; }
.experience-heading { display: flex; justify-content: space-between; gap: 1rem; }
.experience-heading strong { font-size: .85rem; line-height: 1.25; }
.experience-heading span { color: var(--resume-muted); font-size: .73rem; text-align: right; white-space: nowrap; }
.experience ul { display: grid; gap: .25rem; margin: .42rem 0 0; padding-left: 1.05rem; }
.experience li { font-size: .77rem; line-height: 1.36; }
.handoff-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.2rem; }
.handoff-card { padding: 1.15rem; color: var(--resume-ink); background: white; border: 1px solid #cfdad3; box-shadow: 0 12px 30px rgba(24, 44, 36, .07); }
.handoff-card h2 { margin: 0 0 .45rem; color: var(--resume-accent); font-size: 1rem; }
.handoff-card p, .handoff-card li { font-size: .84rem; line-height: 1.55; }
.handoff-card ul, .handoff-card ol { margin: .45rem 0 0; padding-left: 1.15rem; }
.handoff-card a { color: var(--green-dark); font-weight: 800; }
.resume-note { padding-top: .65rem; border-top: 1px solid var(--resume-line); }
.resume-note p { color: var(--resume-muted); font-size: .72rem; }
@media (max-width: 680px) {
  .resume-app { width: min(100% - 1.25rem, 980px); }
  .resume-sheet { padding: 2.2rem 1.2rem 1.3rem; }
  .draft-strip { padding-inline: 1.2rem; }
  .resume-header, .experience-heading { display: grid; }
  .resume-contact, .experience-heading span { text-align: left; white-space: normal; }
  .skills { grid-template-columns: 1fr 1fr; }
  .handoff-grid { grid-template-columns: 1fr; }
}
@media print {
  @page { size: Letter; margin: .32in; }
  html, body { background: white; }
  body { color: #111; font-family: Arial, Helvetica, sans-serif; }
  .screen-only, .site-header, .skip-link { display: none !important; }
  .resume-app { width: auto; margin: 0; }
  .resume-sheet { display: none; padding: .28in .35in .22in; border: 0; box-shadow: none; }
  body[data-print-mode="support"] .resume-sheet[data-resume="support"],
  body[data-print-mode="commerce"] .resume-sheet[data-resume="commerce"] { display: block; }
  .draft-strip { position: static; margin: -.28in -.35in .12in; padding: .07in .35in; font-size: 6.6pt; }
  .resume-header { padding-bottom: .08in; }
  .resume-header h2 { font-size: 19pt; }
  .resume-role { font-size: 9pt; }
  .resume-contact { font-size: 7.1pt; }
  .resume-sheet section { margin-top: .08in; }
  .resume-sheet h3 { margin-bottom: .025in; font-size: 7pt; }
  .resume-sheet p { font-size: 7.75pt; line-height: 1.27; }
  .skills { gap: .025in .16in; }
  .skills li, .experience li { font-size: 7.35pt; line-height: 1.23; }
  .experience { padding: .05in 0 0; }
  .experience + .experience { margin-top: .04in; }
  .experience-heading strong { font-size: 8pt; }
  .experience-heading span { font-size: 6.9pt; }
  .experience ul { gap: .02in; margin-top: .03in; }
  .resume-note { padding-top: .05in; }
  .resume-note p { font-size: 6.8pt; }
}