:root{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#252825;background:#111916;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--resume-muted: #74766c;--resume-rule: #d8d8cc;--resume-accent: #6e765a}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid #adba8a;outline-offset:5px}p,h1,h2,h3{margin:0}.resume-toolbar{max-width:1040px;min-height:94px;margin:auto;padding:22px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#dedfd4;font-size:12px}.resume-back{display:inline-flex;gap:12px;align-items:center}.resume-toolbar-label{font-size:9px;letter-spacing:.16em;color:#939a8e}.resume-toolbar button{display:flex;align-items:center;gap:30px;min-height:44px;padding:10px 16px;border:1px solid #465042;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background .18s ease,border-color .18s ease}.resume-toolbar button:hover{background:#242e24;border-color:#828d72}.resume-sheet{max-width:980px;margin:0 auto 72px;padding:57px 61px 28px;background:#f4f3e9;box-shadow:0 20px 80px #00000026}.resume-header{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-bottom:35px;border-bottom:1px solid #676e5c}.resume-overline{font-size:9px;letter-spacing:.18em;color:var(--resume-accent)}.resume-name{display:flex;align-items:baseline;gap:25px;margin:21px 0 15px}.resume-name h1{font-size:53px;font-weight:500;line-height:1;letter-spacing:.07em}.resume-name>span{font-family:Georgia,Times New Roman,serif;font-size:24px;font-style:italic;color:#878a78}.resume-role{font-size:17px;line-height:1.6;letter-spacing:.025em}.resume-role>span{margin:0 9px;color:#8c927f}.resume-contact{display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-size:12px;font-style:normal;line-height:1.6;white-space:nowrap}.resume-contact a{font-variant-numeric:tabular-nums}.resume-location{color:#555d4e;margin-bottom:3px}.resume-availability{font-size:10px;letter-spacing:.08em;color:var(--resume-muted);margin-top:6px}.resume-section{display:grid;grid-template-columns:128px minmax(0,1fr);gap:30px;padding:30px 0;border-bottom:1px solid var(--resume-rule)}.resume-section>h2{font-size:14px;font-weight:500;line-height:1.7;letter-spacing:.055em}.resume-index{display:block;margin-bottom:10px;color:var(--resume-accent);font-size:10px;letter-spacing:.06em;font-weight:400}.resume-section h2 small{display:block;font-size:8px;font-weight:400;letter-spacing:.14em;color:var(--resume-muted);margin-top:4px}.resume-section-body{min-width:0;font-size:12px;line-height:1.95;color:#4d5349}.resume-introduction .resume-section-body{font-size:13px;line-height:2;color:#434a3f}.resume-job+.resume-job{margin-top:26px}.resume-job-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px}h3{color:#262d24;font-size:14px;font-weight:600;line-height:1.8}.resume-date{color:var(--resume-muted);white-space:nowrap;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.015em}.resume-job-role{margin-top:2px;font-size:11px;color:var(--resume-muted)}.resume-copy{margin-top:10px}.resume-copy p+p{margin-top:5px}.resume-case-note{color:#656d5c;font-size:11px}.resume-case-note strong{font-weight:500;color:#384230;margin-right:7px}.resume-project+.resume-project{margin-top:20px}.resume-project header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:3px 15px;margin-bottom:5px}.resume-project h3 a{display:inline-flex;align-items:baseline;gap:8px}.resume-project h3 a span{font-size:12px;font-weight:400;color:#757f61}.resume-project-type{color:var(--resume-muted);font-size:10px}.resume-capabilities p{display:grid;grid-template-columns:78px minmax(0,1fr);gap:15px}.resume-capabilities p+p{margin-top:12px}.resume-capabilities strong{color:#303a29;font-weight:500}.resume-capabilities span{min-width:0}.resume-education{align-items:center}.resume-education .resume-index{margin-bottom:5px}.resume-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:24px;font-size:9px;letter-spacing:.08em;color:var(--resume-muted)}.resume-footer i{font-style:normal;margin:0 9px}.resume-footer a{color:#38452e;letter-spacing:.02em}.resume-footer a span{margin-left:16px}@media(max-width:840px){.resume-sheet{margin:0 20px 40px;padding:42px 35px 25px}.resume-toolbar{min-height:80px;padding:17px 24px}.resume-section{grid-template-columns:95px minmax(0,1fr);gap:24px}.resume-job-heading{flex-wrap:wrap;gap:0 12px}.resume-date{font-size:10px}}@media(max-width:580px){.resume-toolbar{gap:12px;padding:15px 18px;min-height:74px}.resume-toolbar-label{display:none}.resume-toolbar button{gap:12px;padding:8px 12px;font-size:11px}.resume-sheet{margin:0 10px 25px;padding:34px 24px 23px}.resume-header{display:block;padding-bottom:26px}.resume-overline{font-size:8px;letter-spacing:.14em}.resume-name{margin:24px 0 14px;gap:22px}.resume-name h1{font-size:46px}.resume-name>span{font-size:23px}.resume-role{font-size:14px}.resume-role>span{margin:0 5px}.resume-contact{align-items:flex-start;margin-top:24px;gap:4px;font-size:11px}.resume-availability{margin-top:4px}.resume-section{display:block;padding:26px 0}.resume-section>h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:17px;font-size:14px}.resume-index,.resume-education .resume-index{margin:0;font-size:9px}.resume-section h2 small{margin:0 0 0 auto;font-size:7px}.resume-section-body,.resume-introduction .resume-section-body{font-size:12px;line-height:1.95}.resume-job-heading{display:block}.resume-job-heading h3{font-size:14px}.resume-date{margin-top:2px}.resume-job-role{margin-top:3px}.resume-copy{margin-top:9px}.resume-case-note{font-size:11px}.resume-project header{display:block;margin-bottom:7px}.resume-project-type{margin-top:2px}.resume-capabilities p{grid-template-columns:69px minmax(0,1fr);gap:10px}.resume-footer{font-size:8px;gap:10px;padding-top:21px}.resume-footer i{margin:0 4px}.resume-footer a span{margin-left:5px}}@page{size:A4;margin:13mm 14mm}@media print{:root{background:#fff;color:#171c16;--resume-muted: #5b6257;--resume-rule: #c9cdc2;--resume-accent: #414d38}body{background:#fff}.resume-toolbar{display:none}.resume-sheet{max-width:none;margin:0;padding:0;background:#fff;box-shadow:none}.resume-header{display:flex;align-items:flex-end;padding-bottom:15px;gap:25px;border-bottom-color:#525b48}.resume-overline{font-size:7px;letter-spacing:.14em}.resume-name{margin:11px 0 9px;gap:19px}.resume-name h1{font-size:36px}.resume-name>span{font-size:19px}.resume-role{font-size:12px}.resume-contact{align-items:flex-end;margin-top:0;gap:3px;font-size:10.667px}.resume-location{margin-bottom:1px}.resume-availability{margin-top:3px;font-size:10.667px}.resume-section{display:grid;grid-template-columns:85px minmax(0,1fr);gap:15px;padding:14px 0}.resume-section>h2{display:block;font-size:13.333px;margin:0;line-height:1.55;break-after:avoid}.resume-index,.resume-education .resume-index{display:block;margin-bottom:5px;font-size:7px}.resume-section h2 small{display:block;margin:3px 0 0;font-size:6px;letter-spacing:.08em}.resume-section-body,.resume-introduction .resume-section-body{font-size:12px;line-height:1.55;color:#353c30}.resume-job+.resume-job{margin-top:14px}.resume-job{break-inside:avoid}.resume-job-heading{display:flex;flex-wrap:nowrap;align-items:baseline;gap:12px}h3,.resume-job-heading h3{font-size:13.333px;line-height:1.5}.resume-date{font-size:10.667px;margin:0}.resume-job-role{font-size:10.667px;margin-top:1px}.resume-copy{margin-top:6px}.resume-copy p+p{margin-top:3px}.resume-case-note{font-size:12px;line-height:1.55}.resume-project{break-inside:avoid}.resume-project+.resume-project{margin-top:10px}.resume-project header{display:flex;flex-wrap:nowrap;gap:10px;margin-bottom:3px}.resume-project h3 a span{font-size:9px}.resume-project-type{margin-top:0;white-space:nowrap;font-size:10.667px}.resume-capabilities p{grid-template-columns:72px minmax(0,1fr);gap:10px;break-inside:avoid}.resume-capabilities p+p{margin-top:7px}.resume-education{break-inside:avoid}.resume-footer{padding-top:13px;font-size:7px}a{text-decoration:none!important}}.resume-actions{display:flex;gap:18px;align-items:center;white-space:nowrap}.resume-actions>a{font-size:11px;color:#d5cfb8}.resume-actions button{gap:15px}@media(max-width:640px){.resume-actions{gap:12px}.resume-actions>a{font-size:10px}.resume-actions button{font-size:10px;padding:10px 12px;gap:10px}}@media print{html[data-local-print=true] .resume-project h3 a span,html[data-local-print=true] .resume-footer a{display:none}}
