:root{--ink:#253b36;--paper:#ffffff;--muted:#647b74;--green:#247d65;--line:#dce9e2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Microsoft YaHei",sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #247d65;outline-offset:6px}.skip{position:fixed;top:-80px;background:var(--green);padding:10px;z-index:20}.skip:focus{top:0}header{height:88px;padding:0 5.5%;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:white;border-bottom:1px solid #363c36;position:sticky;top:0;z-index:10}.wordmark{font-size:24px;font-weight:bold;letter-spacing:1px}.wordmark span{font-size:12px;font-weight:normal;color:#a7aea6;margin-left:10px}nav{display:flex;gap:36px;align-items:center;font-size:14px}nav a{transition:color .2s}nav a:hover{color:var(--green)}.nav-contact{border:1px solid #697063;padding:8px 20px}.nav-contact span{margin-left:22px}.hero{background:var(--ink);color:var(--paper);padding:54px 5.5% 0}.hero-inner{max-width:1440px;margin:auto}.eyebrow,.section-label,.tags{font-size:12px;letter-spacing:2px}.eyebrow{color:var(--green)}h1{font-size:clamp(48px,5.4vw,84px);line-height:1.2;font-weight:500;margin:30px 0 34px;letter-spacing:5px}.latin{display:block;font-family:Arial,sans-serif;font-weight:800;font-size:clamp(54px,10vw,160px);letter-spacing:-.055em;line-height:1.05;margin-top:14px}.accent{color:var(--green)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:54px;gap:40px}.hero h2{font-size:clamp(24px,2.5vw,38px);font-weight:500;line-height:1.5;margin:0}.hero p{color:#aeb7ae;font-size:16px;margin:18px 0 28px}.primary{display:inline-flex;background:var(--green);color:var(--ink);padding:13px 22px;gap:50px;font-weight:bold;transition:background .2s,transform .2s}.primary:hover{background:#e0ffac;transform:translateY(-3px)}.text-link{font-size:14px;margin-left:25px;border-bottom:1px solid #76806d;padding-bottom:5px}.hero-note{border-left:1px solid #4b5349;padding-left:28px;min-width:280px}.hero-note>span,.hero-note small{display:block;font-size:12px;color:#aeb7ae;letter-spacing:1px}.hero-note strong{font-size:24px;line-height:1.6;font-weight:400;display:block;margin:16px 0}.hero-footer{border-top:1px solid #424a40;display:flex;justify-content:space-between;font-size:12px;color:#aeb7ae;padding:17px 0;letter-spacing:1px}.section{padding:96px 5.5%;max-width:1640px;margin:auto}.section h2{font-size:clamp(30px,3.2vw,48px);line-height:1.45;letter-spacing:-1.5px;font-weight:500;margin:14px 0 25px}.section-label{color:var(--muted)}.overview,.experience{display:grid;grid-template-columns:1fr 2.35fr;gap:60px}.overview-body>p{max-width:760px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid var(--line);padding-top:32px;margin-top:42px}.metrics strong{font-size:48px;letter-spacing:-2px;font-weight:500;line-height:1.2}.metrics strong span{font-size:18px;margin-left:5px}.metrics p{font-size:13px;color:var(--muted);line-height:1.6}.projects{padding-top:64px;background:#f5faf7}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:20px}.section-heading>p{font-size:14px;color:var(--muted);margin-bottom:32px}.project{display:grid;grid-template-columns:.25fr 1.35fr 1fr;gap:30px;border-top:1px solid #dce9e2;padding:44px 0}.project-number{font-size:16px;color:var(--muted)}.tags{letter-spacing:1px;color:#647b74}.project h3{font-size:30px;line-height:1.5;font-weight:500;margin:14px 0}.project-main>p{color:var(--muted);font-size:15px}.project details{max-width:590px;font-size:14px;margin-top:25px}.project summary{cursor:pointer;display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #dce9e2;list-style:none;max-width:240px}.project summary::-webkit-details-marker{display:none}.project summary span{transition:transform .2s}details[open] summary span{transform:rotate(45deg)}.detail{padding:16px 0;color:#536f65}.flow,.project-outcome{background:var(--ink);color:var(--paper);padding:32px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:270px}.flow{align-items:center}.flow>span{border:1px solid #535d4c;padding:7px 20px;min-width:220px;text-align:center;font-size:14px}.flow .flow-highlight{color:var(--green);border-color:var(--green)}.flow b{color:#a3b098;font-weight:normal;line-height:1.5}.flow small{color:#aeb7ae;font-size:12px;margin-top:20px}.project-outcome>span{color:#aeb7ae;font-size:13px}.project-outcome strong{color:var(--green);font-size:clamp(26px,3vw,44px);font-weight:400;line-height:1.55;margin:20px 0}.project-outcome p{font-size:13px;color:#aeb7ae}.project-outcome .big-number{font-size:70px;line-height:1.3}.big-number em{font-size:24px;font-style:normal}.career{margin-top:48px;border-top:1px solid var(--line);padding-top:28px}.career-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.career h3,.education h3{font-size:25px;font-weight:500;margin:0}.career-top span,.legal{font-size:13px;color:var(--muted)}.role{margin:8px 0}.legal{margin-top:0}.career>p:not(.role):not(.legal){color:var(--muted)}.education{margin-top:38px;padding-top:30px;border-top:1px solid var(--line)}.education>span{font-size:12px;color:var(--muted);letter-spacing:1px}.education h3{font-size:21px;margin-top:15px}.education p{font-size:14px;color:var(--muted);margin:5px 0}.education p span{margin-left:30px}.skills{border-top:1px solid var(--line)}.skill-row{display:grid;grid-template-columns:.9fr 1.5fr 1.2fr;gap:45px;padding:28px 0;border-top:1px solid var(--line)}.skill-row h3{font-size:21px;font-weight:500;margin:0}.skill-row p{color:var(--muted);margin:0;font-size:15px}.skill-row>span{font-size:13px;line-height:2;color:#536f65}.practice{display:grid;grid-template-columns:.9fr 2.7fr;gap:45px;margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}.practice span{font-size:12px;letter-spacing:1px;color:var(--muted)}.practice p{margin:0;color:var(--muted);font-size:15px}.contact{background:var(--green);max-width:none}.contact h2{font-size:clamp(35px,5vw,72px);margin-top:28px}.contact h2 span{color:#4c6529}.contact>p{font-size:14px}.email{display:inline-block;font-size:clamp(22px,3.5vw,46px);line-height:1.5;letter-spacing:-1px;border-bottom:1px solid #788f4c;margin:25px 0 40px;overflow-wrap:anywhere}.contact-bottom{display:flex;justify-content:space-between;font-size:16px}footer{padding:25px 5.5%;display:flex;justify-content:space-between;gap:24px;background:var(--ink);color:#aeb7ae;font-size:12px}.hero-inner{animation:enter .8s ease both}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}nav a.active{color:var(--green)}
@media(min-width:1800px){.hero{padding-top:72px}.hero-inner{max-width:none}.hero-bottom{padding-top:24px;padding-bottom:70px}}
@media(max-width:850px){header{height:72px}.wordmark span{display:none}nav{gap:22px}.hero{padding-top:36px}.hero-note{min-width:210px;padding-left:20px}.hero-note strong{font-size:20px}.overview,.experience{grid-template-columns:1fr;gap:15px}.section{padding-top:65px;padding-bottom:65px}.project{grid-template-columns:35px 1fr;gap:16px}.flow,.project-outcome{grid-column:2;min-height:220px}.skill-row{grid-template-columns:1fr 2fr;gap:20px}.skill-row>span{grid-column:2}.metrics{gap:15px}.practice{grid-template-columns:1fr;gap:15px}}
@media(max-width:560px){nav{gap:17px;font-size:13px}.nav-contact{padding:5px 9px}.nav-contact span{display:none}.wordmark{font-size:21px}.hero h1{font-size:43px;margin-top:26px}.latin{font-size:clamp(37px,10vw,58px);margin-top:18px;letter-spacing:-2px}.eyebrow{font-size:10px;letter-spacing:1.2px}.hero-bottom{display:block;padding-bottom:34px}.hero h2{font-size:25px}.hero p{font-size:14px}.hero-note{display:none}.hero-footer{font-size:10px;letter-spacing:0}.primary{padding:12px 16px;gap:26px;font-size:14px}.text-link{margin-left:17px;font-size:13px}.metrics{grid-template-columns:1fr 1fr;gap:24px}.metrics strong{font-size:42px}.section-heading{display:block;margin-bottom:26px}.section-heading>p{margin-bottom:0}.project h3{font-size:25px}.project{padding:30px 0}.project-number{font-size:13px}.flow,.project-outcome{padding:24px;min-height:240px}.project-outcome strong{font-size:33px}.career-top{display:block}.career-top span{display:block;margin-top:8px}.skill-row{display:block}.skill-row p{margin:15px 0}.skill-row>span{display:block}.section h2{letter-spacing:-.5px}.contact-bottom{font-size:14px;gap:20px}footer{flex-wrap:wrap}footer>span:nth-child(2){display:none}.email{letter-spacing:-.5px;font-size:24px}.contact h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{header,.hero-footer,nav,.primary,.text-link,summary,footer{display:none}body,.hero,.projects,.contact{background:white;color:black}.hero,.section{padding:20px 0}.hero p,.section-label,.tags{color:#444}.hero h1{font-size:32px}.latin{font-size:42px}.hero-bottom{padding-bottom:0}.hero-note,.flow,.project-outcome{display:none}.project{grid-template-columns:30px 1fr;break-inside:avoid}.overview,.experience{display:block}.section h2{font-size:26px}.project h3{font-size:22px}.contact h2{font-size:26px}.email{font-size:24px}.hero-inner{animation:none}}

.project-main,.flow,.project-outcome{min-width:0}.flow>span{min-width:0;width:100%}@media(max-width:360px){nav{gap:10px}.email{font-size:21px}.hero-footer{font-size:9px}}

/* Light palette and restrained introductory hierarchy. */
header{background:rgba(255,255,255,.96);color:var(--ink);border-bottom:1px solid var(--line)}
.wordmark{font-size:21px}.wordmark span{color:var(--muted)}
.nav-contact{border-color:#cadfd5;border-radius:6px}.nav-contact:hover{background:#eef7f2}
.hero{background:#f0f8f3;color:var(--ink);padding-top:48px}
.eyebrow{color:#387a65;font-size:11px;letter-spacing:1.6px}
.intro-name{font-size:21px;font-weight:500;margin:30px 0 20px;letter-spacing:1px}
.intro-name span{font-size:13px;color:var(--muted);font-weight:400;letter-spacing:0}
.hero h1{font-size:clamp(30px,3.2vw,46px);line-height:1.55;letter-spacing:-1px;font-weight:500;margin:0}
.hero-bottom{padding-bottom:48px;align-items:center}.hero p{color:var(--muted)}
.hero-note{border-color:#d2e3d9}.hero-note>span,.hero-note small{color:var(--muted)}.hero-note strong{font-size:21px}
.primary{background:var(--green);color:#fff;border-radius:6px;font-size:14px;font-weight:500}.primary:hover{background:#1d6853}
.text-link{border-color:#9dbdae}.hero-footer{border-color:#d2e3d9;color:var(--muted)}
.section{padding-top:76px;padding-bottom:76px}.section h2{font-size:clamp(28px,2.6vw,38px)}
.flow,.project-outcome{background:#e7f2ec;color:var(--ink);border-radius:8px}
.flow>span{border-color:#bfd9cb;background:#f8fcfa;border-radius:4px}.flow .flow-highlight{border-color:#78b59b;background:#d9ede2;color:#21644d}
.flow b,.flow small,.project-outcome>span,.project-outcome p{color:#5b7b6d}.project-outcome strong{color:#28795d}
.contact{background:#eaf5ef}.contact h2{font-size:clamp(30px,3.6vw,48px)}.contact h2 span{color:#337b61}
.email{font-size:clamp(22px,2.8vw,36px);border-color:#9fc4b1}
footer{background:#f8fbf9;color:var(--muted);border-top:1px solid var(--line)}
@media(max-width:560px){.hero{padding-top:30px}.intro-name{font-size:19px;margin-top:24px}.hero h1{font-size:30px;margin:0;letter-spacing:-.7px}.hero-bottom{padding-bottom:32px}.section{padding-top:54px;padding-bottom:54px}.contact h2{font-size:30px}.email{font-size:24px}}
@media(max-width:360px){.hero h1{font-size:27px}.email{font-size:21px}}
@media print{.hero,.contact,.projects,footer{background:white}.hero h1{font-size:28px}.intro-name{font-size:19px}}

.technical-points{margin:24px 0}.technical-points p{font-size:14px;color:var(--muted);line-height:1.85;margin:16px 0}.technical-points strong{display:block;color:var(--ink);font-size:15px;font-weight:500;margin-bottom:4px}.project>.flow{align-self:start;padding-top:32px;padding-bottom:32px}.project>.flow small{text-align:center}

.delivery-value{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.delivery-value h4{font-size:15px;font-weight:500;margin:0 0 8px}.delivery-value p{font-size:14px;line-height:1.85;color:var(--muted);margin:0}

.hero-bottom>div:first-child{max-width:740px;min-width:0}.hero-bottom>div:first-child>p{max-width:650px}.hero-note{flex-shrink:0}.project-main>p{line-height:1.85}
