.resume-bg{box-sizing:border-box;background:#d6d6d6;flex-direction:column;align-items:center;min-height:100vh;padding:32px 20px 48px;display:flex}.resume-toolbar{justify-content:flex-end;width:100%;max-width:794px;margin-bottom:14px;display:flex}.resume-print-btn{background:var(--resume-blue,#035aa6);color:#fff;cursor:pointer;letter-spacing:.4px;border:none;border-radius:6px;align-items:center;gap:7px;padding:9px 20px;font-size:.875rem;font-weight:600;transition:background .18s;display:inline-flex}.resume-print-btn:hover{background:var(--resume-blue-dark,#074a97)}.resume-print-btn:disabled{opacity:.7;cursor:not-allowed}.resume-print-btn .fa{font-size:14px}.resume-page{--resume-blue:#035aa6;--resume-blue-dark:#074a97;--resume-blue-light:#d0e8f8;width:100%;max-width:794px;font-family:var(--font-primary);color:var(--text-primary);background:var(--bg-white);box-sizing:border-box;padding:44px 64px 64px;box-shadow:0 4px 24px #0000002e}.resume-header{text-align:left;border-bottom:1px solid #ccc;margin-bottom:24px;padding-bottom:20px}.resume-name{color:var(--resume-blue);font-size:2rem;font-weight:var(--fw-bold);letter-spacing:-.5px;margin:0 0 3px;font-family:var(--font-heading)!important}.resume-title{font-size:var(--fs-lg);color:var(--text-secondary);font-weight:var(--fw-semibold);margin:0 0 10px}.resume-contact{font-size:var(--fs-sm);color:var(--text-secondary);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:5px 14px;margin-bottom:8px;display:flex}.resume-contact .fa{color:var(--text-muted);margin-right:4px}.resume-contact-sep{color:var(--text-border)}.resume-links{font-size:var(--fs-sm);flex-wrap:wrap;justify-content:flex-start;gap:5px 18px;display:flex}.resume-links a{color:var(--resume-blue);align-items:center;gap:5px;display:inline-flex}.resume-links a:hover{color:var(--resume-blue-dark);transform:none;text-decoration:underline!important}.resume-section{margin-bottom:28px}.resume-section-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--resume-blue-dark);text-transform:uppercase;letter-spacing:2px;border-bottom:1px solid #ccc;margin-bottom:12px;padding-bottom:5px;font-family:var(--font-heading)!important}.resume-summary{font-size:var(--fs-base);line-height:var(--lh-relaxed);color:var(--text-secondary);text-align:justify;margin:0}.resume-job{margin-bottom:22px}.resume-job:last-child{margin-bottom:0}.resume-job-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:3px;margin-bottom:3px;display:flex}.resume-job-left{flex-wrap:wrap;align-items:baseline;gap:0 4px;display:flex}.resume-job-title{font-weight:var(--fw-bold);font-size:var(--fs-md);color:var(--text-primary)}.resume-job-company{color:var(--resume-blue);font-weight:var(--fw-semibold);font-size:var(--fs-base)}.resume-job-company:hover{color:var(--resume-blue-dark);transform:none;text-decoration:underline!important}.resume-job-date{font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-style:italic}.resume-job-stack{font-size:var(--fs-sm);color:var(--text-light);margin-bottom:6px}.resume-bullets{margin:0;padding:0;list-style:none}.resume-bullets li{font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text-secondary);margin-bottom:2px;padding-left:16px;position:relative}.resume-bullets li:before{content:"▸";color:var(--resume-blue);font-size:11px;position:absolute;top:4px;left:0}.resume-skills{flex-direction:column;gap:4px;display:flex}.resume-skill-row{font-size:var(--fs-base);line-height:var(--lh-normal);grid-template-columns:152px 1fr;gap:0 14px;display:grid}.resume-skill-label{font-weight:var(--fw-bold);color:var(--text-primary);white-space:nowrap}.resume-skill-value{color:var(--text-secondary)}.resume-two-col{flex-direction:column;gap:14px;display:flex}.resume-col-label{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:7px;display:block}.resume-inline-list{flex-wrap:wrap;gap:5px;display:flex}.resume-tag{font-size:var(--fs-sm);color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;border:1px solid #ccc;padding:3px 10px}body.resume-scrollbar::-webkit-scrollbar-thumb{background:linear-gradient(#074a97,#035aa6)}.resume-job{page-break-inside:avoid;break-inside:avoid}.resume-section-title{page-break-after:avoid;break-after:avoid}.resume-skill-row{page-break-inside:avoid;break-inside:avoid}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body{background:#fff;margin:0;padding:0}.resume-bg{min-height:unset!important;background:#fff!important;padding:0!important;display:block!important}.resume-toolbar,.cursor,.cursor-follower{display:none!important}.resume-page{box-shadow:none!important;width:100%!important;max-width:100%!important;padding:0!important}.resume-header,.resume-section-title{border-bottom-color:#ccc!important}a{text-decoration:none!important}@page{size:A4;margin:12mm 16mm}}@media screen and (max-width:768px){.resume-bg{padding:20px 12px}.resume-page{padding:16px 16px 36px}.resume-name{font-size:1.9rem}.resume-skill-row{grid-template-columns:120px 1fr}.resume-job-header{flex-direction:column}}@media screen and (max-width:480px){.resume-skill-row{grid-template-columns:1fr}.resume-skill-label{margin-bottom:1px}}
