/* Shared consulting-style identity. Screen and paper have separate layout systems. */
:root{--ink:#172b3a;--body:#2b3b47;--muted:#566873;--accent:#1d6673;--line:#d7e1e6;--soft:#eef4f5;--paper:#fff;--sans:Arial,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--body);font:14px/1.8 var(--sans);-webkit-font-smoothing:antialiased}html[lang="zh-HK"]{--sans:Arial,"PingFang HK","Microsoft JhengHei",sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}strong{font-weight:600;color:var(--ink)}
.skip{position:fixed;top:-80px;left:20px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:15}
.site-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:17px max(28px,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);background:#fffffff5;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:13px;font:28px Georgia,serif;color:var(--ink)}.brand span{font:10px var(--sans);letter-spacing:1px}.nav-controls,.site-nav nav{display:flex;align-items:center}.nav-controls{gap:22px}.site-nav nav{gap:22px;font-size:12px}.site-nav button{border:0;padding:4px 0;background:transparent;font-size:10px;color:var(--muted)}.download{display:inline-flex;gap:12px;align-items:center;padding:7px 14px;border:1px solid #a8bec7;border-radius:4px;color:var(--accent)}.download:hover{background:var(--soft)}.language-switch{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:5px;white-space:nowrap}.language-switch a{font-size:11px;line-height:1.6;padding:5px 8px;border-radius:3px}.language-switch [aria-current="page"]{background:var(--ink);color:#fff}.language-switch a:not([aria-current]):hover{background:var(--soft)}
.document{max-width:1040px;margin:auto;padding:0 44px}.profile{padding:55px 0 34px;border-bottom:2px solid var(--ink);margin-bottom:30px}.eyebrow{margin:0 0 22px;font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:600}.profile-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.name{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;color:var(--ink)}.name h1{font-size:44px;line-height:1.2;letter-spacing:.5px;font-weight:600;margin:0}.name>span{font:29px/1.2 Georgia,serif;color:var(--muted)}html[lang="en"] .name h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.5px}html[lang="en"] .name>span{font-family:var(--sans);font-size:24px}.position{font-size:17px;line-height:1.5;font-weight:500;color:var(--accent);margin:12px 0 0}.contacts{display:grid;gap:5px;font-size:11px;color:var(--muted);flex:none}.contacts a{display:flex;gap:8px;align-items:center}.summary{font-size:14px;line-height:1.85;max-width:880px;color:var(--body);margin:22px 0 0}.print-summary,.print-capability{display:none}
.icon{display:inline-block;flex:none;width:18px;height:18px;color:var(--accent);vertical-align:middle}.contacts .icon{width:13px;height:13px;color:var(--muted)}
.resume-section{margin:0 0 32px;scroll-margin-top:110px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 12px;border-bottom:1px solid var(--line);margin-bottom:0}.section-heading h2{display:flex;align-items:center;gap:10px;font-size:19px;line-height:1.4;font-weight:600;margin:0;color:var(--ink)}.section-heading h2 .icon{width:19px;height:19px}.section-heading>span{font-size:9px;letter-spacing:1.4px;color:var(--muted)}
.job{padding:21px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px;break-inside:avoid}.job:last-child{border-bottom:0;padding-bottom:0}.entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px}h3{font-size:17px;line-height:1.5;font-weight:600;color:var(--ink);margin:0}.date{font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.role{font-size:12px;line-height:1.6;color:var(--accent);margin:5px 0 9px}.assignment+.assignment{margin-top:13px}.assignment .role{font-weight:600;color:var(--ink)}.responsibility{font-size:14px;line-height:1.8;margin:5px 0}ul{padding-left:17px;margin:9px 0 0}li{font-size:14px;line-height:1.8;padding-left:2px;margin:6px 0}li::marker{color:#76959f}
.project-page{margin-top:38px}.project{padding:23px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px;break-inside:avoid}.project:last-child{border-bottom:0}.project-title{display:flex;align-items:baseline;gap:16px}.project-number{min-width:21px;font:12px/1.4 var(--sans);font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600}.project-title h3{font-size:17px}.project-title .role{margin:4px 0 0}.scope{font-size:13px;line-height:1.75;color:var(--muted);margin:12px 0 9px 37px}.project ul{margin-left:37px}.result{font-size:13px;margin:12px 0 0 37px;border-left:2px solid var(--accent);padding-left:12px}.print-identity{display:none}
.education{padding:15px 0 0}.education h3{font-size:14px}.education p{font-size:12px;line-height:1.75;margin:6px 0;color:var(--muted)}.capabilities{margin:0}.education .capability{font-size:13px;color:var(--body);margin:7px 0}.education .skills{margin-top:10px}.credentials{display:grid;grid-template-columns:1fr 1.25fr;gap:36px;margin-top:32px}.credentials .resume-section{margin:0}.credentials .section-heading>span{display:none}
.brief-project{display:grid;grid-template-columns:185px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.brief-project:last-child{border-bottom:0}.brief-project h3{font-size:13px}.brief-project p{font-size:13px;line-height:1.75;margin:0}.brief .projects-section{margin-top:32px}
footer{max-width:952px;margin:40px auto 0;padding:22px 0 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}footer>div{display:flex;gap:24px}footer button{background:none;border:0;padding:0}.motion-off{scroll-behavior:auto}.motion-off *{animation:none!important;transition:none!important}
@media(max-width:1100px){.site-nav{padding:15px 25px}.brand span{display:none}.site-nav nav{gap:16px}.site-nav button{display:none}.nav-controls{gap:15px}}
@media(max-width:850px){html{scroll-padding-top:130px}.site-nav{flex-wrap:wrap;padding:12px 23px;gap:8px}.nav-controls{display:contents}.language-switch{margin-left:auto}.site-nav nav{order:3;width:100%;justify-content:space-between;font-size:11px;gap:9px}.download{padding:4px 9px}.document{padding:0 26px}.profile{padding-top:35px}.profile-top{display:block}.contacts{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px}.credentials{gap:25px}.resume-section,.job,.project{scroll-margin-top:130px}footer{margin-left:26px;margin-right:26px}}
@media(max-width:600px){.profile{margin-bottom:26px;padding-bottom:25px}.eyebrow{font-size:9px;margin-bottom:20px}.name{gap:12px}.name h1{font-size:36px}.name>span{font-size:25px}html[lang="en"] .name h1{font-size:36px}html[lang="en"] .name>span{font-size:21px}.position{font-size:15px;margin-top:10px}.summary{font-size:13px;line-height:1.85;margin-top:18px}.contacts{font-size:10px;gap:8px 15px}.contacts a{gap:5px}.contacts .icon{width:12px;height:12px}.section-heading h2{font-size:18px}.section-heading>span{font-size:8px;letter-spacing:1px}.entry-head{display:block}h3,.project-title h3{font-size:16px}.date{font-size:11px}.role{font-size:11px}.job{padding:18px 0}.responsibility,li{font-size:13px;line-height:1.85}.scope{font-size:12px}.project-title{gap:11px}.project-number{min-width:17px}.scope,.project ul,.result{margin-left:28px}.credentials{grid-template-columns:1fr;gap:28px;margin-top:26px}.brief-project{grid-template-columns:1fr;gap:5px}.brief-project h3{font-size:14px}.brief-project p{font-size:12px}footer{flex-direction:column;gap:10px;font-size:10px}}
@media(max-width:420px){.site-nav nav{font-size:10px;gap:4px}.download{padding:4px 6px}.download span{display:none}.document{padding:0 22px}html[lang="en"] .position{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* A4 document typography; one complete set of rules rather than override layers. */
@page{size:A4;margin:11mm 13mm 13mm}
@page english{size:A4;margin:10mm 11mm 12mm}
@media print{
 :root{--ink:#142b3b;--body:#263641;--muted:#4f606b;--accent:#235c6b;--line:#d2dce2}
 body{font:9.6pt/1.38 var(--sans);color:var(--body);-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .site-nav,.skip,.reading-progress,footer,.eyebrow,.screen-summary{display:none!important}.print-summary{display:block}.screen-capability{display:none}.print-capability{display:inline}
 .document{max-width:none;padding:0;margin:0}.profile{padding:0 0 9px;margin:0 0 11px;border-bottom:1.5px solid var(--ink)}
 .profile-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.name{gap:14px;flex-wrap:nowrap}.name h1{font-size:25pt;line-height:1.15;letter-spacing:.4px}.name>span{font-size:18pt;color:var(--muted)}html[lang="en"] .name h1{font-size:26pt}html[lang="en"] .name>span{font-size:16pt}
 .position{font-size:11pt;line-height:1.3;margin:6px 0 0}.contacts{display:grid;gap:3px;margin:0;font-size:8pt;line-height:1.35}.contacts a{gap:5px}.contacts .icon{width:8pt;height:8pt}
 .summary,.full .summary{font-size:9pt;line-height:1.4;max-width:none;margin:10px 0 0}
 .resume-section{margin:0 0 10px}.section-heading{padding:0 0 5px;margin:0;border-bottom:1px solid var(--line)}.section-heading h2{font:600 11pt/1.3 var(--sans);gap:6px;letter-spacing:.1px}.section-heading h2 .icon{width:10pt;height:10pt}.section-heading>span{font-size:6.5pt;letter-spacing:1px}
 .job{padding:5px 0;break-inside:avoid}.entry-head{display:flex;align-items:baseline;gap:12px}h3{font-size:10.8pt;line-height:1.3}.date{font-size:8pt}.role{font-size:8.4pt;line-height:1.35;margin:3px 0 4px}.assignment+.assignment{margin-top:6px}.responsibility{font-size:9.6pt;line-height:1.38;margin:3px 0}
 ul{padding-left:13px;margin:4px 0 0}li{font-size:9.6pt;line-height:1.38;margin:3px 0;padding-left:2px}
 .project-page{break-before:page;margin:0}.print-identity{display:flex;justify-content:space-between;font-size:8pt;color:var(--muted);padding-bottom:7px;margin:0 0 10px;border-bottom:1.5px solid var(--ink)}
 .project{padding:9px 0 10px;break-inside:avoid}.project-title{gap:11px}.project-number{font-size:8pt;min-width:15px}.project-title h3{font-size:10.7pt;line-height:1.3}.project-title .role{font-size:8pt;margin-top:3px}.scope{font-size:8.8pt;line-height:1.4;margin:5px 0 4px 26px}.project ul{margin-left:26px}.project li{font-size:9.5pt;line-height:1.4;margin:3px 0}.result{font-size:9pt;margin:6px 0 0 26px}
 .credentials{display:block;break-inside:avoid;margin:10px 0 0}.credentials .resume-section{display:grid;grid-template-columns:86px 1fr;gap:12px;margin:0;padding:6px 0;border-top:1px solid var(--line)}.credentials .section-heading{border:0;padding:0;margin:0;display:block}.credentials .section-heading h2{font-size:8.5pt;align-items:flex-start;gap:4px}.credentials .section-heading h2 .icon{width:8pt;height:8pt;margin-top:1pt}.credentials .section-heading>span{display:none}.education{padding:0}.education h3{font-size:9pt;line-height:1.35}.education p,.education .capability{font-size:8.3pt;line-height:1.35;margin:2px 0}.education .skills{margin-top:3px}.capabilities{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}
 .brief .profile{padding-bottom:8px;margin-bottom:9px}.brief .name h1{font-size:24pt}.brief .name>span{font-size:17pt}.brief .position{font-size:10.5pt}.brief .summary{font-size:8.8pt;line-height:1.35;margin-top:8px}.brief .resume-section{margin-bottom:8px}.brief .section-heading h2{font-size:10pt}.brief .job{padding:6px 0}.brief h3{font-size:10pt}.brief .role{font-size:7.9pt;margin:3px 0}.brief .date{font-size:7.8pt}.brief li,.brief .responsibility{font-size:9.2pt;line-height:1.4;margin:2px 0}.brief .assignment+.assignment{margin-top:5px}.brief .projects-section{margin-top:10px}.brief-project{grid-template-columns:150px 1fr;gap:14px;padding:6px 0;break-inside:avoid}.brief-project h3,.brief-project p{font-size:8.6pt;line-height:1.35}.brief .credentials{margin-top:8px}.brief .credentials .section-heading h2{font-size:8.3pt}.brief .education h3{font-size:8.7pt}.brief .education p,.brief .education .capability{font-size:8pt;line-height:1.3}
 html[lang="en"] body{page:english}html[lang="en"] body.full{font-size:9.4pt;line-height:1.34}html[lang="en"] .full li,html[lang="en"] .full .responsibility{font-size:9.4pt;line-height:1.34}html[lang="en"] .full .job{padding:1px 0}html[lang="en"] .full .job li,html[lang="en"] .full .responsibility{line-height:1.3}html[lang="en"] .full #experience{margin-bottom:4px}html[lang="en"] .full .job .role{margin:1px 0}html[lang="en"] .full .job li{margin:2px 0}html[lang="en"] .credentials{margin-top:6px}html[lang="en"] .credentials .resume-section{padding:2px 0}html[lang="en"] .credentials .education p{margin:1px 0;line-height:1.3}html[lang="en"] .profile{padding-bottom:6px;margin-bottom:8px}html[lang="en"] .summary{line-height:1.35}html[lang="en"] .full .project{padding:4px 0}html[lang="en"] .full .project li{margin:2px 0}html[lang="en"] .full .project li{font-size:9.4pt;line-height:1.34}html[lang="en"] .full .scope{font-size:8.6pt;line-height:1.34;margin:3px 0 2px 26px}
 html[lang="en"] .brief .job{padding:2px 0}html[lang="en"] .brief li,html[lang="en"] .brief .responsibility{font-size:8.8pt;line-height:1.3}html[lang="en"] .brief-project{padding:5px 0}html[lang="en"] .brief-project h3,html[lang="en"] .brief-project p{font-size:8.5pt;line-height:1.3}
}
