@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(../media/cormorant-garamond-cyrillic-ext-400-italic.0sxqptn5332dt.woff2)format("woff2"),url(../media/cormorant-garamond-cyrillic-ext-400-italic.0-jj.6a_4k72l.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(../media/cormorant-garamond-cyrillic-400-italic.07~2-o8c9xl~3.woff2)format("woff2"),url(../media/cormorant-garamond-cyrillic-400-italic.186dt_3b1~vq3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(../media/cormorant-garamond-vietnamese-400-italic.0zhsgdlrjnrjm.woff2)format("woff2"),url(../media/cormorant-garamond-vietnamese-400-italic.07ro6u7zu34-j.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(../media/cormorant-garamond-latin-ext-400-italic.0fm~m_ttjjqtq.woff2)format("woff2"),url(../media/cormorant-garamond-latin-ext-400-italic.0d_9x8j_z2vfs.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(../media/cormorant-garamond-latin-400-italic.0mn3edr~zo.8q.woff2)format("woff2"),url(../media/cormorant-garamond-latin-400-italic.136w8gs~4skl6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(../media/cormorant-garamond-cyrillic-ext-500-normal.011_idx_lamrh.woff2)format("woff2"),url(../media/cormorant-garamond-cyrillic-ext-500-normal.0.o7v-mqp2rkk.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(../media/cormorant-garamond-cyrillic-500-normal.13l~6i15e82nt.woff2)format("woff2"),url(../media/cormorant-garamond-cyrillic-500-normal.0234-4zmsynfx.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(../media/cormorant-garamond-vietnamese-500-normal.0h8qrjhx6yxax.woff2)format("woff2"),url(../media/cormorant-garamond-vietnamese-500-normal.11gpxdjgspur0.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(../media/cormorant-garamond-latin-ext-500-normal.0sv4e_fu8h6uo.woff2)format("woff2"),url(../media/cormorant-garamond-latin-ext-500-normal.0x-plf56fe1.k.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(../media/cormorant-garamond-latin-500-normal.0k.c35ns00zfx.woff2)format("woff2"),url(../media/cormorant-garamond-latin-500-normal.1719j4wj3qx12.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@property --bg{syntax:"<color>";inherits:true;initial-value:#222325}@property --ink{syntax:"<color>";inherits:true;initial-value:#ecebe6}@property --body{syntax:"<color>";inherits:true;initial-value:#c6c5c0}@property --muted{syntax:"<color>";inherits:true;initial-value:#8f8f8b}@property --accent{syntax:"<color>";inherits:true;initial-value:#f4f3ee}:root{--hero-m-h:min(560px, 66svh)}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-text);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;color:#ecebe6;background:#222325;margin:0;line-height:1.7}h1,h2,h3,p,ol,ul,dl,dd,figure{margin:0;padding:0;font-weight:400}ol,ul{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}img{max-width:100%;display:block}:focus-visible{outline:1px solid var(--ink);outline-offset:3px}@media (max-width:760px){.desktop-only{display:none!important}}@media (min-width:761px){.mobile-only{display:none!important}}.index-no{font-family:var(--font-latin);font-size:var(--fs-body);color:var(--muted);font-variant-numeric:tabular-nums;line-height:1}.dotmap{transition:opacity var(--dev-dots) var(--dev-ease) var(--dev-dots-delay);position:absolute;top:0;left:0}.dotmap canvas{position:absolute;top:0;left:0}.dotmap-top{will-change:opacity}.dotstage{transition:opacity var(--dev-dots) var(--dev-ease) var(--dev-dots-delay);position:absolute;top:0;left:0}.dotstage canvas{position:absolute;top:0;left:0}.face-switch{display:flex}.face-switch.is-dial{left:var(--home-pad-x);bottom:var(--home-dial-bottom);z-index:2;flex-direction:column;position:absolute}.face-switch.is-inline{align-items:center;gap:var(--home-m-switch-gap)}.face-item{align-items:center;gap:var(--home-dial-gap);min-height:var(--home-row-min);color:var(--muted);transition:color var(--hover-fade) linear;display:flex}.face-item.is-on{color:var(--ink);cursor:default}.face-item:not(.is-on):hover{color:color-mix(in srgb, var(--ink) 72%, transparent)}.face-item:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.face-no{font-family:var(--font-latin);font-size:var(--home-dial-no);letter-spacing:var(--home-dial-no-track)}.face-mark{width:var(--home-dial-slot);justify-content:center;display:flex}.face-dot{width:var(--home-dial-dot);height:var(--home-dial-dot);background:var(--accent);border-radius:50%}.face-label{font-family:var(--font-display);font-size:var(--home-dial-label);line-height:1.2}.face-switch.is-inline .face-item{gap:8px}.face-switch.is-inline .face-mark{width:var(--home-m-dot)}.face-switch.is-inline .face-dot{width:var(--home-m-dot);height:var(--home-m-dot)}.face-switch.is-inline .face-label{font-size:var(--home-m-label)}.face-count{font-family:var(--font-latin);font-size:var(--home-m-count)}.theme-stage,.collection,.about{isolation:isolate;color:var(--ink);transition:--bg var(--dev-bg) var(--dev-ease), --dots var(--dev-dots) var(--dev-ease) var(--dev-dots-delay), --ink var(--dev-text) var(--dev-ease) var(--dev-text-delay), --body var(--dev-text) var(--dev-ease) var(--dev-text-delay), --muted var(--dev-text) var(--dev-ease) var(--dev-text-delay), --accent var(--dev-accent) var(--dev-ease) var(--dev-accent-delay);position:relative}.theme-stage.is-still{transition:none}.theme-develop{z-index:2;pointer-events:none;background-color:var(--bg);background-image:url(/textures/grain.png);animation-name:theme-develop;animation-timing-function:linear;animation-fill-mode:both;position:fixed;inset:0}@keyframes theme-develop{0%{opacity:0}22%{opacity:var(--dev-veil-peak)}55%{opacity:var(--dev-veil-hold)}to{opacity:0}}.grain{z-index:0;pointer-events:none;opacity:.9;transition:opacity var(--dev-bg) var(--dev-ease);background-image:url(/textures/grain.png);position:fixed;inset:0}.grain.is-off{opacity:0}.brand{white-space:nowrap;align-items:baseline;gap:14px;display:inline-flex}.brand-zh{font-family:var(--font-display);font-size:var(--fs-heading);line-height:1}.brand-en{font-family:var(--font-latin);font-style:italic;font-size:var(--fs-body);color:var(--muted)}.site-nav{align-items:center;gap:28px;display:flex}.nav-item{height:40px;font-size:var(--fs-body);color:var(--ink);white-space:nowrap;transition:opacity var(--hover-fade) linear;align-items:center;gap:6px;display:inline-flex}.nav-item:hover{opacity:.7}.nav-item svg{color:var(--muted)}.nav-locale span{font-family:var(--font-latin)}.nav-locale[lang=zh] span{font-family:var(--font-text)}.icon-btn{border:1px solid color-mix(in srgb, var(--ink) 26%, transparent);width:44px;height:44px;color:var(--ink);place-items:center;display:inline-grid}.icon-btn.is-quiet{border-color:#0000}.meta-row{font-size:var(--fs-caption);color:var(--body);flex-wrap:wrap;gap:16px;display:flex}.meta-row span{align-items:center;gap:5px;display:inline-flex}.meta-row svg{color:var(--muted)}.home{height:100dvh;overflow:hidden}.home>:not(.theme-develop,.grain){z-index:1}.home-map{will-change:transform, filter, opacity;transition:transform 1s var(--ease), filter 1s var(--ease), opacity 1s var(--ease);position:absolute;inset:0}.home-map .dotmap,.home-map .dotstage{position:absolute;inset:0}.home-map.is-leaving{filter:blur(6px);opacity:.25;transform:scale(1.9)}.home-map.is-returning{animation:map-return .9s var(--ease) both}@keyframes map-return{0%{filter:blur(6px);opacity:.25;transform:scale(1.9)}to{filter:blur();opacity:1;transform:none}}.chrome{transition:opacity .32s var(--ease-out), transform .32s var(--ease-out)}.chrome.is-leaving{opacity:0;pointer-events:none;transform:translateY(-6px)}.home-top{top:var(--home-header-top);left:var(--home-pad-x);right:var(--home-pad-x);justify-content:space-between;align-items:center;height:48px;display:flex;position:absolute}.home-index{top:var(--home-index-top);left:var(--home-pad-x);width:var(--home-index-w);position:absolute}.index-row{width:100%;min-height:var(--home-row-min);padding:var(--home-row-pad) 0;transition:background-color var(--hover-fade) linear;align-items:center;gap:12px;display:flex}.index-row.is-hover,.index-row:focus-visible{background:color-mix(in srgb, var(--ink) 4%, transparent)}.index-row.is-selected{background:color-mix(in srgb, var(--ink) 7%, transparent)}.index-row.is-selected .index-no{color:var(--accent)}.index-row.is-shown .index-zh{color:var(--ink);opacity:.75}.index-row.is-empty{opacity:.45;cursor:default}.index-name{flex-direction:column;min-width:0;display:flex}.index-zh{font-family:var(--font-display);font-size:var(--fs-title);line-height:1.2}.index-meta{font-size:var(--fs-caption);color:var(--muted)}.marker{z-index:2;opacity:0;pointer-events:none;width:28px;height:28px;transition:opacity .5s var(--ease-out), transform .7s cubic-bezier(.34, 1.56, .64, 1);transition-delay:var(--d,0s);margin:-14px 0 0 -14px;position:absolute;transform:scale(.3)}.marker-dot{background:color-mix(in srgb, var(--ink) 75%, transparent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--ink) 12%, transparent);transition:transform var(--hover-fade) var(--ease-out);border-radius:50%;margin:-4px 0 0 -4px;position:absolute;top:50%;left:50%}.marker.is-empty .marker-dot{background:color-mix(in srgb, var(--ink) 35%, transparent)}.marker-ring{border:1px solid color-mix(in srgb, var(--ink) 70%, transparent);opacity:0;transition:opacity var(--hover-fade) linear, transform var(--hover-fade) var(--ease-out);border-radius:50%;position:absolute;inset:0;transform:scale(.4)}.marker.is-empty .marker-ring{border-color:color-mix(in srgb, var(--ink) 35%, transparent)}.marker-tag{white-space:nowrap;font-family:var(--font-display);font-size:var(--fs-title);background:color-mix(in srgb, var(--bg) 85%, transparent);opacity:0;pointer-events:none;transition:opacity var(--hover-fade) linear;padding:2px 8px;line-height:1.4;position:absolute;top:50%;left:34px;transform:translateY(-50%)}.marker.is-empty .marker-tag{color:var(--muted)}.marker.is-hover .marker-ring,.marker:hover:not(.is-selected) .marker-ring{opacity:1;transform:scale(1)}.marker.is-hover .marker-dot,.marker:hover:not(.is-selected) .marker-dot{transform:scale(1.25)}.marker.is-hover .marker-tag,.marker:hover:not(.is-selected) .marker-tag{opacity:1}.marker.is-empty{cursor:default}.marker.is-selected .marker-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 11px color-mix(in srgb, var(--accent) 25%, transparent);margin:-3px 0 0 -3px;animation:2.8s ease-in-out infinite halo}.marker-pin{color:var(--accent);filter:drop-shadow(0 3px 6px #0000004d);animation:pin-in .3s var(--ease-out) both;position:absolute;top:-22px;left:-3px}@keyframes halo{0%,to{box-shadow:0 0 0 8px color-mix(in srgb, var(--accent) 30%, transparent)}50%{box-shadow:0 0 0 14px color-mix(in srgb, var(--accent) 12%, transparent)}}@keyframes pin-in{0%{opacity:0;transform:translateY(-6px)}}.place-label{z-index:3;background:color-mix(in srgb, var(--bg) 90%, transparent);border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);animation:label-in .3s var(--ease-out) backwards;transition:opacity .26s var(--ease-out), transform .26s var(--ease-out);flex-direction:column;gap:14px;padding:14px;display:flex;position:absolute}.place-label.is-person{top:auto;bottom:96px;left:40px}.place-label.is-dimmed{opacity:0;pointer-events:none;transform:translateY(8px)}.place-label.is-leaving .place-label-frame,.place-label.is-leaving{background:0 0;border-color:#0000;transition:all .14s linear}.place-label.is-leaving .place-label-frame{opacity:0}.home-m>.m-header,.home-m>.m-stage,.home-m>.m-list{transition:opacity .32s var(--ease-out)}.home-m>.m-strip{transition:height .3s var(--ease), opacity .32s var(--ease-out)}.home-m.is-leaving>.m-header,.home-m.is-leaving>.m-strip,.home-m.is-leaving>.m-stage,.home-m.is-leaving>.m-list{opacity:0;pointer-events:none}.acc-photo-box.is-flying img,.place-label.is-leaving .place-label-photo{visibility:hidden}@keyframes label-in{0%{opacity:0;transform:translateY(8px)}}.place-label-photo{aspect-ratio:260/172;background:color-mix(in srgb, var(--ink) 10%, transparent);width:100%;overflow:hidden}.place-label-photo img{object-fit:cover;width:100%;height:100%}.place-label-frame{flex-direction:column;gap:2px;padding:0 4px;display:flex}.place-label-name{font-family:var(--font-display);font-size:var(--fs-heading);line-height:1.1}.place-label-en{font-family:var(--font-latin);font-style:italic;font-size:var(--fs-body);color:var(--muted)}.place-label-meta{font-size:var(--fs-caption);color:var(--body);gap:16px;padding-top:10px;display:flex}.place-label-meta span{align-items:center;gap:5px;display:inline-flex}.place-label-meta svg{color:var(--muted)}.home-foot{font-size:var(--fs-caption);color:var(--muted);justify-content:space-between;align-items:center;gap:24px;display:flex;position:absolute;bottom:32px;left:40px;right:40px}.home-readout{font-family:var(--font-latin);font-size:var(--fs-body);align-items:center;gap:8px;margin-left:auto;display:inline-flex}.home-theme-name{font-family:var(--font-text);font-size:var(--fs-caption);padding-left:12px}.home-icp{color:var(--muted)}.home-m{min-height:100vh;padding-bottom:48px}.home-m>.m-list{z-index:1;position:relative}.m-header{z-index:5;height:var(--home-m-header);padding:0 var(--home-m-pad-x);background:var(--bg);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.m-header .brand{flex-direction:column;align-items:flex-start;gap:1px}.m-header .brand-en{font-size:var(--fs-caption)}.m-strip{z-index:5;background:var(--bg);height:0;transition:height .3s var(--ease);position:fixed;top:68px;left:0;right:0;overflow:hidden}.m-strip.is-on{height:64px}.m-strip-btn{width:100%;height:64px;display:block;position:relative}.m-strip-btn .dotmap{position:absolute;inset:0}.m-strip-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 8px color-mix(in srgb, var(--accent) 20%, transparent);border-radius:50%;margin-left:-3px;position:absolute;top:29px}.m-strip-name{font-family:var(--font-display);font-size:var(--fs-title);background:var(--bg);align-items:center;gap:8px;padding-left:8px;display:inline-flex;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.m-strip-name svg{color:var(--accent)}.m-list{overflow-anchor:none;padding:0 24px}.m-list-title{font-family:var(--font-display);font-size:var(--fs-title);color:var(--muted);padding:28px 4px 4px}.acc-head{align-items:center;gap:14px;width:100%;padding:12px 4px;display:flex}.acc.is-empty .acc-head{opacity:.42;cursor:default}.acc.is-open .acc-head .index-no{color:var(--accent)}.acc-name{flex-direction:column;flex:1;gap:3px;display:flex}.acc-zh{font-family:var(--font-display);font-size:var(--fs-title);line-height:1.1}.acc-en{font-family:var(--font-latin);font-style:italic;font-size:var(--fs-body);color:var(--muted)}.acc-soon{font-size:var(--fs-caption);color:var(--muted)}.acc-body{contain:layout paint;opacity:0;transition:grid-template-rows .6s var(--ease), opacity .6s var(--ease);grid-template-rows:0fr;display:grid}.acc.is-open .acc-body{opacity:1;grid-template-rows:1fr}.acc-body-inner{min-height:0;overflow:hidden}.acc-body-pad{flex-direction:column;gap:14px;padding:0 4px 24px;display:flex}.acc-photo-box{aspect-ratio:342/214;overflow:hidden}.acc-photo-box img{object-fit:cover;filter:blur(4px);width:100%;height:100%;transition:transform .6s var(--ease-out), filter .6s var(--ease-out);transform:scale(1.06)}.acc.is-open .acc-photo-box img{filter:blur();transform:scale(1)}.acc.is-open .acc-photo-box img,.acc.is-closing .acc-photo-box img{will-change:transform, filter}.acc-intro{color:var(--body);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:300;line-height:1.9;display:-webkit-box;overflow:hidden}.m-menu{z-index:20;background:var(--bg);color:var(--ink);flex-direction:column;animation:.2s linear both fade-in;display:flex;position:fixed;inset:0}.m-menu-list{padding:24px 12px 0}.m-menu-list a,.m-menu-list button{width:100%;font-family:var(--font-display);font-size:var(--fs-heading);align-items:center;gap:16px;padding:14px 4px;display:flex}.m-menu-list svg{color:var(--muted)}.m-menu-foot{justify-content:space-between;align-items:center;margin-top:auto;padding:16px 20px 36px;display:flex}.m-copy{font-family:var(--font-latin);font-style:italic;font-size:var(--fs-caption);color:var(--muted)}@keyframes fade-in{0%{opacity:0}}.flight{z-index:50;pointer-events:none;will-change:clip-path, opacity;position:fixed;overflow:hidden}.flight-pic{transform-origin:50%;will-change:transform;position:absolute;inset:0}.flight img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.flight-sharp{opacity:0;transition:opacity .22s linear}.flight-sharp.is-on{opacity:1}.collection{min-height:100vh}.collection>:not(.grain,.viewer){z-index:1;position:relative}.collection.is-exiting>:not(.grain){opacity:0;transition:opacity .4s var(--ease-out)}.hero{height:100dvh;position:relative;overflow:hidden}.hero-img{object-fit:cover;width:100%;max-width:none;height:100%;position:absolute;inset:0}.hero-shade{background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 50%, transparent) 0%, transparent 22%, transparent 46%, color-mix(in srgb, var(--bg) 85%, transparent) 80%, var(--bg) 100%);position:absolute;inset:0}.hero-top{justify-content:space-between;align-items:center;display:flex;position:absolute;top:28px;left:40px;right:40px}.back-link svg{color:var(--ink)}.hero-foot{left:var(--page-pad);right:var(--page-pad);justify-content:space-between;align-items:flex-end;gap:32px;display:flex;position:absolute;bottom:64px}.hero-titles{flex-direction:column;gap:18px;display:flex}.hero-sub{align-items:baseline;gap:12px;display:flex}.hero-sub .index-no{color:var(--accent)}.hero-en{font-family:var(--font-latin);font-style:italic;font-size:var(--fs-title)}.hero-title{font-family:var(--font-display);font-size:var(--fs-hero);line-height:.95}.hero-title span{display:inline-block}.hero-info{background:color-mix(in srgb, var(--bg) 55%, transparent);width:320px;padding:8px 16px}.hero-info div{align-items:center;gap:12px;padding:8px 0;display:flex}.hero-info dt{font-size:var(--fs-caption);color:var(--muted);flex:1;align-items:center;gap:12px;display:inline-flex}.hero-info dd{font-family:var(--font-latin);font-size:var(--fs-body)}.collection.is-arriving .hero-img{animation:1ms linear both appear}.collection.is-arriving .hero-shade{animation:.7s ease-out both fade-in}.collection.is-arriving .hero-sub{animation:rise-in .7s var(--ease-out) both}.collection.is-arriving .hero-title span{animation:char-in .7s var(--ease-out) both}.collection.is-arriving .hero-info{animation:rise-in .7s var(--ease-out) both}.collection.is-arriving .hero-top{animation:rise-in .6s var(--ease-out) both}.collection.is-arriving .intro p span span{animation:word-in .9s var(--ease-out) both}.collection.is-arriving .collection-foot{animation:2.4s cubic-bezier(.33,0,.2,1) both develop}.collection.is-arriving .row{opacity:0;filter:blur(18px)brightness(.55);transform:scale(1.04)}.collection.is-arriving .row.is-developing{animation:2.4s cubic-bezier(.33,0,.2,1) both develop}@keyframes appear{0%{opacity:0}}@keyframes word-in{0%{opacity:0;filter:blur(5px);transform:translateY(7px)}}@keyframes develop{0%{opacity:0;filter:blur(18px)brightness(.55);transform:scale(1.04)}35%{opacity:.85;filter:blur(10px)brightness(.72)}to{opacity:1;filter:blur()brightness();transform:none}}.hero.is-plain .hero-foot,.hero.is-plain .hero-top{animation:.5s ease-out both fade-in}@keyframes char-in{0%{opacity:0;filter:blur(8px);transform:translateY(46px)}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}}.intro{padding:96px var(--page-pad) 112px;gap:var(--gap-photo);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.intro-body{grid-column:5/span 6}.intro p+p{margin-top:1.1em}.intro .intro-line{display:inline}.intro p span{white-space:pre-wrap;display:inline-block}.intro p{font-size:var(--fs-title);color:var(--body);font-weight:300;line-height:2}.gallery{padding:0 var(--page-pad);gap:var(--gap-photo);flex-direction:column;display:flex}.photo{cursor:zoom-in;width:100%;display:block;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.row-b,.row-t{gap:var(--gap-photo);display:grid}.row-c{align-items:end;gap:var(--gap-photo);grid-template-columns:8fr 4fr;display:grid}.row-c.is-text-right .photo{order:0}.row-c.is-text-left{grid-template-columns:4fr 8fr}.row-c.is-text-left .photo{order:1}.row-c-text{flex-direction:column;gap:16px;padding:0 28px 4px;display:flex}.row-c-no{align-items:baseline;gap:10px;display:flex}.row-c-of{font-family:var(--font-latin);font-style:italic;font-size:var(--fs-body);color:var(--muted)}.row-c-text p{color:var(--body);font-weight:300;line-height:2}.collection-foot{margin:140px var(--page-pad) 0;gap:var(--gap-photo);flex-direction:column;padding-bottom:64px;display:flex}.neighbours{gap:var(--gap-photo);grid-template-columns:1fr 1fr;display:grid}.neighbour{background:color-mix(in srgb, var(--ink) 6%, transparent);transition:background-color var(--hover-fade) linear;align-items:center;gap:18px;padding:14px;display:flex}.neighbour:hover{background:color-mix(in srgb, var(--ink) 10%, transparent)}.neighbour.is-end{text-align:right;justify-content:flex-end}.neighbour.is-empty{opacity:.45}.neighbour img{object-fit:cover;width:96px;height:72px}.neighbour-text{flex-direction:column;gap:4px;display:flex}.neighbour-label{font-size:var(--fs-caption);color:var(--muted)}.neighbour-name{font-family:var(--font-display);font-size:var(--fs-heading);line-height:1.1}.map-return{background:color-mix(in srgb, var(--ink) 4%, transparent);display:block;position:relative;overflow:hidden}.map-return .dotmap{position:absolute;inset:0}.map-return-glow{background:radial-gradient(35% 90% at 50% 50%, transparent, color-mix(in srgb, var(--bg) 75%, transparent));position:absolute;inset:0}.map-return-pin{color:var(--accent);margin:-32px 0 0 -17px;position:absolute;top:50%;left:50%}.map-return-label{align-items:center;gap:8px;display:inline-flex;position:absolute;top:24px;left:28px}.map-return-name{font-family:var(--font-display);font-size:var(--fs-heading);position:absolute;bottom:24px;left:28px}.map-return:hover .map-return-label{opacity:.7}.viewer{z-index:30;color:#e8eef4;--ink:#e8eef4;--muted:#8797a8;background:#12171c;animation:.2s linear both fade-in;position:fixed;inset:0}.viewer-top{z-index:2;justify-content:space-between;align-items:center;display:flex;position:absolute;top:28px;left:40px;right:40px}.viewer-count{background:#ffffff1a;align-items:center;gap:10px;height:40px;padding:0 16px;display:inline-flex}.viewer-title{font-family:var(--font-display);font-size:var(--fs-title);line-height:1}.viewer-index{font-family:var(--font-ui);font-size:var(--fs-caption);color:var(--muted);font-variant-numeric:tabular-nums}.viewer-actions{gap:10px;display:flex;position:relative}.viewer-toast{white-space:nowrap;font-family:var(--font-ui);font-size:var(--fs-caption);background:#ffffff1a;padding:4px 10px;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}.viewer-stage{position:absolute;inset:0}.viewer-frame{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:104px 190px 90px}.viewer-img{object-fit:contain;pointer-events:auto;width:auto;max-width:100%;height:auto;max-height:100%;animation:.24s linear both fade-in;display:block}.viewer-arrow{color:#e8eef4b3;width:60px;height:60px;transition:color var(--hover-fade) linear;place-items:center;display:grid;position:absolute;top:calc(7px + 50%);transform:translateY(-50%)}.viewer-arrow:hover{color:#fff}.viewer-arrow.is-prev{left:44px}.viewer-arrow.is-next{right:44px}.viewer-foot{z-index:2;justify-content:space-between;align-items:center;gap:24px;display:flex;position:absolute;bottom:28px;left:190px;right:190px}.viewer-caption{flex-direction:column;gap:2px;min-width:0;line-height:1.4;display:flex}.viewer-caption-zh{font-family:var(--font-ui);font-size:var(--fs-body);font-weight:500}.viewer-caption-en{font-family:var(--font-latin);font-style:italic;font-size:var(--fs-body);color:var(--muted)}.viewer-thumbs{scrollbar-width:none;flex-shrink:0;gap:6px;max-width:60%;padding:3px;display:flex;overflow-x:auto}.viewer-thumbs button{opacity:.4;width:44px;height:30px;transition:opacity var(--hover-fade) linear;flex-shrink:0}.viewer-thumbs button:hover{opacity:.75}.viewer-thumbs button.is-current{opacity:1;outline-offset:2px;outline:2px solid #e8eef4}.viewer-thumbs img{object-fit:cover;width:100%;height:100%;display:block}.viewer-progress{gap:4px;display:flex}.viewer-progress span{height:4px;transition:background var(--hover-fade) linear;background:#e8eef433;flex:1}.viewer-progress span.is-current{background:#e8eef4}.about{min-height:100vh}.about>:not(.grain){z-index:1;position:relative}.about-top{justify-content:space-between;align-items:center;padding:28px 40px 0;display:flex}.about-main{gap:var(--gap-photo);padding:80px var(--page-pad);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.about-portrait{aspect-ratio:3/4;background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--muted);grid-column:span 4;place-items:center;display:grid;overflow:hidden}.about-portrait img{object-fit:cover;width:100%;height:100%}.about-text{flex-direction:column;grid-column:6/span 6;gap:24px;padding-top:20px;display:flex}.about-kicker{font-family:var(--font-latin);font-style:italic;font-size:var(--fs-title);color:var(--muted)}.about-text h1{font-family:var(--font-display);font-size:var(--fs-hero);line-height:1}.about-text p{font-size:var(--fs-title);color:var(--body);font-weight:300;line-height:2}.about-contacts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:12px;display:grid}.about-contacts a,.about-contacts span:first-child{grid-template-columns:auto 1fr;align-items:center;column-gap:14px;padding:12px 0;display:grid}.about-contacts svg{color:var(--muted);grid-row:span 2}.about-contact-label{font-size:var(--fs-caption);color:var(--muted)}.about-foot{padding:0 var(--page-pad) 32px;font-size:var(--fs-caption);color:var(--muted)}.not-found{text-align:center;place-content:center;gap:12px;min-height:100vh;display:grid}.not-found h1{font-family:var(--font-latin);font-size:var(--fs-hero)}@media (max-width:760px){.hero{height:var(--hero-m-h)}.hero-top{top:12px;left:16px;right:16px}.hero-top .site-nav{display:none}.back-link span{font-size:var(--fs-caption);display:inline}.icon-btn{border-color:#0000}.hero-foot{flex-direction:column;align-items:flex-start;gap:12px;bottom:16px;left:16px;right:16px}.hero-title{font-size:var(--fs-heroMobile)}.hero-en{font-size:var(--fs-body)}.hero-info{background:0 0;gap:16px;width:auto;padding:0;display:flex}.hero-info div{gap:4px;padding:0}.hero-info dt{flex:none;gap:0;font-size:0}.hero-info dd{font-size:var(--fs-caption)}.intro{padding:24px 20px 28px;display:block}.intro p{font-size:var(--fs-body)}.gallery{gap:var(--gap-photo-mobile);padding:0 16px}.row-b,.row-t{gap:var(--gap-photo-mobile)}.row-c,.row-c.is-text-left{grid-template-columns:1fr;gap:12px}.row-c.is-text-left .photo{order:0}.row-c-text{padding:0 4px 12px}.collection-foot{margin:36px 16px 0;padding-bottom:40px}.neighbours{grid-template-columns:1fr}.neighbour:first-child:not(:only-child){display:none}.neighbour.is-end{text-align:left;flex-direction:row-reverse;justify-content:flex-end}.neighbour img{width:64px;height:64px}.map-return-label{top:14px;left:16px}.map-return-name{font-size:var(--fs-title);bottom:14px;left:16px}.viewer-top{top:12px;left:16px;right:16px}.viewer-count{height:36px;padding:0 14px}.viewer-title{display:none}.viewer-index{color:var(--ink)}.viewer-close{color:#12171c;background:#e8eef4;border-color:#0000}.viewer-frame{inset:68px 0 140px}.viewer-foot{left:16px;right:16px;bottom:calc(36px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:16px}.about-top{padding:12px 16px 0}.about-main{flex-direction:column;padding:24px 16px;display:flex}.about-text h1{font-size:var(--fs-heroMobile)}.about-contacts{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}}.chrome.is-intro{opacity:0;pointer-events:none;transition:none;transform:translateY(6px)}.home-top.chrome:not(.is-intro,.is-leaving),.home-index.chrome:not(.is-intro,.is-leaving),.home-foot.chrome:not(.is-intro,.is-leaving){transition:opacity .7s var(--ease-out) .5s, transform .7s var(--ease-out) .5s}.marker.is-in{opacity:1;pointer-events:auto;transform:none}.marker:after{content:"";border:1px solid color-mix(in srgb, var(--ink) 60%, transparent);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:0}.marker.is-in:after{animation:marker-ping 1.1s var(--ease-out) both;animation-delay:var(--d,0s)}@keyframes marker-ping{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(2.4)}}.face-box{pointer-events:none;position:absolute}.dot-words{z-index:2;cursor:pointer;background:0 0;border-radius:999px;transition:background-color .2s linear;position:absolute}.dot-words:hover,.dot-words:focus-visible{background:color-mix(in srgb, var(--ink) 7%, transparent);outline:none}@media (prefers-reduced-motion:reduce){.marker,.home-top.chrome,.home-index.chrome,.home-foot.chrome{transition:none!important}.marker.is-in:after{animation:none}}.m-stage{z-index:1;background:var(--bg);transition:height .6s var(--ease), opacity .32s var(--ease-out);position:relative;overflow:hidden}.m-stage.is-people{z-index:4;position:sticky;top:68px}.m-stage.is-splash,.m-stage.is-entering{z-index:30;transition:none;position:fixed;top:0;left:0;right:0}.m-stage.is-splash{pointer-events:none;background:0 0}.m-stage.is-entering{z-index:3;pointer-events:none;background:0 0}.m-stage .dotstage{position:absolute;top:0;left:0}.m-stage .marker-pin{top:-20px;left:-1px}.m-face-hit{z-index:1;background:0 0;position:absolute;inset:0}.home-m.is-intro>.m-list,.home-m.is-intro>.face-tabs,.home-m.is-intro>.m-header{opacity:0;transition:none}.home-m>.face-tabs,.home-m>.m-header,.home-m>.m-list{transition:opacity .6s var(--ease-out) .45s}.acc.is-shown .acc-zh{color:var(--ink);opacity:.8}.splash{--sp-dim:color-mix(in srgb, var(--ink) 50%, transparent);z-index:40;color:var(--ink);position:fixed;inset:0}.splash-canvas{touch-action:none;cursor:pointer;width:100%;height:100%;display:block;position:fixed;inset:0}.splash-meta{font-family:var(--font-latin);font-size:var(--sp-meta);letter-spacing:var(--sp-meta-track);color:var(--sp-dim);opacity:0;pointer-events:none;transition:opacity var(--sp-meta-ms) ease;position:fixed}.splash-meta.is-tl{left:var(--sp-edge-x);top:calc(var(--sp-edge-y) + env(safe-area-inset-top,0px))}.splash-meta.is-tr{right:var(--sp-edge-x);top:calc(var(--sp-edge-y) + env(safe-area-inset-top,0px));font-variant-numeric:tabular-nums;opacity:1}.splash-meta.is-bl{left:var(--sp-edge-x);bottom:calc(var(--sp-edge-y) + env(safe-area-inset-bottom,0px));transition-delay:var(--sp-info-at)}.splash.is-formed .splash-meta{opacity:1}.splash-title{align-items:center;gap:var(--sp-title-gap);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:0;right:0}.splash-zh{font-family:var(--font-display);font-size:var(--sp-title);letter-spacing:var(--sp-title-track);padding-left:var(--sp-title-track);line-height:1.2;display:flex}.splash-zh span{opacity:0;filter:blur(var(--sp-char-blur));transform:translateY(var(--sp-char-rise));transition:opacity var(--sp-char-ms) var(--ease-out), filter var(--sp-char-ms) var(--ease-out), transform var(--sp-char-ms) var(--ease-out)}.splash.is-formed .splash-zh span{opacity:1;filter:blur();transform:none}.splash-en{font-family:var(--font-latin);font-size:var(--sp-en);letter-spacing:var(--sp-en-track);padding-left:var(--sp-en-track);color:var(--sp-dim);opacity:0;transition:opacity var(--sp-en-ms) ease var(--sp-en-at)}.splash.is-formed .splash-en{opacity:1}.splash-enter{right:var(--sp-edge-x);bottom:calc(var(--sp-enter-bottom) + env(safe-area-inset-bottom,0px));align-items:center;gap:var(--sp-enter-gap);min-height:44px;font-size:var(--sp-enter);letter-spacing:var(--sp-enter-track);color:var(--ink);opacity:0;pointer-events:none;transition:opacity var(--sp-meta-ms) ease var(--sp-enter-at), gap var(--sp-enter-hover-ms) ease;display:flex;position:fixed}.splash.is-formed .splash-enter{opacity:1;pointer-events:auto}.splash-enter:hover{gap:var(--sp-enter-gap-hover)}.splash-enter:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.splash.is-exiting .splash-meta,.splash.is-exiting .splash-title,.splash.is-exiting .splash-enter{pointer-events:none;opacity:0!important;transition:opacity var(--sp-exit-ms) ease!important}.splash.is-exiting .splash-canvas{pointer-events:none}.splash.is-still *,.splash.is-still .splash-zh span{transition:none!important}.splash.is-mobile .splash-meta.is-tl,.splash.is-mobile .splash-meta.is-tr{top:calc(var(--sp-edge-y-m) + env(safe-area-inset-top,0px))}.splash.is-mobile .splash-meta.is-tl{left:var(--sp-edge-x-m)}.splash.is-mobile .splash-meta.is-tr{right:var(--sp-edge-x-m)}.splash.is-mobile .splash-meta.is-bl{display:none}.splash.is-mobile .splash-zh{font-size:var(--sp-title-m)}.splash.is-mobile .splash-en{letter-spacing:var(--sp-en-track-m);padding-left:var(--sp-en-track-m)}.splash.is-mobile .splash-enter{left:0;right:0;bottom:calc(var(--sp-enter-bottom-m) + env(safe-area-inset-bottom,0px));justify-content:center}.home-brand{font-family:var(--font-display);font-size:var(--home-brand);letter-spacing:var(--home-brand-track);color:var(--ink);line-height:1.2}.site-nav.is-short{gap:var(--home-nav-gap)}.nav-item.nav-locale.is-short{font-family:var(--font-latin);font-size:var(--fs-caption);letter-spacing:.2em}.m-header .home-brand{font-size:var(--home-m-brand)}.m-header-right{align-items:center;gap:var(--home-m-switch-gap);display:flex}.m-foot{z-index:1;padding:32px var(--home-m-pad-x) 8px;font-size:var(--fs-caption);color:var(--muted);position:relative}
