:root{--paper:#f6f4ef;--paper-2:#efece4;--ink:#1f1d1a;--ink-soft:#6b655d;--ink-faint:#9a948b;--line:#1f1d1a1f;--accent:#9a7b53;--dark:#14130f;--serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, "SimSun", Georgia, serif;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;--maxw:1240px;--gutter:clamp(20px, 5vw, 64px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.7}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}::selection{background:var(--accent);color:#fff}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:600;line-height:1.25}.container{max-width:var(--maxw);padding-inline:var(--gutter);margin:0 auto}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);font-size:12px;font-weight:500}.nav{z-index:50;padding:18px var(--gutter);justify-content:space-between;align-items:center;transition:background .4s,box-shadow .4s,padding .4s;display:flex;position:fixed;inset:0 0 auto}.nav.scrolled{-webkit-backdrop-filter:saturate(140%)blur(12px);backdrop-filter:saturate(140%)blur(12px);box-shadow:0 1px 0 var(--line);background:#f6f4efd1;padding-block:12px}.nav__brand{font-family:var(--serif);letter-spacing:.04em;align-items:center;gap:10px;font-size:18px;font-weight:600;display:flex}.nav__brand svg{width:26px;height:26px}.nav__links{align-items:center;gap:clamp(18px,3vw,38px);display:flex}.nav__links a{letter-spacing:.14em;color:var(--ink-soft);padding-bottom:3px;font-size:13px;transition:color .25s;position:relative}.nav__links a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}.nav__links a:hover{color:var(--ink)}.nav__links a:hover:after{width:100%}.nav__cta{color:var(--ink)!important}@media (width<=520px){.nav__brand span.full{display:none}.nav__links{gap:16px}}.hero{min-height:100svh;padding:120px var(--gutter) 80px;flex-direction:column;justify-content:center;display:flex;position:relative}.hero__inner{max-width:var(--maxw);width:100%;margin:0 auto}.hero__en{font-family:var(--sans);letter-spacing:.5em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:26px;font-size:clamp(11px,1.4vw,14px)}.hero__title{letter-spacing:.02em;margin:0;font-size:clamp(48px,11vw,140px);line-height:1.02}.hero__title .accent{color:var(--accent)}.hero__sub{max-width:30ch;color:var(--ink-soft);margin-top:30px;font-size:clamp(15px,2vw,19px);line-height:1.9}.hero__scroll{left:var(--gutter);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:12px;font-size:11px;display:flex;position:absolute;bottom:34px}.hero__scroll:before{content:"";background:var(--ink-faint);transform-origin:0;width:46px;height:1px;animation:2.4s ease-in-out infinite line}@keyframes line{0%,to{opacity:.4;transform:scaleX(.4)}50%{opacity:1;transform:scaleX(1)}}.section{padding-block:clamp(70px,11vw,140px)}.section__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:clamp(34px,5vw,56px);display:flex}.section__title{letter-spacing:.02em;font-size:clamp(30px,5vw,52px)}.section__title small{font-family:var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:14px;font-size:12px;font-weight:500;display:block}.filter{flex-wrap:wrap;gap:8px;display:flex}.filter button{border:1px solid var(--line);color:var(--ink-soft);letter-spacing:.08em;background:0 0;border-radius:999px;padding:8px 18px;font-size:13px;transition:all .25s}.filter button:hover{border-color:var(--ink-faint);color:var(--ink)}.filter button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.masonry{column-count:3;column-gap:clamp(14px,2vw,24px)}@media (width<=900px){.masonry{column-count:2}}@media (width<=560px){.masonry{column-count:1}}.tile{break-inside:avoid;cursor:pointer;background:var(--paper-2);margin-bottom:clamp(14px,2vw,24px);position:relative;overflow:hidden}.tile img{width:100%;height:auto;transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .7s;display:block}.tile:hover img{transform:scale(1.045)}.tile__cap{color:#fff;opacity:0;background:linear-gradient(#0000,#14130fc7);padding:40px 20px 18px;transition:opacity .4s,transform .4s;position:absolute;inset:auto 0 0;transform:translateY(8px)}.tile:hover .tile__cap{opacity:1;transform:translateY(0)}.tile__cap h3{color:#fff;font-size:19px}.tile__cap span{letter-spacing:.22em;text-transform:uppercase;color:#ffffffa8;font-size:11px}.imgwrap{background-position:50%;background-size:cover;position:relative;overflow:hidden}.imgwrap img{opacity:0}.imgwrap.loaded img{opacity:1}.lb{z-index:100;background:#0f0e0bf5;flex-direction:column;animation:.3s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.lb__bar{color:#ffffffb3;justify-content:space-between;align-items:center;padding:18px clamp(16px,4vw,40px);display:flex}.lb__count{letter-spacing:.2em;font-size:12px}.lb__close{color:#fff;opacity:.7;background:0 0;border:none;padding:6px;font-size:26px;line-height:1;transition:opacity .2s,transform .2s}.lb__close:hover{opacity:1;transform:rotate(90deg)}.lb__stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:0 clamp(8px,4vw,40px);display:flex;position:relative}.lb__img{object-fit:contain;max-width:100%;max-height:100%;animation:.4s cubic-bezier(.16,1,.3,1) pop;box-shadow:0 30px 80px #00000080}@keyframes pop{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.lb__nav{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lb__nav:hover{background:#fff3}.lb__nav.prev{left:clamp(8px,3vw,28px)}.lb__nav.next{right:clamp(8px,3vw,28px)}.lb__meta{text-align:center;color:#fff;max-width:640px;margin:0 auto;padding:22px 24px clamp(26px,5vw,48px)}.lb__meta h3{color:#fff;margin-bottom:8px;font-size:clamp(20px,3vw,26px)}.lb__meta p{color:#ffffffb3;margin:0;font-size:15px;line-height:1.9}.about__grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(30px,6vw,80px);display:grid}@media (width<=760px){.about__grid{grid-template-columns:1fr}}.about__photo{position:relative}.about__photo .imgwrap{aspect-ratio:4/5}.about__photo img{object-fit:cover;width:100%;height:100%}.about__photo:after{content:"";border:1px solid var(--accent);z-index:-1;position:absolute;inset:14px -14px -14px 14px}.about__name{margin-bottom:6px;font-size:clamp(28px,4vw,44px)}.about__role{color:var(--accent);letter-spacing:.06em;margin-bottom:26px}.about__bio p{color:var(--ink-soft);margin:0 0 16px;font-size:17px;line-height:2}.about__tags{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.about__tags span{letter-spacing:.12em;color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:12px}.contact{background:var(--dark);color:var(--paper)}.contact .eyebrow{color:#ffffff80}.contact__inner{text-align:center;padding-block:clamp(80px,13vw,150px)}.contact h2{color:#fff;margin:18px 0 14px;font-size:clamp(30px,6vw,60px)}.contact__lead{color:#fff9;max-width:34ch;margin:0 auto 40px;line-height:1.9}.contact__mail{font-family:var(--serif);color:#fff;word-break:break-all;border-bottom:1px solid #ffffff4d;padding-bottom:6px;font-size:clamp(22px,4vw,38px);transition:border-color .3s,color .3s;display:inline-block}.contact__mail:hover{color:var(--accent);border-color:var(--accent)}.contact__loc{color:#ffffff80;letter-spacing:.18em;margin-top:36px;font-size:13px}.footer{background:var(--dark);color:#fff6;letter-spacing:.06em;border-top:1px solid #ffffff14;font-size:12px}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-block:28px;display:flex}.footer a:hover{color:#fffc}.reveal{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(26px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}.reveal{opacity:1;transition:none;transform:none}}
