/* The PDF is rendered locally so it also works without a browser PDF plugin. */
.resume-main{max-width:1120px;overflow-wrap:anywhere}
.resume-intro{padding-block:54px 48px}
.resume-intro h1{font-size:clamp(48px,6.6vw,86px);line-height:1.08;letter-spacing:-3px;margin:18px 0 14px}
.resume-title{font-size:clamp(21px,2.5vw,27px);font-weight:500;letter-spacing:-.5px}
.resume-contact{display:flex;align-items:center;flex-wrap:wrap;gap:0 24px;margin-top:14px;color:var(--muted);font-size:16px}
.resume-contact a{display:inline-flex;align-items:center;gap:5px;min-height:44px;color:var(--blue);min-width:0}
.resume-contact a:hover,.resume-preview-panel a:not(.button):hover{text-decoration:underline;text-underline-offset:4px}
.resume-document-actions{margin-top:28px}
.resume-preview-panel{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff}
.resume-preview-panel a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);gap:6px}
.resume-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.resume-preview-label{font-size:12px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.resume-preview-actions{display:flex;gap:8px}
.resume-preview-panel .icon-button{justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:6px;background:#fff;transition:background .2s,border-color .2s}
.resume-preview-panel .icon-button:hover{text-decoration:none;background:#eef0fd;border-color:var(--blue)}
.resume-preview-panel .icon-button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.pdf-viewport{display:flex;flex-direction:column;gap:12px;background:#e5e8ee;border:1px solid var(--line);border-radius:4px;padding:12px;min-width:0}
.pdf-viewport canvas{display:block;background:#fff;box-shadow:0 2px 10px rgb(23 33 50 / 12%)}
.pdf-status{color:var(--muted);padding:12px 0}
.resume-preview-panel [hidden]{display:none!important}
.resume-page .footer a{display:inline-flex;align-items:center;min-height:44px}
.resume-page .footer .brand{display:block}
.resume-print-document{display:none}
@media(max-width:700px){.resume-intro{padding-block:34px 32px}.resume-intro h1{letter-spacing:-2px}.resume-contact{gap:0 18px}.resume-preview-panel{padding:12px}}
@media(max-width:520px){.resume-intro h1{font-size:clamp(44px,10.8vw,56px)}.resume-contact>span{flex-basis:100%;margin-bottom:2px}}
@media print{
  @page{size:letter;margin:0}
  .resume-page>*{display:none!important}
  .resume-page>.resume-print-document{display:block!important}
  .resume-print-document picture{display:block;break-after:page}
  .resume-print-document picture:last-child{break-after:auto}
  .resume-print-document img{display:block;width:100%;height:auto}
}
