
:root{font-family:'Microsoft YaHei','PingFang SC',sans-serif;color:#1d2320;background:#f6f5f0;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #c2683f;outline-offset:5px}header{display:flex;justify-content:space-between;align-items:center;padding:28px 5vw;border-bottom:1px solid #d4d7ce}.wordmark{font-family:Arial,sans-serif;font-size:28px;font-weight:800;letter-spacing:-1px}.wordmark span{font:14px 'Microsoft YaHei',sans-serif;margin-left:16px;letter-spacing:1px}.header-link{font-size:14px}.header-link span{margin-left:40px}.intro{padding:88px 8vw 75px}.eyebrow{font:12px Arial,sans-serif;letter-spacing:2px;margin:0 0 27px;color:#737b71}.intro h1{font-size:clamp(38px,5.4vw,78px);line-height:1.28;letter-spacing:-3px;font-weight:500;margin:0}.intro-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:43px}.intro-bottom p{font-size:17px;line-height:1.9;color:#71786e;margin:0}.index-label{font-size:12px;line-height:1.9;color:#777e73}.work{padding:0 5vw}.project{margin-bottom:74px}.preview-link{display:block;position:relative;width:100%;border:0;background:#0d201c;padding:0;overflow:hidden;text-align:left}.preview-link img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;transition:transform .7s ease}.preview-link:hover img{transform:scale(1.018)}.view-tag{position:absolute;right:28px;bottom:26px;background:#ffffffed;padding:15px 20px;color:#1d2320;font-size:14px;min-width:170px}.view-tag span{float:right;margin-left:25px}.project-info{padding:26px 5px 0;display:flex;justify-content:space-between;gap:30px;align-items:center}.project-kicker{font-size:11px;letter-spacing:1px;color:#737b71;margin:0 0 9px}.project-info h2{font-size:28px;margin:0 0 9px;font-weight:500}.project-info p:last-child{font-size:14px;color:#72796e;margin:0}.file-links{display:flex;gap:22px;font:13px Arial,sans-serif}.file-links a{border-bottom:1px solid #a7aea0;padding:10px 0}.service{border-top:1px solid #ced3c8;padding:72px 8vw;display:grid;grid-template-columns:1.1fr 1fr;gap:80px}.service h2{font-size:38px;line-height:1.4;font-weight:500;letter-spacing:-1px;margin:0}.service-copy p{font-size:16px;line-height:1.9;color:#6f766d;margin:0 0 20px}.service-copy a{display:inline-block;font-size:14px;padding:14px 0;border-bottom:1px solid #2f4134}footer{background:#1d2c24;color:#e9ebdf;padding:32px 5vw;display:flex;justify-content:space-between;gap:30px;font-size:12px}footer p{margin:0;color:#a8b6a7;line-height:1.8}dialog{padding:0;border:0;border-radius:0;width:min(1200px,96vw);max-height:96vh;background:#141816;color:#f4f3e9;overflow:auto}dialog::backdrop{background:#070b09e6;backdrop-filter:blur(12px)}.viewer-head{display:flex;justify-content:space-between;padding:18px 24px;align-items:center}.viewer-head p{margin:0 0 3px;font-size:11px;color:#a8b8a8}.viewer-head h2{font-size:17px;font-weight:500;margin:0}.close{color:#fff;background:none;border:0;font-size:30px;line-height:1;padding:5px 10px}.stage{position:relative;aspect-ratio:16/9;width:100%;background:#050806;overflow:hidden}.stage>img{width:100%;height:100%;object-fit:contain;display:block}.stage>img.swap{animation:reveal .28s ease-out}@keyframes reveal{from{opacity:.35;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.viewer-controls{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;gap:20px}.nav-controls{display:flex;gap:22px;align-items:center}.nav-controls button,.viewer-actions button{color:#e7eddf;background:none;border:1px solid #3d493f;padding:8px 13px}.nav-controls button:disabled{opacity:.2;cursor:default}#slideCount{font:13px Arial,sans-serif;min-width:45px}.viewer-actions{display:flex;gap:18px;align-items:center;font-size:12px}.viewer-actions a{border-bottom:1px solid #839781;padding:8px 0}.thumbnails{display:flex;gap:10px;padding:0 24px 15px;overflow:auto}.thumbnails button{border:1px solid #37483b;background:none;padding:0;min-width:112px;width:112px;aspect-ratio:16/9;position:relative;opacity:.55}.thumbnails button.active{border:2px solid #dce9d7;opacity:1}.thumbnails img{width:100%;height:100%;object-fit:cover;display:block}.thumbnails span{position:absolute;left:3px;bottom:3px;background:#101d17d9;color:#fff;font:10px Arial;padding:2px 5px}.viewer-hint{font-size:11px;color:#8d9d8b;margin:0;padding:0 24px 17px}.stage:fullscreen{background:#000}.stage:fullscreen>img{object-fit:contain}[hidden]{display:none!important}@media(max-width:700px){header{padding:23px 6vw}.wordmark{font-size:24px}.wordmark span{font-size:12px;margin-left:10px}.header-link span{margin-left:15px}.intro{padding:64px 6vw 48px}.intro h1{letter-spacing:-1px}.intro-bottom{margin-top:28px}.intro-bottom p{font-size:13px}.index-label{display:none}.work{padding:0 5vw}.view-tag{padding:10px 13px;right:12px;bottom:12px;min-width:135px;font-size:11px}.project{margin-bottom:48px}.project-info{align-items:flex-start;gap:15px}.project-info h2{font-size:20px}.project-info p:last-child{font-size:12px;line-height:1.6}.file-links{gap:12px;flex-shrink:0;font-size:11px}.service{grid-template-columns:1fr;gap:28px;padding:48px 6vw}.service h2{font-size:30px}.service-copy p{font-size:14px}footer{display:block}footer>span{display:block;margin-bottom:15px}.viewer-head{padding:15px}.viewer-head h2{font-size:14px}.viewer-controls{padding:12px 15px;flex-wrap:wrap;gap:12px}.viewer-actions{gap:12px;font-size:11px}.thumbnails{padding:0 15px 12px}.thumbnails button{min-width:80px;width:80px}.viewer-hint{padding:0 15px 15px;font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.preview-link img{transition:none}.stage>img.swap{animation:none}}

dialog{overflow:hidden}.stage{height:min(54vw,calc(96vh - 240px),675px);aspect-ratio:auto}.stage:fullscreen{width:100vw;height:100vh}.thumbnails button{flex-shrink:0}
.work{display:grid;grid-template-columns:1fr 1fr;gap:42px}.project{min-width:0;margin-bottom:32px}.featured{grid-column:1/-1}.project-info{align-items:flex-start}.project-info h2{font-size:25px}.project-info p:last-child{line-height:1.7}.file-links{flex-shrink:0;gap:14px}.view-tag{min-width:150px}.viewer-actions button,.nav-controls button{min-height:44px}.viewer-actions{font-size:14px}.viewer-hint{font-size:13px}#viewerStatus{position:absolute;inset:0;display:grid;place-items:center;background:#141816;color:#f4f3e9;padding:30px;text-align:center}.service{margin-top:36px}.service-links{display:flex;gap:28px;flex-wrap:wrap}.project-kicker{font-size:13px}.header-link{font-size:15px}footer>a{font-size:13px}footer>a:hover{text-decoration:underline}
@media(max-width:900px){.work{grid-template-columns:1fr;gap:10px}.featured{grid-column:auto}.project-info h2{font-size:23px}}
@media(max-width:700px){.intro-bottom{display:block}.intro-bottom p{font-size:14px}.index-label{display:block;margin-top:18px;font-size:13px;line-height:1.7}.project-info p:last-child{font-size:13px}.view-tag{font-size:12px}.file-links{font-size:12px}.file-links a{display:inline-flex;min-height:44px;align-items:center}.viewer-actions{font-size:13px}.viewer-hint{font-size:12px}footer>a{display:inline-block;margin-top:8px}}
@media(max-height:550px) and (min-width:600px){.viewer-head{padding:8px 16px}.viewer-head p{display:none}.viewer-head h2{font-size:14px}.viewer-controls{padding:8px 16px}.thumbnails,.viewer-hint{display:none}.stage{height:calc(96vh - 110px)}}
.viewer-actions{flex-wrap:wrap}.file-links a:hover{color:#245d4a}.file-links a[download]{white-space:nowrap}
.document{max-width:900px;margin:60px auto 90px;padding:0 28px;font-size:16px;line-height:1.9}.document h1{font-size:clamp(28px,4vw,42px);line-height:1.4;font-weight:500}.document h2{font-size:24px;font-weight:500;margin:42px 0 16px}.document p,.document li{color:#4f5c52}.document li{margin-bottom:10px}.document code{overflow-wrap:anywhere;font:inherit;background:#e9ece3;padding:1px 5px}.document ul,.document ol{padding-left:25px}
