:root{--paper:#f3f1ed;--ink:#171717;--muted:#73706b;--line:#c7c2ba;--serif:'Times New Roman','Songti SC','STSong',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.wrap{max-width:1260px;margin:auto;padding-left:6vw;padding-right:6vw}.eyebrow{margin:0 0 8px;font-family:'Songti SC','STSong',serif;font-size:11px;letter-spacing:.14em;color:var(--muted)}
.site-header{height:84px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:rgba(243,241,237,.96);position:sticky;top:0;z-index:30;transition:background .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease;backdrop-filter:saturate(120%) blur(12px);-webkit-backdrop-filter:saturate(120%) blur(12px);border-bottom:1px solid rgba(0,0,0,.035)}.site-header.is-overlay{position:fixed;top:0;left:0;right:0;background:transparent;color:#fff;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.site-header.is-overlay.is-scrolled{background:rgba(243,241,237,.91);color:var(--ink);border-bottom-color:rgba(0,0,0,.07);backdrop-filter:saturate(125%) blur(14px);-webkit-backdrop-filter:saturate(125%) blur(14px);box-shadow:0 8px 28px rgba(0,0,0,.035)}.brand{display:flex;gap:13px;align-items:baseline;letter-spacing:.06em;min-width:180px}.brand b{font-size:20px;font-weight:500}.brand span{font-family:'Songti SC','STSong','Times New Roman',serif;font-size:13px}.brand.image-brand{align-items:center}.brand.image-brand img{width:auto;max-width:260px;object-fit:contain;transition:filter .28s ease}.site-header.is-overlay .brand.image-brand img{filter:brightness(0) invert(1)}.site-header.is-overlay.is-scrolled .brand.image-brand img{filter:none}.desktop-nav{display:flex;gap:38px;align-items:center}.desktop-nav a{position:relative;display:flex;align-items:baseline;gap:7px;white-space:nowrap}.desktop-nav a span{font-size:11px}.desktop-nav a small{font-size:9px;letter-spacing:.11em;color:#666}.desktop-nav a:after{content:'';position:absolute;left:0;bottom:-7px;width:0;height:1px;background:#222;transition:.25s}.desktop-nav a:hover:after{width:100%}.site-header.is-overlay .desktop-nav a small{color:rgba(255,255,255,.72)}.site-header.is-overlay .desktop-nav a:after{background:#fff}.site-header.is-overlay.is-scrolled .desktop-nav a:after{background:#222}.menu-btn{display:none;background:none;border:0;width:28px;padding:3px 0;cursor:pointer}.menu-btn i{display:block;height:1px;background:#111;margin:7px 0;transition:transform .28s ease,background .28s ease,opacity .28s ease}.site-header.is-overlay .menu-btn i{background:#fff}.site-header.is-overlay.is-scrolled .menu-btn i{background:#111}.mobile-menu{display:none}
.hero{height:100vh;min-height:600px;position:relative;background:#222;overflow:hidden}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease}.hero-slide.active{opacity:1}.hero-empty{background:#262626}.hero-dots{position:absolute;right:30px;bottom:30px;display:flex;gap:8px}.hero-dots button{width:22px;height:2px;padding:0;border:0;background:rgba(255,255,255,.35)}.hero-dots button.active{background:#fff}
.stories{padding-top:95px;padding-bottom:100px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.section-head h2,.about h2{font-family:var(--serif);font-size:34px;font-weight:400;margin:0}.section-head a{font-size:9px;letter-spacing:.08em}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.story-image{overflow:hidden;aspect-ratio:1.42;background:#ddd}.story-card img{height:100%;object-fit:cover;transition:transform .7s ease}.story-card:hover img{transform:scale(1.025)}.story-card h3{font-weight:400;font-size:13px;margin:16px 0 5px}.story-card p{font-size:9px;color:var(--muted);margin:0}
.about{padding-top:100px;padding-bottom:110px;display:grid;grid-template-columns:1.05fr 1.45fr .6fr;gap:70px;align-items:center;border-top:1px solid rgba(0,0,0,.07)}.about-image{aspect-ratio:1.05;overflow:hidden}.about-image img{height:100%;object-fit:cover;filter:grayscale(100%)}.about-copy h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.3;max-width:470px;margin:28px 0 18px}.about-copy>p:not(.eyebrow){font-family:'Songti SC','STSong',serif;font-size:13px;line-height:2;max-width:450px;margin:0 0 28px}.about-copy a{font-size:9px;text-decoration:underline;text-underline-offset:4px}.about-cn{display:flex;gap:25px;align-items:center}.about-cn span{width:1px;height:145px;background:var(--line)}.about-cn p{font-family:'Songti SC','STSong','Times New Roman',serif;line-height:2.2;font-size:13px;max-width:110px}.home-contact{background:#171717;color:#fff}.home-contact a{min-height:220px;padding:0 8vw;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:50px}.home-contact span{font-family:'Songti SC','STSong',serif;font-size:14px;letter-spacing:.12em}.home-contact strong{font-family:var(--serif);font-size:clamp(42px,6vw,80px);font-weight:400}.home-contact i{font-style:normal;font-size:34px;font-weight:200}
.site-footer{border-top:1px solid rgba(0,0,0,.08);min-height:110px;padding:42px 6vw;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#555}.footer-links{display:flex;gap:30px}
.archive-page{padding:90px 0 110px}.archive-head p,.work-head>p{font-size:9px;letter-spacing:.2em}.archive-head h1,.work-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,8vw,100px);margin:18px 0 10px}.archive-head span{font-size:9px;color:var(--muted)}.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:75px 25px;margin-top:80px}.archive-card img{aspect-ratio:1.4;object-fit:cover}.archive-card:nth-child(4n+2) img,.archive-card:nth-child(4n+3) img{aspect-ratio:.92}.archive-card h2{font-family:var(--serif);font-weight:400;margin:16px 0 5px;font-size:22px}.archive-card p{font-size:9px;color:var(--muted)}
.work-head{padding-top:95px;padding-bottom:65px}.work-head>div{display:flex;gap:30px;font-size:10px;color:var(--muted)}.work-head h2{font-family:var(--serif);font-weight:400;font-size:22px;max-width:600px;margin-top:35px}.work-cover{margin:0;width:100%;height:min(82vh,850px);background:#ddd}.work-cover img{width:100%;height:100%;object-fit:cover}.work-text{padding-top:80px;padding-bottom:80px}.work-text p{font-family:'Songti SC','STSong','Times New Roman',serif;max-width:590px;margin:auto;font-size:14px;line-height:2.2;text-align:center}.gallery{display:flex;flex-direction:column;gap:70px;padding-bottom:80px}.gallery figure{margin:0}.gallery figure:nth-child(3n+2){width:72%;margin-left:auto}.gallery figure:nth-child(3n+3){width:72%}.work-back{padding-bottom:100px;font-size:10px}
.info-page{padding:80px 0 120px}.info-hero{padding-top:30px;padding-bottom:85px}.info-hero>p{font-size:9px;letter-spacing:.18em;color:var(--muted);margin:0 0 30px}.info-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,6vw,74px);line-height:1.08;max-width:920px;margin:0}.info-hero h2{font-family:'Songti SC','STSong',serif;font-weight:400;font-size:18px;line-height:1.8;max-width:720px;margin:28px 0 0}.about-detail{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(360px,1.08fr);gap:9vw;align-items:start}.about-detail figure{margin:0}.about-detail figure img{aspect-ratio:.86;object-fit:cover;filter:grayscale(100%)}.about-detail-text{padding-top:5vw}.prose{font-size:14px;line-height:2.05;max-width:580px}.prose.cn{font-family:'Songti SC','STSong',serif;line-height:2.2}.rule{width:44px;height:1px;background:#999;margin:42px 0}.text-link{display:inline-block;margin-top:45px;font-size:10px;text-decoration:underline;text-underline-offset:5px}.contact-detail{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:8vw;align-items:start}.contact-list{border-top:1px solid var(--ink)}.contact-row{min-height:105px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:210px 1fr 30px;align-items:center;gap:25px}.contact-row span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.contact-row strong{font-family:var(--serif);font-size:23px;font-weight:400;word-break:break-all}.contact-row i{font-style:normal;text-align:right}.wechat-card{margin:0;border:1px solid var(--line);padding:18px;background:rgba(255,255,255,.25)}.wechat-card img{aspect-ratio:1;object-fit:cover}.wechat-card p{font-size:9px;letter-spacing:.13em;margin:14px 0 0;text-align:center}.notfound{min-height:70vh;display:grid;place-content:center;text-align:center}.notfound h1{font-family:var(--serif);font-size:100px;margin:0}.empty{padding:50px 0;color:var(--muted);font-size:12px}
@media(max-width:850px){.site-header{height:76px}.site-header.menu-open{position:fixed;top:0;left:0;right:0;background:var(--paper);color:var(--ink)}.site-header.is-overlay.menu-open .brand.image-brand img{filter:none}.brand{min-width:0}.brand.image-brand img{max-width:220px}.desktop-nav{display:none}.menu-btn{display:block}.site-header.menu-open .menu-btn i{background:#111}.site-header.menu-open .menu-btn i:first-child{transform:translateY(4px) rotate(45deg)}.site-header.menu-open .menu-btn i:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:29;inset:76px 0 0;background:var(--paper);color:var(--ink);padding:60px 8vw;flex-direction:column;gap:30px}.mobile-menu.open{display:flex}.mobile-menu a{display:flex;align-items:baseline;gap:12px;font-family:var(--serif);font-size:31px;color:var(--ink)}.mobile-menu a span{color:var(--ink)}.mobile-menu a small{font-family:var(--sans);font-size:9px;letter-spacing:.13em;color:var(--muted)}body.menu-open{overflow:hidden}.hero{height:72vh;min-height:520px}.story-grid{grid-template-columns:1fr;gap:42px}.section-head{align-items:flex-start;gap:20px}.section-head a{padding-top:25px}.about{grid-template-columns:1fr;gap:38px;padding-top:75px;padding-bottom:80px}.about-cn{display:none}.home-contact a{min-height:190px;grid-template-columns:1fr auto;padding:45px 8vw}.home-contact span{grid-column:1/-1}.home-contact strong{font-size:44px}.site-footer{align-items:flex-start;gap:25px;flex-direction:column}.footer-links{flex-wrap:wrap;gap:15px 24px}.archive-page{padding-top:60px}.archive-grid{grid-template-columns:1fr}.archive-card:nth-child(n) img{aspect-ratio:1.25}.gallery figure:nth-child(n){width:100%;margin:0}.work-cover{height:65vh}.info-page{padding-top:40px}.info-hero{padding-bottom:55px}.info-hero h2{font-size:16px}.about-detail{grid-template-columns:1fr;gap:45px}.about-detail-text{padding-top:0}.contact-detail{grid-template-columns:1fr}.contact-row{grid-template-columns:115px 1fr 20px;min-height:92px}.contact-row strong{font-size:19px}.wechat-card{max-width:260px}}

/* ===== V3.3: mobile full-image hero + language switch + richer home ===== */
.desktop-nav a{display:block;font-size:10px;letter-spacing:.12em;font-weight:400}.desktop-nav .lang-switch{margin-left:5px;padding-left:22px;border-left:1px solid rgba(0,0,0,.18);font-size:9px;letter-spacing:.16em}.site-header.is-overlay .desktop-nav .lang-switch{border-left-color:rgba(255,255,255,.45)}.site-header.is-overlay.is-scrolled .desktop-nav .lang-switch{border-left-color:rgba(0,0,0,.18)}
.mobile-menu>a{font-family:var(--serif);font-weight:400}.mobile-menu .mobile-lang{margin-top:auto;padding-top:25px;border-top:1px solid var(--line);font-family:var(--sans);font-size:12px;justify-content:space-between;letter-spacing:.16em}.mobile-menu .mobile-lang small{font-size:10px;color:var(--ink)}
.footer-end{display:flex;gap:26px;align-items:center}

.hero-slide{background-image:none!important}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1}.hero-backdrop{display:none}.hero-empty{background:#262626}

.approach-section{padding:105px 0 115px;border-top:1px solid rgba(0,0,0,.07);border-bottom:1px solid rgba(0,0,0,.07)}.approach-head{display:grid;grid-template-columns:1fr 2.2fr;align-items:end;gap:40px;margin-bottom:68px}.approach-head .eyebrow{margin:0}.approach-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.4vw,62px);line-height:1.08;margin:0;max-width:760px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.approach-item{padding:28px 36px 6px 0;min-height:230px;border-right:1px solid var(--line)}.approach-item+ .approach-item{padding-left:36px}.approach-item:last-child{border-right:0}.approach-item span{font-size:9px;letter-spacing:.14em;color:var(--muted)}.approach-item h3{font-family:var(--serif);font-weight:400;font-size:27px;margin:34px 0 18px}.approach-item p{font-family:'Songti SC','STSong',var(--serif);font-size:12px;line-height:2;color:#4f4c47;max-width:300px;margin:0}

.moments{padding:105px 0 120px;background:#171717;color:#fff}.moments-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.moments-head .eyebrow{color:rgba(255,255,255,.55);margin:0}.moments-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,4vw,52px);line-height:1.1;margin:0;max-width:660px}.moments-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:18vw;gap:8px;padding:0 8px}.moments-grid a{overflow:hidden;position:relative;background:#242424}.moments-grid a:nth-child(1){grid-column:span 5;grid-row:span 2}.moments-grid a:nth-child(2){grid-column:span 4}.moments-grid a:nth-child(3){grid-column:span 3}.moments-grid a:nth-child(4){grid-column:span 3}.moments-grid a:nth-child(5){grid-column:span 4}.moments-grid img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease,opacity .35s ease}.moments-grid a:hover img{transform:scale(1.02);opacity:.88}

@media(max-width:850px){
  .site-header{padding-left:6vw;padding-right:6vw}.desktop-nav{display:none}.mobile-menu{padding-bottom:max(50px,env(safe-area-inset-bottom))}.mobile-menu>a:not(.mobile-lang){font-size:35px;line-height:1.2}
  /* Mobile hero: keep the entire image and let the section follow the active photo's own aspect ratio. */
  .hero{height:auto;min-height:0;background:#111;transition:height .32s ease}.hero-slide{overflow:hidden}.hero-backdrop{display:none!important}.hero-photo{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;background:#111}.hero-dots{z-index:3;right:6vw;bottom:14px}
  .approach-section{padding:75px 0 80px}.approach-head{grid-template-columns:1fr;gap:18px;margin-bottom:45px}.approach-head h2{font-size:38px}.approach-grid{grid-template-columns:1fr}.approach-item,.approach-item+ .approach-item{padding:28px 0 34px;border-right:0;border-bottom:1px solid var(--line);min-height:0}.approach-item:last-child{border-bottom:0}.approach-item h3{margin:18px 0 12px;font-size:25px}.approach-item p{max-width:none}
  .moments{padding:75px 0 80px}.moments-head{display:block}.moments-head h2{margin-top:12px;font-size:36px}.moments-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:58vw;gap:5px;padding:0 5px}.moments-grid a:nth-child(n){grid-column:span 1;grid-row:span 1}.moments-grid a:nth-child(1){grid-column:span 2;grid-row:span 1}.moments-grid a:nth-child(4){grid-column:span 2}
  .footer-end{width:100%;justify-content:space-between}
}


/* ===== V3.5: persistent navigation ===== */
.site-header.is-overlay.is-scrolled .desktop-nav a small{color:#666}
@media(max-width:850px){.site-header{top:0}.site-header.is-overlay.is-scrolled.menu-open{background:var(--paper)}}


/* ===== V3.7: mobile logo alignment + footer language row ===== */
@media(max-width:850px){
  .site-header .brand.image-brand{
    position:absolute;
    left:3.2vw;
    top:50%;
    width:150px;
    height:52px;
    overflow:hidden;
    transform:translateY(-50%);
    display:block;
  }
  .site-header .brand.image-brand img{
    position:absolute;
    left:-33px;
    top:50%;
    height:36px!important;
    width:auto;
    max-width:none;
    transform:translateY(-50%);
    transform-origin:left center;
  }
  .site-header.menu-open .brand.image-brand img{
    filter:none;
  }
  .site-footer .footer-links{
    display:flex;
    flex-wrap:nowrap;
    gap:0;
    width:100%;
    justify-content:flex-start;
    align-items:center;
  }
  .site-footer .footer-links a{
    margin-right:24px;
    white-space:nowrap;
  }
  .site-footer .footer-links a:last-child{
    margin-right:0;
  }
  .site-footer .footer-end{
    width:100%;
    justify-content:flex-end;
  }
}

/* ===== V3.8: mobile header collision fix ===== */
@media(max-width:850px){
  .site-header{
    position:sticky;
  }
  .site-header.is-overlay{
    position:fixed;
  }
  .site-header .brand.image-brand{
    left:5.5vw;
    top:50%;
    width:126px;
    height:48px;
    transform:translateY(-50%);
    z-index:2;
    pointer-events:auto;
  }
  .site-header .brand.image-brand img{
    left:-29px;
    height:31px!important;
  }
  .site-header .menu-btn{
    display:block;
    position:absolute;
    right:6vw;
    top:50%;
    transform:translateY(-50%);
    z-index:3;
    margin:0;
  }
  .site-header.menu-open .menu-btn{
    transform:translateY(-50%);
  }
}

/* ===== V3.9: mouse drag, touch swipe and keyboard controls for the hero ===== */
.hero[data-slider]{--drag-x:0px;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;outline:none}
.hero[data-slider].is-dragging{cursor:grabbing}
.hero[data-slider] .hero-photo{-webkit-user-drag:none;user-select:none;transition:transform .25s ease}
.hero[data-slider].is-dragging .hero-slide.active .hero-photo{transform:translate3d(var(--drag-x),0,0);transition:none;will-change:transform}
.hero[data-slider]:focus-visible{box-shadow:inset 0 0 0 2px rgba(255,255,255,.78)}
.hero-dots{z-index:4}
