@font-face{font-family:Rules;src:url('/assets/RulesExpanded-Regular.woff2');font-weight:400;font-display:swap}
@font-face{font-family:Rules;src:url('/assets/RulesExpanded-Bold.woff2');font-weight:700;font-display:swap}
@font-face{font-family:Mondwest;src:url('/assets/Mondwest-Regular.woff2');font-display:swap}
@font-face{font-family:ProjectMono;src:url('/assets/mono.woff2');font-display:swap}
:root{--paper:#fbfbf9;--ink:#262723;--muted:#70766a;--line:#dde0d5;--accent:#d94738;--mint:#e5eadf;--soft:#f0f2eb}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.8 Rules,'PingFang SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:#f5c6b9}.wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:15px;z-index:30;padding:10px 20px;background:var(--ink);color:white}.skip-link:focus{top:10px}.eyebrow{font:10px/1.5 ProjectMono,'PingFang SC',monospace;letter-spacing:.7px;color:var(--muted)}
.site-header{height:99px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:16px;font-size:12px}.wordmark>span{font:44px/1 Mondwest,serif;letter-spacing:-3px;transform:rotate(-7deg)}nav{display:flex;gap:28px;font-size:12px}nav a{display:flex;align-items:center;min-height:44px}.portfolio{display:grid;grid-template-columns:290px minmax(0,1fr);gap:54px;margin-top:36px;margin-bottom:64px}.sidebar,.main-column{min-width:0}.main-column{border-left:1px solid var(--line);padding-left:34px}.profile{padding:5px 14px 30px 0}.profile h1{font-size:49px;line-height:1.4;letter-spacing:-2px;font-weight:550;margin-top:12px}.profile h1>span{color:var(--accent)}.role-line{font-size:13px;margin-top:9px}.profile-statement{font-size:22px;font-weight:500;line-height:1.7;letter-spacing:-.5px;margin-top:25px}.profile-description{font-size:13px;color:var(--muted);line-height:2;margin-top:15px}.skill-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.skill-list span{background:var(--soft);padding:4px 9px;border:1px solid var(--line);border-radius:3px;font-size:10px}.profile-links{display:flex;gap:24px;align-items:center;font-size:12px;margin-top:23px}.profile-links a{min-height:44px;display:inline-flex;align-items:center}.resume-link{background:var(--ink);color:white;padding:9px 17px;border-radius:3px}.resume-link:hover{color:white;background:#45483e}.profile-highlights{display:grid;gap:5px;border-top:1px solid var(--line);padding-top:16px;margin-top:24px;font-size:11px;color:var(--muted)}.profile-highlights a{display:flex;justify-content:space-between;align-items:center;min-height:30px}.profile-highlights strong{font-weight:500;color:var(--ink)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:19px}.section-heading h2{font-size:21px;font-weight:550;letter-spacing:-.5px;margin-top:5px}.section-heading>span,.section-heading>a{font-size:11px;color:var(--muted);padding-bottom:2px}.section-heading>a{min-height:44px;display:flex;align-items:end}.main-column>section+section{margin-top:44px;scroll-margin-top:24px}.small-note{font-size:10px;color:var(--muted);line-height:1.8}.interface-note{margin-top:14px}.product-result{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:10px;font-size:11px;line-height:1.8}.product-result strong{font-weight:600;color:var(--ink)}.product-result span{color:var(--muted)}.product-bottom time{font:9px/1.6 ProjectMono,monospace;color:var(--muted);white-space:nowrap}.product-item{display:grid;grid-template-columns:224px minmax(0,1fr);gap:6px 24px;border-bottom:1px solid var(--line);padding:19px 0 11px}.product-item:first-child{padding-top:0}.product-image{background:var(--mint);padding:0;border:1px solid #dce0d2;position:relative;overflow:hidden;align-self:start;aspect-ratio:1.644;border-radius:4px;text-align:left}.product-image img{width:100%;height:100%;object-fit:contain}.product-image>span{position:absolute;bottom:8px;right:8px;background:#262723eb;color:white;font-size:9px;padding:4px 9px;border-radius:3px}.product-type{font-size:10px;color:var(--muted)}.product-copy{min-width:0}.product-copy h3{font-size:23px;font-weight:550;line-height:1.5;letter-spacing:-.6px;margin:4px 0 6px}.product-copy>p:not(.product-type){font-size:12px;line-height:1.85;color:#646b5e}.product-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0 10px;margin-top:7px;font-size:10px}.product-bottom>span{color:var(--muted)}.product-bottom>a{min-height:30px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.project-details{grid-column:1/-1}.project-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);cursor:pointer;list-style:none;min-height:30px}.project-details summary::-webkit-details-marker{display:none}.project-details summary>span{font-size:18px}.project-details[open] summary>span{transform:rotate(45deg)}.project-details>p{font-size:12px;color:#646b5e;line-height:1.95;padding:7px 0 12px;max-width:680px}
.recognition-board{border-top:1px solid var(--line);padding-top:24px;margin-top:4px}.recognition-board .section-heading{margin-bottom:8px}.recognition-board h2{font-size:18px}.peer-group{margin-top:23px}.peer-group h3{font-size:11px;font-weight:500;color:var(--muted);margin-bottom:16px}.peer-list{list-style:none;margin:0;padding:0;display:grid;gap:21px}.peer-list li{display:flex;align-items:flex-start;gap:12px}.peer-list img{width:40px;height:40px;flex-shrink:0;border-radius:50%;object-fit:cover;border:1px solid var(--line);margin-top:3px}.peer-list strong{font-size:13px;font-weight:550}.peer-list p{font-size:11px;line-height:1.7;margin-top:3px}.peer-list small{display:block;font-size:10px;color:var(--muted);line-height:1.8;margin-top:4px}.peer-evidence{margin-top:22px;display:grid;gap:2px}.text-link{font-size:11px;min-height:36px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.case-list{border-top:1px solid var(--line)}.case-row{display:grid;grid-template-columns:134px minmax(0,1fr);align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:20px 0}.case-row>img{width:134px;aspect-ratio:1.55;object-fit:contain;background:#f1f1ed;border:1px solid var(--line)}.case-category{font:9px/1.6 ProjectMono,'PingFang SC',monospace;color:var(--muted);letter-spacing:.1px}.case-row h3{font-size:16px;font-weight:550;line-height:1.65;margin-top:4px;text-wrap:pretty}.case-row>div>p:not(.case-category){font-size:11px;color:var(--muted);line-height:1.9;margin-top:5px}.case-result{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center;font-size:10px;margin-top:9px}.case-result strong{font-weight:500;color:#4b6342}.case-result span{color:var(--muted)}.case-panel>.small-note{margin-top:12px}
.competition-list{border-top:1px solid var(--line)}.competition{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;padding:21px 0;border-bottom:1px solid var(--line);align-items:start}.rank{display:flex;align-items:baseline;gap:9px;color:var(--muted);font:13px/1.4 Mondwest,serif;padding-top:3px;white-space:nowrap}.rank strong{font:31px/1.2 Rules,sans-serif;letter-spacing:-1px;color:var(--ink);font-weight:400}.rank small{font-size:17px;margin-left:2px}.competition h3{font-size:15px;font-weight:550;line-height:1.8}.competition p{font-size:11px;color:var(--muted);line-height:1.9;margin-top:3px}.competition .competition-method{margin-top:7px;color:#606857}.competition-links{display:flex;gap:24px;font-size:10px;margin-top:6px}.competition-links a{display:inline-flex;align-items:center;min-height:28px;text-decoration:underline;text-underline-offset:4px}.competition.compact{grid-template-columns:100px minmax(0,1fr) auto;align-items:center;padding-block:15px}.compact h3{font-size:13px}.compact .rank strong{font-size:27px}.compact>a{font-size:10px;min-height:44px;display:inline-flex;align-items:center}
.article-list{border-top:1px solid var(--line)}.article-list article{padding:21px 0;border-bottom:1px solid var(--line)}.article-list article>a{display:flex;justify-content:space-between;gap:25px;align-items:center}.article-list h3{font-size:16px;line-height:1.9;font-weight:500;max-width:580px;margin-top:5px;text-wrap:pretty}.article-list article>a p:not(.case-category){font-size:11px;line-height:1.9;color:var(--muted);margin-top:6px}.article-list article>a>strong{font-size:24px;line-height:1.3;font-weight:400;white-space:nowrap}.article-list article>a>strong>small{display:block;font-size:10px;color:var(--muted);margin-top:5px;text-align:right}.article-peers{font-size:10px;color:var(--muted);margin-top:12px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.article-peers a{min-height:28px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.writing-panel>.small-note{margin-top:12px}
.experience ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.experience li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.experience li>span{font:10px/2.3 ProjectMono,monospace;color:var(--muted)}.experience h3{font-size:13px;font-weight:500}.experience p{font-size:11px;color:var(--muted);margin-top:5px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-block:20px 30px;font-size:10px;color:var(--muted)}footer a{min-height:44px;display:flex;align-items:center}
@media(min-width:1500px){.portfolio{gap:64px}.main-column{padding-left:40px}.product-item{grid-template-columns:245px minmax(0,1fr)}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.portfolio{grid-template-columns:250px minmax(0,1fr);gap:30px}.main-column{padding-left:26px}.product-item{grid-template-columns:170px minmax(0,1fr);gap:8px 19px}.product-copy h3{font-size:20px}.product-copy>p:not(.product-type){font-size:11px}.product-bottom>span{display:none}.case-row{grid-template-columns:105px minmax(0,1fr);gap:18px}.case-row>img{width:105px}.case-row h3{font-size:15px}.profile h1{font-size:44px}.profile-statement{font-size:20px}.section-heading{gap:15px}.section-heading>span{font-size:9px}.competition.compact{gap:15px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.site-header{height:auto;min-height:88px;flex-wrap:wrap;gap:0;padding-block:13px}.wordmark{font-size:11px;gap:12px}.wordmark>span{font-size:37px}nav{gap:20px;font-size:10px}.portfolio{display:flex;flex-direction:column;gap:32px;margin-top:24px}.sidebar{display:contents}.profile{order:0;padding:0 0 28px;border-bottom:1px solid var(--line)}.profile h1{font-size:49px}.profile-statement{font-size:23px;margin-top:19px}.profile-statement br{display:none}.profile-description{font-size:13px;max-width:580px}.profile-links{margin-top:19px}.profile-highlights{display:flex;flex-wrap:wrap;gap:7px 24px;margin-top:17px;padding-top:13px}.profile-highlights a{gap:12px}.main-column{display:contents}.products{order:1}.case-panel{order:2}.competitions{order:3}.recognition-board{order:4}.writing-panel{order:5}.experience{order:6}.main-column>section+section{margin-top:0}.recognition-board{margin:0;padding-top:24px}.recognition-board h2{font-size:21px}.peer-list{grid-template-columns:1fr 1fr;gap:22px}.peer-group h3{font-size:12px}.peer-list strong{font-size:14px}.peer-list p{font-size:12px}.peer-list small{font-size:11px}.peer-evidence{display:flex;gap:12px;flex-wrap:wrap}.product-item{grid-template-columns:190px minmax(0,1fr);gap:5px 20px}.product-type{font-size:10px}.product-copy h3{font-size:22px}.product-copy>p:not(.product-type){font-size:12px}.product-bottom>a{min-height:36px}.product-bottom>span{display:block;font-size:9px}.project-details summary{font-size:11px;min-height:44px}.product-image>span{font-size:9px}.section-heading h2{font-size:21px}.section-heading>span{font-size:10px}.case-row{grid-template-columns:120px minmax(0,1fr)}.case-row>img{width:120px}.case-row h3{font-size:16px}.case-row>div>p:not(.case-category){font-size:12px}.case-result{font-size:11px}.competition h3{font-size:15px}.competition p{font-size:12px}.competition-links{font-size:11px}.competition-links a{min-height:36px}.compact h3{font-size:14px}.compact>a{font-size:11px}.article-list h3{font-size:16px}.small-note{font-size:10px}.experience h3{font-size:14px}.experience p{font-size:12px}footer{font-size:9px}footer>a:nth-child(2){display:none}}
@media(max-width:520px){nav{width:100%;justify-content:space-between;gap:12px;margin-top:8px}.site-header{padding-bottom:7px}.product-item{grid-template-columns:1fr;gap:12px}.product-image{width:100%;aspect-ratio:1.644}.product-copy h3{font-size:24px}.product-copy>p:not(.product-type){font-size:13px}.product-bottom>span{font-size:10px}.product-bottom>a{font-size:12px;min-height:44px}.project-details{margin-top:-8px}.product-type{font-size:11px}.product-image>span{font-size:10px;padding:5px 10px}.section-heading{align-items:start;gap:12px}.section-heading>span{max-width:105px;text-align:right;padding-top:21px;line-height:1.7}.case-row{grid-template-columns:82px minmax(0,1fr);gap:14px;align-items:start}.case-row>img{width:82px;margin-top:23px;aspect-ratio:1.1}.case-category{font-size:8px}.case-row h3{font-size:15px}.case-row>div>p:not(.case-category){font-size:11px}.case-result{font-size:10px}.competition{grid-template-columns:75px minmax(0,1fr);gap:14px}.rank{font-size:11px;gap:6px}.rank strong{font-size:28px}.competition.compact{grid-template-columns:75px minmax(0,1fr);gap:3px 14px}.compact>a{grid-column:2;min-height:32px}.compact .rank{grid-row:1/3}.compact h3{font-size:13px}.competition p{font-size:11px}.competition h3{font-size:14px}.peer-list{grid-template-columns:1fr;gap:20px}.peer-list small{max-width:255px}.article-list article>a{gap:15px}.article-list h3{font-size:15px}.article-list article>a>strong{font-size:21px}.article-peers{font-size:10px;gap:2px 12px}.experience li{grid-template-columns:1fr;gap:3px;padding-block:15px}.experience h3{font-size:13px}.experience li>span{font-size:9px}.profile-highlights{font-size:10px}.peer-evidence{display:grid;gap:2px}.portfolio{margin-bottom:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
