.print-resume-root{pointer-events:none;visibility:hidden;width:210mm;position:fixed;top:0;left:-10000px}.print-route{color:#000;background:#fff;min-height:100vh;padding:16px}.print-route__toolbar{gap:8px;max-width:210mm;margin:0 auto 16px;display:flex}.print-route__back,.print-route__action{appearance:none;color:#000;font:inherit;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:8px;padding:10px 14px;font-size:14px}.print-route__action{border-color:#000;margin-left:auto;font-weight:600}@media print{.print-route{padding:0}.print-route__toolbar{display:none!important}}.print-resume{color:#000;font-family:var(--font-body,"IBM Plex Sans", system-ui, sans-serif);background:#fff;font-size:8.5pt;line-height:1.32}.print-resume__sheet{grid-template-columns:62mm minmax(0,1fr);align-items:start;gap:8mm;padding-bottom:16pt;display:grid}.print-resume__sidebar{flex-direction:column;gap:6pt;display:flex}.print-resume__photo{aspect-ratio:3/4;border:1px solid #ccc;width:100%;margin:0;overflow:hidden}.print-resume__photo img{object-fit:cover;width:100%;height:100%;display:block}.print-resume__photo-placeholder{background:linear-gradient(135deg,#eee 0%,#ddd 100%);width:100%;height:100%;display:block}.print-resume__name{font-family:var(--font-display,"Bricolage Grotesque", sans-serif);letter-spacing:-.03em;text-transform:uppercase;margin:0;font-size:17pt;font-weight:800;line-height:.95}.print-resume__name-accent{color:#000}.print-resume__role{font-family:var(--font-mono,monospace);color:#333;margin:0;font-size:9.5pt;line-height:1.35}.print-resume__role strong{color:#000;font-size:10.5pt}.print-resume__age{font-family:var(--font-mono,monospace);color:#333;margin:0 0 6pt;font-size:9.5pt;line-height:1.35}.print-resume__contacts{gap:4pt;margin:4pt 0 8pt;padding:0;font-size:8pt;list-style:none;display:grid}.print-resume__contacts li{align-items:center;gap:5pt;min-width:0;display:flex}.print-resume__contacts .icon{stroke:#000;flex:none;width:9pt;height:9pt}.print-resume__contacts a{color:#000;overflow-wrap:anywhere;-webkit-text-decoration:underline #666;text-decoration:underline #666}.print-resume__main{min-height:100%;position:relative}.print-resume__tag-cloud{z-index:0;pointer-events:none;flex-wrap:wrap;align-content:flex-start;gap:3pt 5pt;padding:2pt;display:flex;position:absolute;inset:0;overflow:hidden}.print-resume__tag{font-family:var(--font-mono,monospace);font-size:var(--tag-size,.7rem);color:#666;opacity:var(--tag-opacity,.15);transform:rotate(var(--tag-rotate,0deg));white-space:nowrap;font-weight:500;line-height:1.1}.print-resume__content{z-index:1;position:relative}.print-resume__lead{background:#ffffffe0;margin:0 0 8pt;padding:4pt 0 6pt;font-size:9pt;line-height:1.35}.print-resume__lead p{margin:0 0 4pt}.print-resume__lead p:last-child{margin-bottom:0}.print-resume__lead mark{background:0 0;font-weight:700}.print-resume__block{background:#ffffffe6;margin-bottom:7pt;padding:4pt 0 0}.print-resume__block h2{font-family:var(--font-display,"Bricolage Grotesque", sans-serif);letter-spacing:-.02em;text-transform:uppercase;border-bottom:1px solid #bbb;margin:0 0 4pt;padding-bottom:2pt;font-size:10pt;font-weight:800}.print-resume__block p{margin:0 0 4pt}.print-resume__job{break-inside:avoid;page-break-inside:avoid;border-bottom:1px solid #ddd;margin-bottom:8pt;padding-bottom:8pt}.print-resume__job:last-child{border-bottom:none}.print-resume__job-company{grid-template-columns:auto 1fr;font-size:9pt;font-weight:600;display:grid}.print-resume__job-company-name{text-align:right}.print-resume__job-head{flex-wrap:wrap;justify-content:space-between;gap:2pt 8pt;margin-bottom:2pt;display:flex}.print-resume__job-title{font-size:9pt}.print-resume__job-date{font-family:var(--font-mono,monospace);color:#444;white-space:nowrap;font-size:7.5pt}.print-resume__job-bullets{margin-bottom:2pt}.print-resume__job-summary{color:#222;margin:0 0 2pt}.print-resume__project{margin-top:3pt}.print-resume__project-name{margin-bottom:2pt;font-size:8.5pt;font-weight:600}.print-resume__stackline{font-family:var(--font-mono,monospace);color:#555;margin:2pt 0 0;font-size:7pt}.print-resume__list{margin:0 0 2pt;padding-left:11pt}.print-resume__list li{margin-bottom:1pt}.print-resume__list li:last-child{margin-bottom:0}.print-resume__edu{break-inside:avoid;page-break-inside:avoid;margin-bottom:4pt}.print-resume__edu-org{font-size:8.5pt;font-weight:700}.print-resume__edu-desc{color:#222;margin:1pt 0 0;font-size:8pt}.print-resume a[href]{color:#000;-webkit-text-decoration:underline #666;text-decoration:underline #666}.print-resume__content a[href],.print-resume__sidebar a[href],.print-resume__footer a[href]{cursor:pointer}.print-resume__footer{color:#666;text-align:center;background:#fff;border-top:1px solid #ddd;padding:4pt 0;font-size:7pt;position:fixed;bottom:0;left:0;right:0}.print-resume__content svg,.print-resume__project-name svg{display:none}
