:root{color-scheme:light;--paper:#f8f9f6;--white:#fff;--ink:#182b2a;--muted:#566560;--green:#17665a;--line:#dce2dc;--pale:#edf3ed;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;line-height:1.8;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.4;font-weight:650}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b07218;outline-offset:4px}img{display:block;max-width:100%;height:auto}button{font:inherit;cursor:pointer}[hidden]{display:none!important}.shell{width:min(1120px,calc(100% - 80px));margin-inline:auto}.skip-link{position:absolute;left:20px;top:-100px;padding:10px;background:var(--white);z-index:99}.skip-link:focus{top:12px}.header{position:sticky;top:0;z-index:20;background:rgba(248,249,246,.98);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:78px}.brand{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:650;white-space:nowrap}.brand-symbol{width:33px;height:35px;border:1px solid var(--green);display:grid;place-items:center;color:var(--green);font:700 23px Georgia,serif}.brand small{font:11px var(--mono);margin-left:8px;color:var(--muted);letter-spacing:.04em}.nav nav{display:flex;gap:29px;font-size:14px;color:var(--muted)}.nav nav a{padding:10px 0}.eyebrow{font-size:12px;letter-spacing:.11em;color:var(--green);font-weight:650}.hero{display:grid;grid-template-columns:1.32fr 1fr;align-items:center;gap:54px;padding-block:74px 65px}.hero h1,.page-top h1{font-size:58px;letter-spacing:.035em;margin:22px 0}.hero h1 span,.page-top h1 span{display:block;font-size:30px;margin-top:8px;letter-spacing:0;font-weight:500}.hero-value{font-size:22px;line-height:1.7;max-width:540px;margin-top:26px}.hero-summary{font-size:15px;line-height:1.9;color:var(--muted);max-width:520px;margin-top:16px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:46px;border:1px solid #b9c7be;background:transparent;padding:9px 17px;border-radius:3px;font-size:14px;line-height:1.6;font-weight:550;color:var(--ink)}.button.primary{background:var(--green);border-color:var(--green);color:white}.button:hover{background:var(--pale);border-color:var(--green)}.button.primary:hover{background:#115246}.text-link{font-size:14px;font-weight:600;color:var(--green);display:inline-block;padding:6px 0}.hero-footnote{font:11px/1.8 var(--mono);color:var(--muted);margin-top:29px}.hero-footnote span{display:block;font-family:inherit;font-size:11px;margin-top:3px}.hero-figure{border:1px solid #cbd8d0;background:#f0f4ee;padding:23px 20px 20px;align-self:center}.diagram-caption{display:flex;justify-content:space-between;font:11px var(--mono);color:var(--muted);border-bottom:1px solid #cbd8d0;padding-bottom:14px}.hero-figure img{width:100%;margin-block:10px}.hero-figure figcaption{font-size:12px;color:var(--muted);padding-top:12px;border-top:1px solid #cbd8d0}.overview-band{border-block:1px solid var(--line);background:#f0f3ee}.overview{display:grid;grid-template-columns:repeat(3,1fr);padding-block:22px;gap:30px}.overview p{display:flex;align-items:center;gap:18px}.overview strong{font-size:17px;font-weight:650}.overview span{font-size:12px;color:var(--muted)}.section{padding-block:72px}.section-heading{margin-bottom:35px;max-width:750px}.section-heading h2{font-size:30px;margin-top:12px}.section-heading>p:last-child:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:12px}.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 60px}.capability{padding:25px 0;border-top:1px solid var(--line)}.capability h3{font-size:19px}.capability>p{font-size:15px;color:var(--muted);margin-top:9px}.capability .evidence{font-size:13px;line-height:1.85;margin-top:17px}.evidence span{display:block;font-size:10px;color:var(--green);letter-spacing:.09em;margin-bottom:4px}.project-section{background:white;border-block:1px solid var(--line)}.project-row{display:grid;grid-template-columns:44px minmax(0,1fr) 172px;gap:24px;padding-block:32px;border-top:1px solid var(--line);align-items:start}.project-number{font:13px var(--mono);color:#798a80;padding-top:4px}.meta{font-size:12px;color:var(--muted)}.project-copy h3{font-size:23px;margin-top:8px}.project-copy h3 a{display:inline-flex;align-items:center;gap:17px}.arrow{font-size:18px;color:var(--green)}.project-copy>p:last-child{font-size:14px;color:var(--muted);margin-top:11px;max-width:680px}.project-side{display:flex;align-items:flex-end;flex-direction:column;gap:26px;padding-top:4px}.status{font-size:11px;line-height:1.5;padding:6px 10px;display:inline-block;color:#245e4d;border:1px solid #c9dcce;background:#f0f6ef;border-radius:2px}.more-projects{border-top:1px solid var(--line);margin-top:10px}.more-projects summary{cursor:pointer;font-size:14px;color:var(--green);padding:20px 0;display:flex;justify-content:space-between}.more-projects[open] summary{border-bottom:1px solid var(--line)}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.case-card{border:1px solid var(--line);padding:30px;background:#fdfefb;display:flex;flex-direction:column;align-items:start}.case-card h3{font-size:22px;line-height:1.6;margin-top:12px}.case-card>p:not(.meta){font-size:14px;color:var(--muted);margin-top:16px}.case-result{border-top:1px solid var(--line);padding-top:17px;width:100%}.case-result strong{display:block;font-size:11px;color:var(--green);font-weight:500;margin-bottom:4px}.case-card .text-link{margin-top:auto;padding-top:22px}.experience-row{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:25px 0;border-top:1px solid var(--line)}.date{font:12px/1.8 var(--mono);color:var(--muted);padding-top:3px}.experience-row h3{font-size:18px}.job-role{font-size:12px;color:var(--green);margin-top:5px}.experience-row div>p:last-child{font-size:14px;color:var(--muted);margin-top:10px}.small-note{font-size:12px;color:var(--muted);margin-top:18px;line-height:1.9}.education{border-top:1px solid var(--line);padding-top:24px;margin-top:24px;display:grid;gap:10px}.education p{display:grid;grid-template-columns:200px 1fr 115px;gap:24px;font-size:14px}.education strong{font-weight:550}.education span:not(.date){color:var(--muted)}.experience-footer{display:flex;gap:20px;align-items:start;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px;margin-top:30px}.experience-footer p{font-size:12px;color:var(--muted);max-width:700px}.experience-footer a{white-space:nowrap;padding-top:0}.contact-section{background:#eaf0e9;border-block:1px solid #d4dfd3;padding-block:58px}.contact-grid{display:grid;grid-template-columns:1fr 180px;gap:40px;align-items:center}.contact-section h2{font-size:30px;margin-block:12px}.contact-section p:not(.eyebrow){font-size:14px;color:var(--muted)}.email{font:25px/1.7 var(--mono);display:inline-block;margin-top:17px;overflow-wrap:anywhere}.email span{font-size:18px;margin-left:10px}.qr{display:grid;justify-items:center;gap:10px}.qr img{background:white;padding:7px;width:144px;height:144px}.qr figcaption{text-align:center;font-size:11px;line-height:1.7;color:var(--muted)}.footer{padding:26px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:11px;color:var(--muted)}.footer-inner>span:last-of-type{display:flex;gap:20px}.footer small{font-size:10px}.page-top{padding-block:40px 48px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:34px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.page-top .lead{font-size:18px;max-width:800px;line-height:1.85;margin-block:18px}.page-top .meta{font-size:14px}.page-top h1.detail-title{font-size:40px;max-width:920px;letter-spacing:0}.project-meta{display:flex;align-items:center;gap:18px;margin-top:20px;font-size:13px;color:var(--muted)}.toc{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:30px;font-size:12px;color:var(--green)}.toc a{text-decoration:underline;text-underline-offset:4px}.detail-body{max-width:940px}.detail-section{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:40px 0;border-bottom:1px solid var(--line)}.detail-section .eyebrow{font:13px var(--mono);padding-top:6px}.detail-section h2{font-size:24px;margin-bottom:17px}.detail-section p:not(.eyebrow){color:var(--muted);font-size:16px}.decision+.decision{margin-top:26px}.decision h3{font-size:18px;margin-bottom:8px}.result-panel{background:var(--pale);border-left:3px solid var(--green);padding:22px}.related{padding-block:35px}.related h2{font-size:21px;margin-bottom:15px}.related-link{display:flex;justify-content:space-between;gap:24px;padding:17px 0;border-bottom:1px solid var(--line);color:var(--green);font-size:15px}.page-end{display:flex;flex-wrap:wrap;gap:25px;justify-content:space-between;padding:38px 0 55px}.scope-note{border-left:3px solid #9bad93;padding:12px 17px;background:#eff2e9;font-size:13px;color:var(--muted);margin-top:24px;max-width:840px}.case-body{max-width:940px}.process-figure{margin-block:38px;background:#edf3ed;border:1px solid var(--line);padding:24px}.process-figure figcaption{font-size:12px;color:var(--muted);margin-bottom:20px}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;list-style:none;padding:0;margin:0}.process li{font-size:13px;padding:12px 5px;border-top:1px solid #9bad93}.process li span{display:block;font:11px var(--mono);color:var(--green);margin-bottom:8px}.case-step{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:27px 0}.step-number{font:13px var(--mono);color:var(--green);padding-top:5px}.case-step h2{font-size:22px;margin-bottom:12px}.case-step p,.case-conclusion p:not(.eyebrow),.case-lesson p{font-size:16px;color:var(--muted)}.case-conclusion{border:1px solid #ccd9cc;padding:28px;margin:28px 0;background:#f0f5ee}.case-conclusion h2{font-size:23px;margin:12px 0}.case-lesson{padding:20px 0}.case-lesson h2{font-size:21px;margin-bottom:12px}.download-help{margin-top:25px;background:#edf3ed;border:1px solid var(--line);padding:16px 20px;font-size:13px;max-width:850px}.download-help summary{cursor:pointer;color:var(--green)}.download-help p{margin-top:13px}.download-help button{margin-top:12px}.selectable-url{font-family:var(--mono);overflow-wrap:anywhere;user-select:all}.skill-list{padding-left:20px;color:var(--muted);font-size:15px}.skill-list li{margin-top:15px}.resume-body .project-row{grid-template-columns:32px minmax(0,1fr) 165px}.library-list article{padding:26px 0;border-top:1px solid var(--line)}.library-list article h2{font-size:23px}.library-list article p{margin-top:9px;color:var(--muted)}.library-list>.button{margin-top:24px}.copy-feedback{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);width:min(90%,560px);padding:15px 20px;background:#193f36;color:white;z-index:50;font-size:14px;border-radius:4px;box-shadow:0 5px 24px #0002}.copy-feedback textarea{display:block;width:100%;min-height:75px;margin-top:8px;font:14px/1.5 var(--mono);padding:8px;resize:vertical}.copy-feedback button{border:1px solid white;color:white;background:transparent;padding:3px 12px;margin-top:9px;cursor:pointer}
@media(min-width:1400px){.hero{padding-block:90px 80px}}@media(max-width:1050px){.shell{width:calc(100% - 56px)}.hero{gap:30px;grid-template-columns:1.2fr 1fr}.hero h1{font-size:48px}.hero h1 span{font-size:26px}.hero-value{font-size:20px}.hero .actions{gap:10px}.overview p{flex-direction:column;align-items:start;gap:2px}.project-row{grid-template-columns:32px minmax(0,1fr) 156px;gap:17px}.capability-grid{gap:0 35px}}@media(max-width:760px){html{scroll-padding-top:112px}.shell{width:calc(100% - 40px)}.nav{min-height:72px;gap:12px}.brand{font-size:14px;gap:8px}.brand small{display:none}.brand-symbol{width:28px;height:30px;font-size:20px}.nav nav{gap:18px;font-size:13px}.hero{grid-template-columns:1fr;padding-block:42px 34px;gap:30px}.hero h1{font-size:45px;margin:16px 0}.hero h1 span{font-size:25px;margin-top:6px}.hero-value{font-size:21px;margin-top:20px}.hero-summary{font-size:14px}.hero .actions{margin-top:23px}.hero-figure{max-width:500px;width:100%;padding:16px;margin-top:2px}.hero-figure img{max-height:260px}.hero-footnote{margin-top:20px}.overview{gap:14px;padding-block:20px}.overview strong{font-size:14px}.overview span{font-size:10px;line-height:1.7}.section{padding-block:44px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:25px}.capability-grid,.case-grid{grid-template-columns:1fr}.capability{padding-block:22px}.capability h3{font-size:18px}.project-row,.resume-body .project-row{grid-template-columns:25px minmax(0,1fr);gap:12px;padding-block:25px}.project-copy h3{font-size:21px}.project-side{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding:0}.project-side .text-link{font-size:13px}.project-copy .meta span{display:block;margin-top:3px}.case-grid{gap:18px}.case-card{padding:23px}.case-card h3{font-size:20px}.experience-row{grid-template-columns:1fr;gap:8px;padding-block:22px}.experience-row h3{font-size:17px}.education p{grid-template-columns:1fr 100px;gap:3px 12px}.education strong{grid-column:1}.education span:not(.date){grid-column:1;font-size:13px}.education .date{grid-column:2;grid-row:auto;text-align:right}.experience-footer{display:block}.experience-footer a{margin-top:12px}.contact-section{padding-block:37px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-section h2{font-size:25px}.email{font-size:23px}.qr{justify-self:start;grid-template-columns:110px 1fr;align-items:center;gap:18px}.qr img{width:110px;height:110px}.qr figcaption{text-align:left}.footer-inner{align-items:start;flex-direction:column;gap:8px}.page-top{padding-block:26px 32px}.breadcrumb{font-size:11px;margin-bottom:25px;line-height:1.9}.page-top h1{font-size:42px;margin-block:15px}.page-top h1 span{font-size:24px}.page-top h1.detail-title{font-size:29px}.page-top .lead{font-size:16px}.toc{gap:12px 20px}.detail-section{grid-template-columns:28px 1fr;gap:13px;padding-block:28px}.detail-section h2{font-size:22px}.detail-section p:not(.eyebrow){font-size:15px}.decision h3{font-size:17px}.result-panel{padding:17px}.process-figure{padding:18px;margin-block:27px}.process{grid-template-columns:1fr;gap:0}.process li{display:flex;align-items:center;gap:15px;font-size:14px;padding:10px 0}.process li span{margin:0}.case-step{grid-template-columns:28px 1fr;gap:13px;padding-block:20px}.case-step h2{font-size:20px}.case-step p,.case-conclusion p:not(.eyebrow),.case-lesson p{font-size:15px}.case-conclusion{padding:20px}.case-conclusion h2{font-size:21px}.case-lesson h2{font-size:20px}.related-link{font-size:14px}.download-help{padding:14px}.scope-note{font-size:12px}.page-end{padding-block:27px 40px}.library-list article h2{font-size:21px}}
@media(max-width:370px){.shell{width:calc(100% - 32px)}.nav nav{gap:13px;font-size:12px}.brand{font-size:13px}.hero h1{font-size:41px}.hero h1 span{font-size:23px}.hero .button{font-size:13px;padding-inline:12px}.overview{gap:8px}.overview strong{font-size:12px}.overview span{font-size:10px}.email{font-size:21px}.project-copy h3{font-size:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.header,.footer,.actions,.contact-section,.download-help,.toc,.page-end{display:none}.shell{width:100%}body{background:white}.section{padding-block:25px}.page-top{padding-top:0}.project-row,.experience-row,.capability,.case-card{break-inside:avoid}}

/* Recruiter quick scan: actual project stages and concise case outcomes. */
.overview-item{display:block;min-width:0;padding:0 20px;border-left:1px solid #d0dbd0}
.overview-item:first-child{padding-left:0;border-left:0}
.overview-item strong{display:block;font-size:17px;line-height:1.7}
.overview-item span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.overview-item:hover strong{color:var(--green)}
.case-context{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;max-width:840px;margin-top:23px;color:var(--muted);font-size:14px}
.case-context strong{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--green)}
.case-quickread{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:840px;margin:25px 0 0}
.case-quickread>div{padding:16px 19px;background:#edf3ed;border-left:3px solid var(--green)}
.case-quickread>div+div{background:#f0f1eb;border-color:#a4b09c}
.case-quickread dt{font-size:11px;color:var(--green);margin-bottom:5px}
.case-quickread dd{font-size:14px;color:var(--ink);margin:0;line-height:1.9}
@media(max-width:760px){
 .hero{padding-block:36px 30px;gap:0}
 .hero-figure{display:none}
 .hero-summary{margin-top:12px}
 .hero-footnote{margin-top:19px}
 .overview{grid-template-columns:1fr;gap:0;padding-block:5px}
 .overview-item,.overview-item:first-child{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;padding:11px 0;border:0;border-top:1px solid #d8e1d7}
 .overview-item:first-child{border-top:0}
 .overview-item strong{font-size:13px}
 .overview-item span{font-size:11px;margin:0}
 .case-context{display:block;font-size:13px;margin-top:20px}
 .case-context strong{display:block;margin-bottom:5px}
 .case-quickread{grid-template-columns:1fr;gap:12px;margin-top:20px}
 .case-quickread>div{padding:12px 15px}
 .case-quickread dd{font-size:13px}
}
