:root{--ink:#222723;--paper:#f5f4ef;--muted:#7a7e76;--line:#d9dcd3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #b3a77a;outline-offset:6px}header{position:absolute;z-index:5;top:0;left:0;width:100%;padding:32px 4.7%;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff25}.brand{font-size:21px;letter-spacing:4px}.brand span{display:block;font-size:8px;letter-spacing:2.2px;margin-top:8px}nav{display:flex;gap:42px}nav a{font-size:13px;letter-spacing:2px}nav span{font-size:9px;opacity:.6;margin-left:10px}.hero{height:100svh;min-height:680px;max-height:1200px;position:relative;color:#fff;background:#24333a;overflow:hidden}.hero-pictures,.shade{position:absolute;inset:0}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease,transform 8s linear;transform:scale(1.055)}.hero-image.active{opacity:1;transform:scale(1)}.shade{background:linear-gradient(90deg,#0a1b294b,transparent 80%),linear-gradient(0deg,#08151bc9,transparent 45%,#08151b32)}.hero-copy{position:absolute;left:8%;top:32%;}.eyebrow{font-size:10px;letter-spacing:2.8px;font-weight:500;margin:0 0 26px}.hero .eyebrow{color:#ffffffb3}h1{font-family:"Songti SC","Noto Serif CJK SC",serif;font-weight:400;font-size:clamp(46px,5.7vw,84px);line-height:1.4;letter-spacing:8px;margin:0}.subtitle{font-size:14px;letter-spacing:4px;color:#ffffffbd;margin:23px 0 34px}.explore{display:inline-flex;align-items:center;gap:65px;border-bottom:1px solid #ffffff70;padding:0 0 12px;font-size:12px;letter-spacing:2px}.explore span{font-size:25px}.hero-bottom{position:absolute;bottom:40px;left:4.7%;right:4.7%;display:flex;justify-content:space-between;align-items:end}.small-label{font-size:8px;letter-spacing:2px;opacity:.6}#hero-caption{font-size:13px;letter-spacing:2px;margin:10px 0 0}#hero-caption span{font-size:10px;opacity:.65;margin-left:20px}.slide-controls{display:flex;gap:18px;align-items:center}.slide-controls button{background:none;color:#ffffff70;border:0;border-top:1px solid #ffffff45;padding:15px 4px 0;min-width:42px;font-size:11px}.slide-controls .selected{color:white;border-color:white}.scroll-note{font-size:8px;letter-spacing:2px;opacity:.7}.section{padding:100px 7.5%}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}h2{font-family:"Songti SC",serif;font-size:40px;font-weight:400;letter-spacing:4px;margin:0;line-height:1.5}.section .eyebrow{color:var(--muted);margin-bottom:17px}.section-intro{font-size:12px;line-height:2.1;letter-spacing:1px;color:var(--muted);margin:0}.filter-bar{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}.filters{display:flex;gap:32px}.filters button{background:none;border:0;color:var(--muted);font-size:13px;padding:15px 0 18px;border-bottom:1px solid transparent;margin-bottom:-1px}.filters button.active{color:var(--ink);border-bottom-color:var(--ink)}sup{font-size:9px;margin-left:7px;opacity:.55}#result-count{font-size:10px;letter-spacing:1px;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px;align-items:start}.photo-card{display:block;width:100%;text-align:left;border:0;background:none;padding:0;color:inherit;animation:arrive .6s both}.photo-card:nth-child(3n+2){margin-top:40px}.photo-wrap{overflow:hidden;background:#e3e5de;position:relative}.photo-card img{display:block;width:100%;height:auto;transition:transform .8s cubic-bezier(.2,.6,.2,1)}.photo-card:hover img{transform:scale(1.035)}.open-mark{position:absolute;right:12px;bottom:12px;border-radius:50%;background:#ffffffde;width:30px;height:30px;display:grid;place-items:center;opacity:0;transform:translateY(5px);transition:.25s}.photo-card:hover .open-mark,.photo-card:focus-visible .open-mark{opacity:1;transform:none}.photo-info{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding-top:14px}.photo-info h3{font-size:12px;font-weight:400;letter-spacing:1px;margin:0}.photo-info span{font-size:9px;color:var(--muted);white-space:nowrap}.end-note{text-align:center;color:var(--muted);font-size:11px;letter-spacing:2px;margin:70px 0 0}.end-note span{display:block;font-size:8px;letter-spacing:3px;margin-top:12px}.about{border-top:1px solid var(--line);background:#eaece4}.about-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:start;margin-top:35px}.about-layout p{font-size:13px;line-height:2.2;letter-spacing:1px;margin:0 0 22px}.muted{color:var(--muted)}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid #8c9386;padding-bottom:7px;margin-top:14px}footer{padding:30px 7.5%;display:flex;align-items:center;justify-content:space-between}footer a{font-size:13px;letter-spacing:2px}footer a span{margin-left:35px}footer p{font-size:9px;color:var(--muted);letter-spacing:1px}dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;border:0;margin:0;padding:0;background:#111512;color:#f1f1e9}dialog::backdrop{background:#111}body.viewing{overflow:hidden}.viewer-top{position:absolute;top:22px;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2px}.viewer-top button,.viewer-arrow{border:0;background:none;color:#eee;padding:12px}dialog figure{margin:70px auto 0;width:84%;height:calc(100svh - 145px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}#viewer-image{max-width:100%;max-height:calc(100% - 65px);object-fit:contain;min-height:0}figcaption{width:100%;display:flex;align-items:center;justify-content:space-between;max-width:1100px}figcaption h3{font-size:14px;font-weight:400;letter-spacing:2px;margin:0}figcaption p,figcaption>span{font-size:10px;color:#a1a99e;letter-spacing:1px;margin:8px 0 0}.viewer-arrow{position:absolute;top:46%;font-size:25px;z-index:2}.prev{left:1.5%}.next{right:1.5%}@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(min-width:1600px){.section{padding-left:12%;padding-right:12%}}@media(max-width:700px){header{padding:24px 6%}.brand{font-size:17px;letter-spacing:2px}.brand span{font-size:6px;letter-spacing:1.5px}nav{gap:24px}nav a{font-size:12px}nav span{display:none}.hero{min-height:640px;max-height:950px}.hero-copy{left:8%;top:32%}h1{font-size:48px;letter-spacing:5px}.hero-bottom{left:8%;right:8%;bottom:28px;align-items:start;gap:25px;flex-direction:column}.hero .eyebrow{font-size:8px}.subtitle{font-size:11px;letter-spacing:2px}.scroll-note{display:none}.slide-controls{gap:14px}.slide-controls button{padding-top:10px;min-width:32px}.section{padding:64px 6%}.section-head{display:block;margin-bottom:24px}h2{font-size:32px}.section-intro{margin-top:22px;font-size:11px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.photo-card:nth-child(3n+2){margin-top:0}.photo-card:nth-child(2n){margin-top:25px}.photo-info{display:block;padding-top:10px}.photo-info h3{font-size:11px;line-height:1.6}.photo-info span{display:block;margin-top:4px}.filters{gap:22px}#result-count{font-size:9px}.about-layout{grid-template-columns:1fr;gap:28px;margin-top:26px}.about-layout p{font-size:12px}footer{padding:26px 6%;display:block}footer p{font-size:8px;margin-top:18px}dialog figure{width:88%;height:calc(100svh - 150px)}.viewer-arrow{top:auto;bottom:15px;font-size:24px}.prev{left:25%}.next{right:25%}figcaption>span{display:none}.viewer-top{top:15px}.open-mark{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-image{transform:none}}

/* Dense, edge-to-edge photo wall; slate tones echo the mountains and night skies. */
:root{--ink:#e9eff2;--paper:#17242d;--muted:#9aacb8;--line:#354550}body{background:var(--paper)}.works.section{padding:28px 0 0}.section-head{margin:0 28px 12px;align-items:center}.section-head h2{font-size:24px;letter-spacing:2px}.section-head .eyebrow{display:none}.section-intro{font-size:11px;line-height:1.8}.filter-bar{margin:0 28px 20px;border-color:var(--line)}.filters button{padding:12px 0}.gallery{display:flex;flex-direction:column;gap:3px}.photo-row{display:flex;gap:3px;width:100%;overflow:hidden}.photo-card,.photo-card:nth-child(n){position:relative;margin:0;min-width:0;flex-shrink:0;animation:arrive .45s both;height:100%}.photo-wrap{width:100%;height:100%;background:#243640}.photo-card img{width:100%;height:100%;object-fit:contain}.photo-info{position:absolute;bottom:0;left:0;right:0;padding:42px 18px 15px;display:flex;align-items:baseline;background:linear-gradient(transparent,#08121bcc);color:#fff;opacity:0;transition:opacity .25s;pointer-events:none}.photo-info span{color:#c4d0d7;font-size:10px}.photo-info h3{font-size:13px}.photo-card:hover .photo-info,.photo-card:focus-visible .photo-info{opacity:1}.open-mark{top:12px;bottom:auto;color:#15232c;background:#e5eef0cc}.end-note{margin:0;padding:23px;font-size:10px}.end-note span{display:none}.about.section{padding:35px 28px;background:#1c2d38}.about .eyebrow{display:none}.about-layout{margin:0;gap:30px;align-items:center}.about-layout h2{font-size:28px}.about-layout p{font-size:12px;margin:0 0 10px}.text-link{margin-top:0;border-color:#6c8290}footer{padding:20px 28px;background:#14212a}dialog{background:#101b24;color:#edf3f6}dialog::backdrop{background:#101b24}figcaption p,figcaption>span{color:#a4b8c5}.shade{background:linear-gradient(90deg,#0a1b294b,transparent 80%),linear-gradient(0deg,#17242d,transparent 45%,#08151b32)}button:focus-visible,a:focus-visible{outline-color:#afcfdf}.photo-card:focus-visible{outline-offset:-3px;z-index:2}
@media(max-width:700px){.works.section{padding:18px 0 0}.section-head{margin:0 14px 6px;display:flex}.section-head h2{font-size:20px}.section-intro{display:none}.filter-bar{margin:0 14px 14px}.filters{gap:24px}.filters button{font-size:12px;padding:10px 0}.gallery,.photo-row{gap:2px}.photo-info{padding:28px 9px 9px;opacity:1;display:block}.photo-info h3{font-size:10px;line-height:1.5}.photo-info span{font-size:8px;margin-top:3px}.about.section{padding:26px 18px}.about-layout{gap:15px}.about-layout h2{font-size:23px}.about-layout h2 br{display:none}.about-layout p{font-size:11px}footer{padding:20px 18px}.end-note{padding:18px}.photo-card img{transform:none!important}}
/* Photograph-derived ambient glass, with a sharp central image. */
.hero-copy h1{font-family:inherit;font-weight:300;letter-spacing:12px;font-size:clamp(48px,6vw,88px)}.about-layout h2{font-family:inherit;font-size:25px;letter-spacing:4px}.about-layout{grid-template-columns:1fr 1fr}.about-layout p{margin:0}.about .text-link{margin-top:14px}
dialog{background:transparent;isolation:isolate;overflow:hidden}dialog::backdrop{background:rgba(22,36,46,.18);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.viewer-ambient{position:absolute;inset:-70px;background-size:cover;background-position:center;filter:blur(48px) saturate(.8) brightness(.85);z-index:-2;pointer-events:none}.viewer-glass{position:absolute;inset:0;background:linear-gradient(120deg,rgba(224,236,244,.25),rgba(34,53,68,.22));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:-1;pointer-events:none}.viewer-top{top:16px;left:22px;right:22px;text-shadow:0 1px 8px #0009}.viewer-top button,.viewer-arrow{border:1px solid #ffffff42;background:rgba(31,48,60,.25);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 #ffffff1c;border-radius:999px;color:#fff}.viewer-top button{padding:10px 18px;font-size:12px}.viewer-arrow{width:46px;height:46px;padding:0;display:grid;place-items:center;top:46%}#viewer-image{box-shadow:0 16px 60px #11233240}dialog figure{position:relative;z-index:0}figcaption{background:rgba(26,43,55,.28);border:1px solid #ffffff26;border-radius:12px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);padding:12px 18px}figcaption p,figcaption>span{color:#e1e9ee}figcaption h3{color:#fff}.viewer-top button:hover,.viewer-arrow:hover{background:#ffffff30}@media(max-width:700px){.hero-copy h1{font-size:52px;letter-spacing:8px}.about-layout{grid-template-columns:1fr 1fr;gap:20px}.about-layout h2{font-size:21px}.viewer-arrow{top:auto;bottom:16px;width:42px;height:42px}.viewer-top{left:15px;right:15px;top:14px}figcaption{padding:10px 12px}.viewer-ambient{filter:blur(30px) saturate(.8) brightness(.85)}}
header{position:fixed;top:0;padding:20px 28px;transition:background .3s,padding .3s;z-index:1000}header.scrolled{background:rgba(19,33,43,.83);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding-top:14px;padding-bottom:14px}nav{gap:30px}.brand{font-size:19px}html{scroll-padding-top:96px}dialog{z-index:2000}.hero-image{transition:opacity 1.6s ease;transform:none}.hero-image.active{animation:hero-zoom 12s linear both}.hero-image:nth-child(2).active{animation-name:hero-rise}.hero-image:nth-child(3).active{animation-name:hero-pan}@keyframes hero-zoom{from{transform:scale(1)}to{transform:scale(1.09)}}@keyframes hero-rise{from{transform:scale(1.09) translateY(1.5%)}to{transform:scale(1.09) translateY(-1.5%)}}@keyframes hero-pan{from{transform:scale(1.08) translateX(-1.5%)}to{transform:scale(1.08) translateX(1.5%)}}.hero:has(#pause[aria-label="播放自动切换"]) .hero-image{animation-play-state:paused}.compact-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.compact-head h2{font-family:inherit;font-size:23px;letter-spacing:2px}.compact-head>span{font-size:9px;letter-spacing:2px;color:var(--muted)}.series-section,.places-section{padding:32px 28px;border-top:1px solid var(--line)}#series-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.series-card{height:280px;position:relative;border:0;padding:0;overflow:hidden;background:#243846;color:white;text-align:left}.series-card>img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.series-card:hover>img{transform:scale(1.04)}.series-card>span{position:absolute;bottom:0;left:0;right:0;padding:50px 22px 20px;background:linear-gradient(transparent,#0d1c29c9);display:flex;justify-content:space-between;align-items:center}.series-card strong{font-size:25px;font-weight:400;letter-spacing:4px}.series-card small{font-size:10px}#clear-selection{background:transparent;border:0;color:#d6e7f0;font-size:11px;margin-left:auto;margin-right:20px}.map-note{font-size:11px;color:var(--muted);margin:0 0 18px;line-height:1.7}.map-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:3px}#photo-map{height:550px;background:#344750;z-index:0}.map-panel{background:#20323e;padding:18px;max-height:550px;overflow:auto}#location-tabs{display:flex;gap:7px;flex-wrap:wrap}#location-tabs button{color:#b8cbd8;border:1px solid #52616c;background:transparent;border-radius:20px;font-size:11px;padding:6px 10px}#location-tabs button.active{background:#d6e5ec;color:#1a2d39;border-color:#d6e5ec}#location-title{font-size:14px;font-weight:400;margin:22px 0 15px}#location-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#location-photos button{padding:0;background:transparent;color:var(--ink);border:0;text-align:left;min-width:0}#location-photos img{width:100%;height:110px;object-fit:cover;display:block}#location-photos span{font-size:10px;display:block;margin-top:6px}#map-status{font-size:11px;color:#bdcdd6}.photo-pin{position:relative;border:2px solid white;border-radius:7px;box-shadow:0 2px 10px #0006;background:#29404f}.photo-pin img{height:100%;width:100%;object-fit:cover;border-radius:4px}.photo-pin b{position:absolute;right:-6px;top:-8px;border-radius:20px;background:#203745;color:#fff;padding:2px 5px;font-size:10px}.leaflet-control-attribution{font-size:9px}.leaflet-container{font-family:inherit}.leaflet-tile-pane{filter:saturate(.45)}
@media(max-width:700px){header,header.scrolled{padding:14px 14px}.brand{font-size:16px;letter-spacing:2px}.brand span{font-size:6px;letter-spacing:.7px}nav{gap:16px}nav a{font-size:11px;letter-spacing:0}nav span{display:none}.series-section,.places-section{padding:24px 12px}.series-card{height:200px}.series-card>span{padding:35px 10px 12px;display:block}.series-card strong{font-size:19px;letter-spacing:2px}.series-card small{display:block;margin-top:8px;font-size:9px}.compact-head h2{font-size:20px}.compact-head>span{font-size:7px;letter-spacing:1px}.map-layout{grid-template-columns:1fr}#photo-map{height:360px}.map-panel{max-height:370px;padding:14px}#location-photos{grid-template-columns:repeat(3,minmax(0,1fr))}#location-photos img{height:90px}.filter-bar{flex-wrap:wrap}#clear-selection{order:3;width:100%;text-align:left;padding:10px 0;margin:0}.hero-copy{top:34%}}
@media(prefers-reduced-motion:reduce){.hero-image.active{animation:none!important}}
/* Black gallery, serif display typography and restrained sans-serif captions. */
:root{--paper:#000;--ink:#eee;--muted:#999;--line:#282828;--display:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif}body{background:#000;font-family:"Avenir Next","PingFang SC","Microsoft YaHei",sans-serif}.hero-copy h1,h1,h2,.brand,.compact-head h2,.series-card strong{font-family:var(--display);font-weight:400}.brand span,.eyebrow{font-family:"Avenir Next",sans-serif}.hero-copy h1{letter-spacing:.18em}.hero{background:#000}.shade{background:linear-gradient(90deg,#0005,transparent 80%),linear-gradient(0deg,#000b,transparent 45%,#0003)}header.scrolled{background:#080808d9}.works.section{padding:38px 2.5% 32px}.section-head,.filter-bar{margin-left:0;margin-right:0}.gallery,.photo-row{gap:10px}.photo-wrap{background:#111}.open-mark{display:grid;top:18px;right:18px;width:40px;height:40px;border:1px solid #fff9;background:#ffffff08;backdrop-filter:blur(4px);color:white;font-family:Arial,sans-serif;font-size:32px;line-height:1;opacity:1;transform:none}.photo-info{background:linear-gradient(transparent,#000b)}.photo-info h3{font-family:"Avenir Next","PingFang SC",sans-serif;font-weight:500;letter-spacing:.06em}.extra-filters{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:0 0 24px;font-size:11px;color:#aaa}.extra-filters label{display:flex;gap:12px;align-items:center}.extra-filters select{font:inherit;background:#111;color:#eee;border:1px solid #333;padding:9px 28px 9px 12px;border-radius:0;color-scheme:dark}.extra-filters button{border:0;background:none;color:#aaa;font-size:11px;padding:10px}.empty-state{padding:65px 0;text-align:center;color:#aaa;font-size:13px}.series-section,.places-section{padding:36px 2.5%;background:#000}#series-grid,.map-layout{gap:10px}.map-panel{background:#111}.contact{padding:52px 5%;background:#080808;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #222}.contact h2{font-size:32px;letter-spacing:3px}.contact .eyebrow{margin-bottom:16px;color:#888}.contact .email{display:inline-block;font-size:clamp(16px,2.5vw,25px);letter-spacing:1px;margin:24px 0 32px;border-bottom:1px solid #666;padding-bottom:9px}.contact .wechat{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10px;letter-spacing:1px}.wechat img{width:180px;height:auto;display:block}.contact .wechat span{margin:0}.contact p{line-height:1.8}.viewer-actions{display:flex;gap:8px}.viewer-top{z-index:5}.zoom-stage{width:100%;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.zoom-stage #viewer-image{max-height:100%;max-width:100%;object-fit:contain;flex-shrink:0}.zoom-stage.zoomed{display:block;overflow:auto;cursor:grab;overscroll-behavior:contain;touch-action:pan-x pan-y}.zoom-stage.zoomed:active{cursor:grabbing}.zoom-stage.zoomed #viewer-image{max-width:none;max-height:none;width:200%;height:auto;display:block;user-select:none}.about-page{min-height:80svh;padding:145px 5% 75px;display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.about-photo img{display:block;width:100%;max-height:650px;object-fit:cover}.about-page h1{font-size:clamp(42px,5vw,72px)}.about-page h2{font-family:inherit;font-size:14px;letter-spacing:4px;color:#aaa;margin:22px 0 38px}.about-page article>p:not(.eyebrow){font-size:13px;line-height:2.2;color:#aaa}.about-page .text-link{margin-top:25px}.entry{position:fixed;inset:0;background:#000;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;animation:entry-away 1.7s cubic-bezier(.7,0,.2,1) forwards}.entry span{font-family:var(--display);font-size:38px;letter-spacing:12px;animation:entry-name 1.2s both}.entry small{margin-top:22px;font-size:8px;letter-spacing:3px;color:#888;animation:entry-name 1.2s both}@keyframes entry-away{0%,50%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}@keyframes entry-name{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:700px){.works.section{padding:24px 3%}.gallery,.photo-row{gap:6px}.extra-filters{gap:10px;margin-bottom:18px}.extra-filters label{gap:6px}.extra-filters select{padding:8px;max-width:120px}.open-mark{top:9px;right:9px;width:28px;height:28px;font-size:24px}.photo-info{opacity:0}.series-section,.places-section{padding:28px 3%}.contact{padding:36px 6%;gap:35px;align-items:start;flex-direction:column}.wechat img{width:160px}.contact h2{font-size:28px}.about-page{padding:110px 6% 50px;grid-template-columns:1fr;gap:35px}.about-page h1{font-size:45px}.viewer-top button{padding:9px 12px;font-size:11px}.viewer-top{font-size:9px}.viewer-actions{gap:6px}}@media(prefers-reduced-motion:reduce){.entry{display:none!important}}

.personal-line{font-size:13px;letter-spacing:3px;line-height:1.9;color:#fffdf5d9;margin:14px 0 0}.hero-copy .subtitle{font-size:11px;margin-top:18px;color:#fffc;letter-spacing:3px}.hero-image.active{animation:cover-zoom 15.5s linear both}.hero-image:nth-child(n+2).active{animation:cover-pan 15.5s linear both}.hero-image:nth-child(3).active{animation-direction:reverse}@keyframes cover-zoom{from{transform:scale(1)}to{transform:scale(1.1)}}@keyframes cover-pan{from{transform:scale(1.08) translateX(-2%)}to{transform:scale(1.08) translateX(2%)}}@media(max-width:700px){.personal-line{font-size:11px;letter-spacing:1.5px}.filters{gap:17px}.filters button{font-size:11px}.filters sup{margin-left:4px}.hero-copy{left:7%}.hero-bottom{left:7%}.hero-bottom #hero-caption span{display:block;margin:6px 0 0}}@media(prefers-reduced-motion:reduce){.hero-image.active{animation:none!important}}

/* Location hierarchy, aligned hero text, and point-focused image zoom. */
.hero-copy{left:5%;text-align:left;display:flex;flex-direction:column;align-items:flex-start}.hero-copy>*{text-align:left}.hero-copy h1{margin-left:-.065em}.hero-copy .personal-line,.hero-copy .eyebrow,.hero-copy .subtitle{padding-left:0}
#location-tabs{display:block;border-bottom:1px solid #333;padding-bottom:12px}#location-tabs details{border:0}#location-tabs summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:13px;padding:12px 5px;color:#eee}#location-tabs summary::-webkit-details-marker{display:none}#location-tabs summary::before{content:'›';display:inline-block;transition:transform .2s;font-size:18px;color:#999}#location-tabs details[open]>summary::before{transform:rotate(90deg)}#location-tabs summary small{margin-left:auto;color:#888;font-size:10px;font-weight:400}#location-tabs .country-branch+.country-branch{border-top:1px solid #292929}#location-tabs .province-branch{margin-left:14px;padding-left:10px;border-left:1px solid #333}#location-tabs .province-branch>summary{font-size:12px;color:#bbb;padding:9px 5px}#location-tabs button{display:flex;justify-content:space-between;align-items:center;width:calc(100% - 20px);margin:3px 0 4px 20px;border:0;border-radius:4px;padding:9px 10px;text-align:left;font-size:11px;color:#aaa;gap:10px}#location-tabs button small{font-size:10px;opacity:.7}#location-tabs button.active{background:#dae6ec;color:#17232b}#location-tabs button:hover{background:#ffffff15;color:#fff}#location-tabs button.active:hover{background:#dae6ec;color:#17232b}#location-tabs summary:focus-visible{outline:2px solid #c2dbe7;outline-offset:1px}
dialog figure{width:calc(100% - 24px);height:calc(100svh - 68px);margin:56px auto 12px;gap:8px}.zoom-surface{width:100%;height:100%;display:flex;justify-content:center;align-items:center;flex-shrink:0}.zoom-stage #viewer-image{max-height:100%;max-width:100%;height:auto;width:auto;cursor:zoom-in}.zoom-stage.zoomed .zoom-surface{max-width:none;max-height:none}.zoom-stage.zoomed #viewer-image{max-width:none;max-height:none;cursor:zoom-out;object-fit:contain}.zoom-stage.zoomed:active #viewer-image{cursor:grabbing}dialog figcaption{max-width:none;width:100%;padding:8px 14px;border-radius:7px;flex-shrink:0}dialog figcaption h3{font-size:12px}dialog figcaption p{margin-top:4px;font-size:10px}.viewer-top{top:10px;left:16px;right:16px}.viewer-top button{padding:8px 14px}.viewer-arrow{width:38px;height:38px;background:#14202c55;opacity:.65}.viewer-arrow:hover{opacity:1}.prev{left:18px}.next{right:18px}
@media(max-width:700px){.hero-copy{left:5%}.hero-copy h1{margin-left:-.065em}dialog figure{width:calc(100% - 12px);height:calc(100svh - 112px);margin:54px auto 58px;gap:6px}.viewer-arrow{bottom:10px;top:auto}.prev{left:calc(50% - 58px)}.next{right:calc(50% - 58px)}dialog figcaption{padding:8px 10px}.map-panel{max-height:500px}}

/* Keep captions and navigation anchored while titles change. */
.hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:24px}
.hero-bottom>div:first-child{min-width:0;min-height:68px}
#hero-caption{display:flex;flex-direction:column;gap:6px;line-height:1.5;min-height:42px;margin-top:8px}
#hero-caption span{display:block;margin:0;font-size:10px;line-height:1.5}
.slide-controls{justify-self:center;align-self:end}.scroll-note{justify-self:end;white-space:nowrap}
#photo-map{background:#a9c1ca}.map-panel{display:flex;flex-direction:column}#location-tabs{max-height:300px;overflow:auto;flex-shrink:0}#location-title{flex-shrink:0}#location-photos{flex-shrink:0}
.photo-card,.photo-card:nth-child(n){animation:none}
.photo-card.reveal-ready{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1)}
.photo-card.revealed,.photo-card:focus-visible{opacity:1;transform:none}
@media(max-width:700px){.hero-bottom{grid-template-columns:minmax(0,1fr);gap:18px}.hero-bottom>div:first-child{min-height:68px}.slide-controls{justify-self:start}#hero-caption{font-size:12px;letter-spacing:1px}.hero-bottom #hero-caption span{margin:0}.map-panel{max-height:560px}#location-tabs{max-height:240px}}
@media(prefers-reduced-motion:reduce){.photo-card.reveal-ready{opacity:1;transform:none;transition:none}}

/* Compact contact footer and click-to-open WeChat card. */
.contact{padding:25px 28px 18px;background:#080808;border-top:1px solid #262626;display:block}
.contact-inner{width:min(100%,1100px);margin:0 auto}
.contact-main{display:flex;justify-content:space-between;align-items:center;gap:30px}
.contact .eyebrow{font-size:8px;letter-spacing:2px;margin:0 0 7px}
.contact h2{font-size:18px;letter-spacing:2px;line-height:1.4}
.contact-links{display:flex;align-items:center;gap:28px}
.contact .email{font-size:12px;letter-spacing:.4px;margin:0;padding:0;border:0}
.wechat-control{position:relative}
.wechat-toggle{border:0;border-bottom:1px solid #777;background:none;color:#eee;font-size:12px;letter-spacing:.4px;padding:4px 0}
.wechat-popover{position:absolute;bottom:calc(100% + 16px);right:0;z-index:20;background:#f5f5f3;color:#333;padding:10px;box-shadow:0 12px 35px #0009;text-align:center;min-width:174px}
.wechat-popover[hidden]{display:none}
.wechat-popover img{display:block;width:154px;height:auto}
.wechat-popover span{display:block;margin-top:7px;font-size:10px;letter-spacing:1px}
.contact-copyright{font-size:9px;color:#777;margin:20px 0 0;letter-spacing:.6px}
.photo-info{gap:12px}
.photo-info h3{white-space:nowrap;min-width:0;line-height:1.45}
.photo-info span{white-space:nowrap;min-width:0;line-height:1.45}
.photo-info.stacked{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.photo-info.stacked h3,.photo-info.stacked span{white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){.contact{padding:22px 6% 17px}.contact-main{align-items:flex-start;flex-direction:column;gap:16px}.contact h2{font-size:17px}.contact-links{width:100%;justify-content:space-between;gap:15px}.contact .email,.wechat-toggle{font-size:11px}.contact-copyright{margin-top:19px}.photo-info{opacity:1;padding:28px 8px 8px;gap:5px}.photo-info h3{font-size:10px}.photo-info span{font-size:8px}.photo-info.stacked{gap:2px}}
