:root{--paper:#f7f7f2;--ink:#203d33;--body:#303d37;--muted:#767c74;--line:#dcded5;--wash:#edefe6;--accent:#d9e78c;--serif:"Songti SC","Noto Serif CJK SC",SimSun,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;scrollbar-gutter:stable}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 "PingFang SC","Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}a,button{touch-action:manipulation}button:disabled{opacity:.3;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}::selection{background:var(--accent)}.mono{font:12px/1.5 "SFMono-Regular",Consolas,monospace;letter-spacing:.07em}.skip{position:fixed;top:-70px;background:var(--ink);color:white;padding:12px;z-index:100}.skip:focus{top:0}header{height:84px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:#f7f7f2ef;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.wordmark{font:27px Georgia,serif;letter-spacing:-1px;display:flex;gap:22px;align-items:center}.wordmark span{font:10px/1.4 monospace;letter-spacing:.09em;color:var(--muted)}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a{transition:color .2s}nav a:hover{color:#7c9148}.contact-link{border:1px solid var(--line);padding:7px 15px}.contact-link span{margin-left:16px}main{max-width:1600px;margin:auto;padding:0 5%}.intro{padding:49px 0 0}.intro-label{font-size:13px;letter-spacing:.09em;display:flex;align-items:center;gap:11px}.intro-label>span{width:7px;height:7px;border-radius:50%;background:#82974d}.hero-row{display:flex;justify-content:space-between;gap:45px;padding:26px 0 44px;align-items:center}h1{font-family:var(--serif);font-size:clamp(45px,5.6vw,78px);font-weight:500;line-height:1.3;letter-spacing:-.045em;margin:0}.period{color:#82974d}.bio{width:350px;padding:5px 0 0 32px;border-left:1px solid var(--line)}.bio p{font-size:17px;line-height:1.85;margin:0 0 17px}.credentials{font-size:13px;color:var(--muted);line-height:1.8}.bio a{display:inline-flex;gap:40px;margin-top:15px;font-size:13px}.intro-foot{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:17px 0;color:var(--muted);font-size:13px}#work{padding-top:42px;scroll-margin-top:5px}.work-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.work-heading h2{font-size:26px;font-weight:500;letter-spacing:-.02em;margin:0}.work-heading h2 span{font:13px monospace;vertical-align:super;color:var(--muted);margin-left:6px}.view-switch{display:flex;gap:3px}.view-switch button{width:37px;height:34px;border:0;background:none;color:var(--muted);font-size:21px}.view-switch button[aria-pressed=true]{background:var(--ink);color:white}.toolbar{position:sticky;top:84px;z-index:15;background:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:22px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);min-height:61px}.filters{display:flex;gap:24px;overflow:auto;scrollbar-width:none}.filters button{white-space:nowrap;border:0;border-bottom:2px solid transparent;background:none;padding:18px 0 15px;font-size:14px;color:var(--muted)}.filters button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.filters sup{font-size:10px;margin-left:4px}.search{display:flex;align-items:center;gap:7px;min-width:145px}.search>span{font-size:24px}.search input{width:130px;border:0;background:none;font-size:13px;padding:8px 0;outline-offset:1px}.results-bar{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;padding:18px 0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 25px;min-height:450px;align-content:start}.card{border:0;padding:0;text-align:left;background:transparent;min-width:0;display:flex;flex-direction:column;position:relative;align-items:stretch}.card-visual{height:205px;overflow:hidden;background:var(--wash);position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #203d3308;transition:background .25s}.card-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover .card-visual img{transform:scale(1.035)}.card-visual.textual{padding:30px 28px;justify-content:flex-start;align-items:flex-start;flex-direction:column;gap:17px}.card-visual.textual p{font:500 26px/1.45 var(--serif);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-.03em}.visual-meta{font:11px monospace;letter-spacing:.08em;color:#76836e}.tone-marketing{background:#e4e9e6}.tone-media{background:#e4e8dd}.tone-operations{background:#e9e7dd}.tone-other{background:#e8e5df}.card-arrow{position:absolute;right:13px;bottom:13px;width:30px;height:30px;background:var(--paper);display:grid;place-items:center;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}.card:hover .card-arrow,.card:focus-visible .card-arrow{opacity:1;transform:translateY(0)}.card-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin:14px 0 6px}.card h3{font-size:17px;line-height:1.55;font-weight:500;margin:0 0 7px;color:var(--body)}.card-description{font-size:13px;line-height:1.8;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card:hover h3{color:#6b8144}.grid.list{display:block;min-height:450px}.list .card{width:100%;display:grid;grid-template-columns:125px 1fr 1.2fr;gap:25px;align-items:center;border-top:1px solid var(--line);padding:19px 0}.list .card-visual{display:none}.list .card-meta{margin:0}.list .card h3{margin:0}.list .card-description{padding-right:25px}.list .card-meta>span:last-child{display:none}#empty{padding:60px;text-align:center;color:var(--muted)}#empty button{display:block;margin:15px auto;border:0;border-bottom:1px solid;background:none}.experience{display:grid;grid-template-columns:1fr 1.7fr;gap:80px;border-top:1px solid var(--ink);padding:57px 0 70px;margin-top:90px}.experience h2{font:500 36px/1.45 var(--serif);margin:18px 0}.exp-intro>p{color:var(--muted);font-size:14px}.fact{font-size:13px;border-top:1px solid var(--line);padding:12px 0;max-width:335px}.fact>span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.experience details{border-bottom:1px solid var(--line)}.experience summary{list-style:none;cursor:pointer;padding:20px 0}.experience summary::-webkit-details-marker{display:none}.experience summary small{display:block;font:12px monospace;color:var(--muted);margin-bottom:9px}.experience summary strong{font-size:17px;font-weight:500;display:block;padding-right:24px;position:relative}.experience summary strong:after{content:'+';position:absolute;right:0}.experience details[open] summary strong:after{content:'−'}.experience details p{font-size:14px;color:var(--muted);margin:0 0 22px;line-height:1.9}.closing{padding:37px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}.closing h2{font:500 30px var(--serif);margin:16px 0 0}.closing>a{font:24px Georgia,serif}.closing>a span{margin-left:35px}footer{display:flex;justify-content:space-between;gap:20px;padding:26px 0;color:var(--muted);font-size:12px}footer>div{display:flex;gap:24px}dialog{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:none;width:min(790px,88vw);max-width:none;border:0;border-left:1px solid var(--line);padding:0;background:var(--paper);color:var(--ink);overflow:hidden}dialog[open]{display:flex;flex-direction:column;animation:slide .3s cubic-bezier(.2,.8,.2,1)}dialog::backdrop{background:#1c302f66;backdrop-filter:blur(5px)}.panel-toolbar{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:17px 30px;border-bottom:1px solid var(--line)}.panel-toolbar>div{display:flex;gap:6px}.panel-toolbar button{width:40px;height:40px;border:0;background:none;font-size:21px}.panel-toolbar button:hover:not(:disabled){background:var(--wash)}.panel-scroll{padding:38px 42px;overflow:auto;flex:1}.panel-kicker{font:12px monospace;letter-spacing:.06em;color:var(--muted)}.panel-scroll h2{font:500 33px/1.5 var(--serif);margin:20px 0 25px}.panel-result{font-size:19px;line-height:1.8;padding-bottom:24px;border-bottom:1px solid var(--line)}.panel-description{font-size:16px;color:var(--muted);line-height:1.95}.tags{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.tags span{font-size:12px;padding:3px 9px;background:var(--wash)}.panel-scroll figure{margin:30px 0}.panel-scroll figure img{width:100%;height:auto;display:block}.panel-scroll figcaption{font-size:12px;color:var(--muted);margin-top:9px}.panel-footer{flex-shrink:0;padding:20px 30px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-footer>span{font-size:12px;color:var(--muted)}.panel-footer a{background:var(--ink);color:white;padding:9px 16px;font-size:14px}.panel-footer a[hidden]{display:none}.preview-note{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.grid{animation:appear .25s ease}@keyframes slide{from{transform:translateX(35px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes appear{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1450px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1000px){.toolbar{display:block}.search{position:absolute;right:0;top:-59px}.view-switch{margin-right:160px}.filters{gap:22px}.card-visual{height:175px}.card-visual.textual{padding:20px}.card-visual.textual p{font-size:23px}.experience{gap:35px}.wordmark span{display:none}}@media(max-width:700px){header{height:68px;padding:0 6%}.wordmark{font-size:23px}nav{gap:16px;font-size:12px}.contact-link{padding:3px 7px}.contact-link span{display:none}main{padding:0 6%}.intro{padding-top:33px}.intro-label{font-size:11px}.hero-row{display:block;padding:23px 0 25px}h1{font-size:48px}.bio{border:0;padding:24px 0 0;width:auto}.bio p{font-size:15px;margin:0}.bio p br{display:none}.credentials{margin-top:12px;font-size:12px}.credentials br{display:none}.bio a{font-size:12px;margin-top:12px}.intro-foot{font-size:12px}.intro-foot .mono{display:none}#work{padding-top:25px}.toolbar{top:68px}.filters{gap:22px}.filters button{font-size:13px}.work-heading h2{font-size:23px}.view-switch{margin-right:135px}.search input{width:99px}.search{min-width:120px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.card-visual{height:150px}.card-visual.textual{padding:17px;gap:12px}.card-visual.textual p{font-size:20px}.visual-meta{font-size:9px}.card h3{font-size:15px}.card-meta{font-size:10px}.card-meta>span:last-child{display:none}.card-description{font-size:12px}.results-bar{font-size:11px}.experience{display:block;margin-top:55px;padding:35px 0}.experience h2{font-size:30px}.exp-intro{margin-bottom:25px}.fact{max-width:none}.closing{display:block}.closing h2{font-size:27px}.closing>a{display:block;margin-top:26px;font-size:22px}footer{font-size:11px;flex-wrap:wrap}footer>div{gap:15px}dialog{width:100vw}.panel-scroll{padding:25px}.panel-scroll h2{font-size:27px}.panel-toolbar,.panel-footer{padding:13px 20px}.panel-footer>span{font-size:10px}.list .card{grid-template-columns:75px 1fr;gap:15px}.list .card-description{grid-column:2}.card-arrow{opacity:1;transform:none;width:25px;height:25px;font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.gallery-block{grid-column:1/-1;min-width:0;padding:8px 0 24px;border-bottom:1px solid var(--line)}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}.gallery-heading h3{font-size:23px;font-weight:500;margin:0 0 6px}.gallery-heading p{font-size:13px;color:var(--muted);margin:0}.gallery-controls{display:flex;gap:8px}.gallery-controls button{width:40px;height:40px;border:1px solid var(--line);background:transparent;font-size:20px}.gallery-controls button:hover{background:var(--ink);color:white}.gallery-rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9aa793 var(--wash);padding-bottom:17px;overscroll-behavior-x:contain}.gallery-tile{flex:0 0 300px;border:0;background:none;padding:0;text-align:left;scroll-snap-align:start}.gallery-tile>div{height:340px;display:flex;align-items:center;justify-content:center;background:var(--wash);padding:15px;overflow:hidden}.gallery-tile img{width:100%;height:100%;object-fit:contain;transition:transform .35s}.gallery-tile:hover img{transform:scale(1.025)}.gallery-tile>span{display:flex;align-items:center;gap:13px;font-size:14px;padding:13px 0}.gallery-tile b{font:12px monospace;color:var(--muted)}.gallery-tile i{font-style:normal;margin-left:auto}.list .gallery-block{padding:25px 0}#gallery-lightbox{inset:0;margin:auto;width:min(1200px,96vw);height:94dvh;border:1px solid var(--line);background:var(--paper)}.lightbox-bar,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;padding:12px 22px;flex-shrink:0}.lightbox-bar{border-bottom:1px solid var(--line)}.lightbox-bar button,.lightbox-bottom button{background:none;border:1px solid var(--line);width:42px;height:42px;font-size:21px}.lightbox-image{min-height:0;flex:1;padding:20px;display:flex;align-items:center;justify-content:center}.lightbox-image img{width:100%;height:100%;object-fit:contain}.lightbox-bottom{border-top:1px solid var(--line);font-size:13px}@media(max-width:700px){.gallery-tile{flex-basis:76vw}.gallery-tile>div{height:310px}.gallery-rail{gap:16px}.gallery-heading h3{font-size:20px}.gallery-heading p{font-size:12px}.gallery-controls{gap:4px}.gallery-controls button{width:34px;height:34px}#gallery-lightbox{width:100vw;height:100dvh}.lightbox-image{padding:10px}}

.grid:not(.list) .card .text-title{display:none}.list .card .text-title{display:block}

/* Shared reading order across all work cards. */
.grid:not(.list) .card{border:1px solid var(--line);padding:25px 25px 43px;min-height:244px;background:#fafbf6;transition:border-color .2s,background .2s}.grid:not(.list) .card:hover{border-color:#98a78e;background:#f0f3e9}.grid:not(.list) .card-meta{margin:0 0 16px}.grid:not(.list) .card h3{font:500 23px/1.55 var(--serif);margin:0 0 14px;min-height:72px}.grid:not(.list) .card-description{font-size:14px;line-height:1.85;-webkit-line-clamp:3}.grid:not(.list) .card-visual{margin-top:22px;height:175px;order:4}.entry-arrow{position:absolute;right:20px;bottom:13px;color:var(--muted);font-size:19px}.list .entry-arrow{right:0;bottom:auto}.grid{align-items:start}@media(max-width:700px){.grid:not(.list) .card{padding:18px 17px 35px;min-height:244px}.grid:not(.list) .card h3{font-size:19px;min-height:88px}.grid:not(.list) .card-description{font-size:12px}.grid:not(.list) .card-visual{height:125px}} 

.now-section{margin-top:80px;border-top:1px solid var(--ink);padding:38px 0 0}.now-intro{margin-bottom:27px}.now-intro h2{font-size:26px;font-weight:500;margin:12px 0 8px}.now-intro>p{font-size:14px;color:var(--muted);margin:0}.now-row{display:grid;grid-template-columns:115px 180px 1fr 65px;gap:20px;align-items:center;border-top:1px solid var(--line);padding:22px 0;transition:background .2s}.now-row:last-child{border-bottom:1px solid var(--line)}a.now-row:hover{background:var(--wash)}.now-type{font-size:12px;color:var(--muted)}.now-row h3{font-size:18px;font-weight:500;margin:0}.now-row p{font-size:14px;color:var(--muted);margin:0}.now-arrow{text-align:right;font-size:22px}.now-qr{position:relative;font-size:12px;text-align:right}.now-qr summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:4px}.now-qr summary::-webkit-details-marker{display:none}.now-qr figure{position:absolute;right:0;top:25px;margin:0;padding:16px;background:var(--paper);border:1px solid var(--line);width:200px;z-index:10;text-align:center;box-shadow:0 12px 35px #203d3315}.now-qr img{width:100%;display:block}.now-qr figcaption{margin-top:8px;color:var(--muted)}.tools-row p{display:flex;gap:24px;flex-wrap:wrap}.tools-row p a{border-bottom:1px solid var(--line)}.now-section+.experience{margin-top:65px}@media(max-width:1000px){.now-row{grid-template-columns:100px 140px 1fr 55px;gap:15px}}@media(max-width:700px){nav{gap:11px}nav .contact-link{display:none}.now-section{margin-top:50px;padding-top:28px}.now-row{grid-template-columns:90px 1fr 50px;gap:8px 14px;padding:19px 0}.now-row h3{font-size:17px}.now-row p{grid-column:2;grid-row:2;font-size:13px}.now-arrow,.now-qr{grid-column:3;grid-row:1}.now-type{font-size:11px}.tools-row p{gap:10px}.now-section+.experience{margin-top:45px}}

footer{flex-wrap:wrap}.registration{flex-basis:100%;display:flex;gap:20px;flex-wrap:wrap;font-size:12px}
