:root{--ink: #111;--muted: #777;--bg: #fff;--line: #e6e6e6;--sans: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;cursor:auto}img{display:block;max-width:100%}a{color:inherit;text-decoration:none;cursor:auto}button{font-family:inherit;background:none;border:none;cursor:auto;color:inherit}#topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;color:#fff;transition:background .3s,color .3s,box-shadow .3s}#topbar.solid{background:#fffffff2;color:var(--ink);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(8px)}.logo{font-size:15px;letter-spacing:.35em;font-weight:600}#topbar nav{display:flex;align-items:center;gap:28px;font-size:13px;letter-spacing:.12em}.navcat{opacity:.85;transition:opacity .2s}.navcat:hover{opacity:1}.langbtn{border:1px solid currentColor;padding:4px 12px;font-size:12px;letter-spacing:.1em;border-radius:2px;opacity:.9}.mobile-lang{display:none}#hero{height:100vh;height:100svh;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center}#hero:before{content:"";position:absolute;inset:0;background:#00000057}.hero-inner{position:relative;text-align:center;color:#fff;padding:0 24px}.hero-inner h1{font-size:clamp(20px,3.6vw,44px);font-weight:300;letter-spacing:.32em;line-height:1.5;margin-bottom:18px;text-indent:.32em}.hero-sub{font-size:clamp(13px,1.4vw,17px);letter-spacing:.5em;opacity:.85;margin-bottom:44px;text-indent:.5em}.enter{display:inline-block;border:1px solid rgba(255,255,255,.8);padding:11px 38px;font-size:13px;letter-spacing:.3em;text-indent:.3em;transition:background .25s,color .25s}.enter:hover{background:#fff;color:#111}.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translate(-50%);color:#ffffffd9;animation:bob 2s infinite}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}#gallery{max-width:1440px;margin:0 auto;padding:90px 32px 40px}.tabs{display:flex;flex-wrap:wrap;gap:6px 30px;justify-content:center;margin-bottom:44px;padding-bottom:20px;border-bottom:1px solid var(--line)}.tab{font-size:14px;letter-spacing:.15em;color:var(--muted);padding:8px 2px;position:relative;transition:color .2s}.tab .tab-sub{display:block;font-size:10px;letter-spacing:.12em;opacity:.55;margin-top:2px;text-transform:uppercase}.tab:hover,.tab.active{color:var(--ink)}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-21px;height:1px;background:var(--ink)}.grid{columns:3 320px;column-gap:22px}.card{break-inside:avoid;margin-bottom:22px;position:relative;overflow:hidden;cursor:auto;background:#f2f2f2}.card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,opacity .4s}.card:hover img{transform:scale(1.025)}.card figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(transparent,#0000008c);color:#fff;opacity:0;transition:opacity .35s;display:flex;flex-direction:column;gap:2px}.card:hover figcaption{opacity:1}.cap-title{font-size:14px;letter-spacing:.08em}.cap-loc{font-size:12px;opacity:.8;letter-spacing:.1em}footer{display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:0 auto;padding:30px 32px 46px;color:var(--muted);font-size:12px;letter-spacing:.12em;border-top:1px solid var(--line)}#lightbox{position:fixed;inset:0;z-index:100;background:#080808f5;display:flex;align-items:center;justify-content:center}#lightbox[hidden]{display:none}.lb-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:56px 70px 64px}#lb-img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 8px 40px #00000080}.lb-cap{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#ffffffd9;font-size:13px;letter-spacing:.15em}.lb-close,.lb-prev,.lb-next{position:absolute;z-index:2;color:#ffffffbf;font-size:34px;line-height:1;padding:14px;transition:color .2s;font-weight:200}.lb-close:hover,.lb-prev:hover,.lb-next:hover{color:#fff}.lb-close{top:10px;right:16px}.lb-prev{left:8px;top:50%;transform:translateY(-50%);font-size:44px}.lb-next{right:8px;top:50%;transform:translateY(-50%);font-size:44px}@media(max-width:768px){#topbar{padding:16px 18px}#topbar nav .navcat{display:none}#topbar nav .langbtn{display:none}.mobile-lang{display:inline-block}.logo{letter-spacing:.25em;font-size:14px}#gallery{padding:56px 14px 24px}.grid{columns:2 150px;column-gap:10px}.card{margin-bottom:10px}.card figcaption{opacity:1;padding:22px 10px 8px}.cap-title{font-size:12px}.cap-loc{font-size:10px}.tabs{gap:4px 18px;margin-bottom:28px}.tab{font-size:13px}.tab.active:after{bottom:-17px}.lb-stage{padding:48px 8px 56px}.lb-prev,.lb-next{display:none}footer{padding:22px 18px 34px}html,body,a,button,.card,.lb-close,.lb-prev,.lb-next{cursor:auto}}#cur-ring,.cur-trail{position:fixed;top:0;left:0;z-index:9999;transform:translate(-50%,-50%);pointer-events:none;opacity:0;mix-blend-mode:difference}#cur-ring{width:38px;height:38px;border-radius:50%;border:1.5px solid #fff;display:flex;align-items:center;justify-content:center;transition:width .35s cubic-bezier(.2,.7,.3,1),height .35s cubic-bezier(.2,.7,.3,1),background .3s,opacity .3s,border-color .3s}#cur-ring.hover-link{width:54px;height:54px}#cur-ring.hover-img{width:72px;height:72px;background:#ffffff2e}#cur-txt{font-size:10px;letter-spacing:.22em;display:none;color:#fff}#cur-ring.hover-img #cur-txt{display:block}.cur-trail{width:8px;height:8px;border-radius:50%;background:#fff;z-index:9998;opacity:.8;transition:opacity .9s ease,transform .9s ease}.cur-trail.go{opacity:0;transform:translate(-50%,-50%) scale(.05)}html.cursor-on,html.cursor-on body,html.cursor-on a,html.cursor-on button,html.cursor-on .card,html.cursor-on .lb-close,html.cursor-on .lb-prev,html.cursor-on .lb-next{cursor:none}html.cursor-on #cur-ring,html.cursor-on .cur-trail{opacity:1}@media(prefers-reduced-motion:reduce){html,body,a,button,.card,.lb-close,.lb-prev,.lb-next{cursor:auto!important}#cur-ring,.cur-trail{display:none!important}}
