@import url('assets/fonts.css');
:root{--ink:#17211c;--forest:#172b22;--dark:#0b0c0b;--paper:#f7f7f2;--white:#fff;--muted:#666c65;--gold:#c5ab76;--line:#daddd4;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,'Microsoft YaHei',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{display:block;max-width:100%}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h2{font:500 clamp(42px,4.4vw,66px)/1.07 var(--serif);letter-spacing:-1.5px}h2 em{font-weight:400}p+p{margin-top:20px}.wrap{width:min(1320px,88%);margin-inline:auto}.section{padding-top:112px;padding-bottom:112px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.4px;line-height:1.5;text-transform:uppercase}.light{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 27px;border:1px solid transparent;font-size:14px;font-weight:500;transition:background .25s,color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:#121813}.gold:hover{background:#dcc18a}.text-link{display:inline-block;font-size:14px;font-weight:500;padding-block:8px;border-bottom:1px solid var(--ink)}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);color:var(--ink);padding:15px}.skip-link:focus{top:10px}.site-header{height:92px;background:#000;color:#e9e9e1;display:flex;align-items:center;justify-content:space-between;padding-inline:4.5%;gap:28px;position:sticky;top:0;z-index:40;border-bottom:1px solid #ffffff15}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand img{width:38px;height:54px;object-fit:contain}.brand-wordmark{font-size:23px;line-height:1.15;letter-spacing:3.7px;font-weight:500}.brand-wordmark>span{display:block;font-size:8px;letter-spacing:2px;margin-top:6px;color:var(--gold)}.desktop-nav{display:flex;gap:31px;font-size:13px;color:#d4d8d1}.desktop-nav a{padding-block:12px;transition:color .2s}.desktop-nav a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:22px}.language-toggle{border:0;background:none;color:#e9e9e1;font-size:13px;padding:10px 0;min-width:38px}.header-contact{border:1px solid #7f775f;padding:10px 19px;font-size:13px;transition:background .2s}.header-contact:hover{background:var(--gold);color:var(--ink)}.menu-toggle{display:none;border:0;background:none;width:42px;height:42px;padding:10px}.menu-toggle span{display:block;height:1px;background:var(--paper);margin:7px 0}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:#101713;padding:24px 6% 34px;border-top:1px solid #ffffff20}.mobile-nav a{display:block;padding:13px 0;font-size:20px}.hero{height:min(760px,calc(100svh - 92px));min-height:620px;position:relative;isolation:isolate;color:var(--paper);background:var(--forest)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,22,16,.83),rgba(8,20,15,.45) 55%,rgba(8,20,15,.11)),linear-gradient(0deg,rgba(6,16,10,.8),transparent 42%);z-index:-2}.hero-content{padding-top:clamp(85px,9vh,115px)}.hero h1{font:400 clamp(70px,6.9vw,110px)/.98 var(--serif);letter-spacing:-2.5px;margin:27px 0 23px;max-width:900px}.hero h1>span,.hero h1>em{display:block}.hero h1 em{font-weight:400;color:#e6d5b1}.hero-description{color:#e1e4dc;font-size:16px;line-height:1.8;max-width:420px;margin-bottom:31px}.hero-bottom{position:absolute;bottom:31px;left:6%;right:6%;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-top:24px;border-top:1px solid #ffffff3d}.scroll-cue{display:flex;gap:15px;align-items:center;font-size:12px;letter-spacing:1px}.scroll-line{display:block;width:1px;height:35px;background:var(--gold)}.hero-project{margin-left:auto}.hero-project>span{display:block;color:#dfca9f;font-size:10px;letter-spacing:2px}.hero-project strong{display:block;font-weight:400;font-family:var(--serif);font-size:27px;line-height:1.6}.hero-project small{font-size:12px;color:#d5dacf}.hero-coordinate{font-size:12px;line-height:1.8;letter-spacing:1px;text-align:right;margin-left:45px}.hero-coordinate span{font-size:9px;letter-spacing:1.8px}.intro{display:grid;grid-template-columns:24% 1fr;gap:24px}.section-label{display:flex;gap:18px;align-items:baseline;padding-top:7px}.section-label>span{font-size:12px;color:#868b82}.intro-content{display:grid;grid-template-columns:1.1fr 1fr;column-gap:60px}.intro-copy{font-size:15px;color:var(--muted);line-height:1.85}.intro-copy p:first-child{color:var(--ink);font-size:18px;line-height:1.6}.intro-copy .text-link{margin-top:23px;color:var(--ink)}.stats{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:64px;border-top:1px solid var(--line);padding-top:33px;gap:24px}.stats strong{font:500 57px/1 var(--serif);letter-spacing:-2px}.stats strong span{font-size:33px;color:#92805d}.stats p{font-size:12px;color:var(--muted);margin-top:10px}
.expertise{background:#eaece4}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.expertise-visual{position:relative;height:665px;background:var(--forest)}.expertise-visual>img{height:100%;width:100%;object-fit:cover;object-position:39% center}.expertise-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#081b14e6);pointer-events:none}.image-caption{position:absolute;bottom:30px;left:30px;right:25px;z-index:1;color:var(--paper);display:flex;flex-direction:column;gap:10px;font-size:14px}.expertise-copy>.eyebrow{color:#766039}.expertise-copy h2{margin-top:22px}.section-description{color:var(--muted);margin-top:22px;font-size:16px;max-width:380px}.services{margin-top:36px;border-top:1px solid #c7cbbf}.services details{border-bottom:1px solid #c7cbbf}.services summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:17px;padding:21px 0}.services summary::-webkit-details-marker{display:none}.service-number{font-size:12px;color:#6c7468;align-self:center}.services h3{font:500 21px/1.3 var(--sans)}.expand-icon{margin-left:auto;min-width:15px;height:15px;position:relative}.expand-icon:before,.expand-icon:after{content:'';position:absolute;background:var(--ink)}.expand-icon:before{left:0;right:0;height:1px;top:7px}.expand-icon:after{top:0;bottom:0;width:1px;left:7px;transition:transform .2s}.services details[open] .expand-icon:after{transform:rotate(90deg)}.service-body{padding:0 24px 22px 34px;font-size:14px;color:#565f53;line-height:1.8}.service-body .service-tags{font-size:12px;color:#776748;margin-top:14px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.section-heading h2{margin-top:20px}.section-heading>p{color:var(--muted);max-width:330px;font-size:16px;line-height:1.8;padding-bottom:4px}.project-toolbar{display:flex;gap:20px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-top:43px;margin-bottom:38px}.filters{display:flex;gap:29px;flex-wrap:wrap}.filters button{background:none;border:0;border-bottom:2px solid transparent;padding:13px 0 17px;color:var(--muted);font-size:14px;white-space:nowrap}.filters button.active{color:var(--ink);border-color:var(--ink)}.filters button:hover{color:#867044}#project-count{font-size:12px;color:var(--muted);white-space:nowrap}.project-grid{display:grid;grid-template-columns:1.17fr 1fr;column-gap:42px;row-gap:48px}.project-card:nth-child(2n){padding-top:55px}.project-card:nth-child(2n) .project-cover{aspect-ratio:1.31}.project-button{display:block;text-align:left;width:100%;padding:0;background:none;border:0}.project-cover{aspect-ratio:1.55;overflow:hidden;position:relative;background:#d9ded3}.project-cover>img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.project-button:hover .project-cover>img{transform:scale(1.045)}.project-view{position:absolute;right:18px;bottom:18px;background:var(--paper);color:var(--ink);padding:9px 14px;font-size:12px;opacity:0;transform:translateY(7px);transition:opacity .25s,transform .25s}.project-button:hover .project-view,.project-button:focus-visible .project-view{opacity:1;transform:none}.project-meta{display:flex;justify-content:space-between;gap:15px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;margin:22px 0 9px;color:#726b57}.project-card h3{font:500 34px/1.15 var(--serif);letter-spacing:-.5px}.project-summary{margin-top:10px;font-size:14px;color:var(--muted)}.project-more{text-align:center;margin-top:50px}.outline{border-color:#b2b8ac;background:transparent}.outline:hover{background:var(--ink);color:var(--paper)}[hidden]{display:none!important}.values{background:var(--forest);color:var(--paper)}.values-heading{display:grid;grid-template-columns:23% 1.1fr .8fr;gap:35px;align-items:start}.values-heading>.eyebrow{padding-top:9px}.values h2{font-size:58px}.values-heading>p:last-child{font-size:15px;line-height:1.8;color:#bcc9be;padding-top:9px}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:67px;gap:33px}.values-grid article{border-top:1px solid #7d958467;padding-top:24px}.value-index{font-size:12px;color:var(--gold)}.values-grid h3{font:400 34px/1.3 var(--serif);margin-top:23px}.values-grid p{font-size:14px;color:#becabd;margin-top:15px;line-height:1.8;max-width:235px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:52px}.team-grid article{border-top:1px solid #aeb7a7;padding-top:28px}.team-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:40px}.team-initials{font:400 53px/1 var(--serif);color:#a69672}.team-top .eyebrow{font-size:10px;letter-spacing:1.6px;color:#717967}.team-grid h3{font:500 35px/1.1 var(--serif)}.team-grid .role{margin-top:10px;color:#7b6a47;font-size:13px}.team-grid p:last-child{font-size:14px;color:var(--muted);line-height:1.85;margin-top:22px}.contact{background:#1d2922;color:var(--paper);position:relative;border-bottom:1px solid #ffffff20}.contact-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:12%}.contact h2{margin-top:27px;font-size:clamp(48px,4.8vw,72px)}.contact h2 em{color:#d7c197}.contact-intro{font-size:16px;color:#c2ccc0;max-width:370px;margin-top:26px;margin-bottom:31px}.contact-details>div+div{margin-top:26px}.contact-details .eyebrow{display:block;font-size:10px;color:#bda77c;margin-bottom:8px}.contact-details a:not(.map-link){font-size:18px;display:inline-block;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline;text-underline-offset:5px}.contact-details address{font-style:normal;font-size:15px;color:#d1d7cd;line-height:1.9}.map-link{display:inline-block;margin-top:14px;padding-bottom:4px;border-bottom:1px solid #909f8c;font-size:13px}.footer{background:#000;color:#d9ded4;padding-top:36px}.footer-main{display:flex;gap:30px;align-items:center;padding-bottom:32px}.footer-main>p{font-size:14px;color:#a6af9e;margin-left:35px}.back-top{margin-left:auto;font-size:12px;border-bottom:1px solid #77846f;padding-bottom:4px}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #ffffff20;padding-block:21px;font-size:11px;color:#8e9988}.footer-bottom>span:nth-child(2){letter-spacing:5px}.dark{background:var(--forest);color:var(--paper)}.dark:hover{background:#35523d}dialog{border:0;padding:0;width:min(1150px,94vw);max-height:92svh;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #0007}dialog::backdrop{background:#07120dd9;backdrop-filter:blur(6px)}.dialog-top{padding:18px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2}.dialog-close{border:0;background:none;width:44px;height:44px;font-size:32px;line-height:1}.dialog-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:35px;padding:28px}.gallery-main{position:relative;background:#d6dbd0;aspect-ratio:1.25}.gallery-main>img{width:100%;height:100%;object-fit:contain;background:#111c15}.gallery-controls{display:flex;gap:18px;align-items:center;position:absolute;bottom:14px;right:14px;color:var(--paper);background:#102118eb;padding:2px 5px}.gallery-controls button{background:none;border:0;color:var(--paper);font-size:28px;width:38px;height:40px}.gallery-controls span{font-size:12px;min-width:36px;text-align:center}.gallery-thumbs{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding:3px 2px 10px;max-width:100%}.gallery-thumbs button{border:2px solid transparent;padding:0;background:none;flex:0 0 66px;height:50px;opacity:.55}.gallery-thumbs button.active{border-color:#8c7548;opacity:1}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.dialog-copy>.eyebrow{color:#8b7149;margin-top:8px;font-size:11px}.dialog-copy h2{font-size:44px;margin-top:18px;line-height:1.1}.dialog-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:20px;line-height:1.8}.dialog-copy dl{display:grid;grid-template-columns:90px 1fr;gap:12px;font-size:13px;padding-block:23px;border-block:1px solid var(--line);margin-block:25px}.dialog-copy dt{color:var(--muted)}.dialog-copy dd{margin:0}.dialog-copy .gallery-note{font-size:11px!important;margin-top:20px!important}.gallery{min-width:0}.reveal{animation:rise-in .65s ease both}@keyframes rise-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}html[lang="zh-Hans"] h1,html[lang="zh-Hans"] h2{font-family:'Songti SC','SimSun',serif;font-weight:400;letter-spacing:0;line-height:1.35}html[lang="zh-Hans"] h1{font-size:clamp(54px,5.8vw,90px)}html[lang="zh-Hans"] h1 em,html[lang="zh-Hans"] h2 em{font-style:normal}html[lang="zh-Hans"] h2{font-size:clamp(34px,3.6vw,54px)}html[lang="zh-Hans"] .hero-description{line-height:2}html[lang="zh-Hans"] .hero-content{padding-top:70px}
@media(min-width:1500px){.hero-bottom{left:50%;right:auto;transform:translateX(-50%)}}
@media(max-width:1100px){.desktop-nav{gap:19px}.header-actions{gap:14px}.brand-wordmark{font-size:21px}.header-contact{padding-inline:14px}.intro{grid-template-columns:1fr}.section-label{margin-bottom:24px}.hero-coordinate{display:none}.intro-content{gap:34px}.hero h1{font-size:86px}.hero-content{padding-top:85px}.expertise-grid{gap:6%}.expertise-visual{height:650px}.services h3{font-size:18px}.values-heading{grid-template-columns:1fr 1fr;gap:24px}.values-heading>.eyebrow{grid-column:1/-1}.values h2{font-size:52px}.values-grid{gap:25px}.project-grid{gap:28px}.contact-grid{gap:8%}.contact h2{font-size:55px}.team-grid{gap:27px}.project-card h3{font-size:30px}.footer-main>p{margin-left:0}.filters{gap:20px}.dialog-copy h2{font-size:35px}.dialog-layout{gap:24px;padding:24px}}
@media(max-width:800px){.site-header{height:78px;padding-inline:6%;gap:12px}.brand img{width:30px;height:46px}.brand-wordmark{font-size:20px}.brand-wordmark>span{font-size:7px}.desktop-nav,.header-contact{display:none}.menu-toggle{display:block}.header-actions{gap:12px}.wrap{width:88%}.hero{height:calc(100svh - 78px);min-height:640px;max-height:840px}.hero-content{padding-top:82px}.hero h1{font-size:clamp(58px,10vw,82px);letter-spacing:-1.8px}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#0b1c15bf,#0b1c154d),linear-gradient(0deg,#081810de,transparent 68%)}.hero-description{font-size:16px}.hero-bottom{bottom:24px}.hero-project{max-width:62%}.hero-project strong{font-size:23px}.hero-project small{font-size:12px;line-height:1.6;display:block}.hero-project>span{font-size:12px;letter-spacing:1px}.scroll-cue{font-size:12px;max-width:100px;line-height:1.8}.section{padding-block:75px}.intro-content{grid-template-columns:1fr}.intro-copy{margin-top:0;font-size:16px}.intro-content h2{margin-bottom:8px}.stats{margin-top:24px;gap:12px}.stats strong{font-size:47px}.stats p{font-size:12px;max-width:115px}.eyebrow{font-size:12px}.hero .eyebrow{letter-spacing:1.6px}.intro h2{font-size:46px}html{scroll-padding-top:78px}.expertise-grid{grid-template-columns:1fr;gap:42px}.expertise-visual{height:420px}.expertise-copy h2{font-size:48px}.section-description{max-width:100%}.services h3{font-size:20px}.service-body{font-size:16px;padding-right:0}.services summary{padding-block:23px}.section-heading{display:block}.section-heading>p{max-width:100%;margin-top:25px}.section-heading h2{font-size:46px}.filters{gap:23px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:thin}.filters button{font-size:14px}.project-toolbar{display:block;margin-top:28px;margin-bottom:30px}#project-count{display:block;padding:12px 0;font-size:12px}.project-grid{grid-template-columns:1fr;gap:32px}.project-card:nth-child(2n){padding-top:0}.project-card .project-cover,.project-card:nth-child(2n) .project-cover{aspect-ratio:1.4}.project-view{opacity:1;transform:none;font-size:12px}.project-meta{margin-top:17px;font-size:12px;letter-spacing:.7px}.project-card h3{font-size:31px}.project-summary{font-size:14px}.values-heading{grid-template-columns:1fr;gap:20px}.values h2{font-size:46px}.values-heading>p:last-child{font-size:16px}.values-grid{grid-template-columns:1fr 1fr;gap:30px 25px;margin-top:40px}.values-grid h3{font-size:31px;margin-top:17px}.values-grid p{font-size:14px}.team-grid{grid-template-columns:1fr;gap:32px}.team-top{margin-bottom:24px}.team-grid p:last-child{font-size:16px}.team-grid .role{font-size:14px}.team-grid article{padding-top:22px}.team-top .eyebrow{font-size:12px}.contact-grid{grid-template-columns:1fr;gap:49px}.contact h2{font-size:46px}.contact-details .eyebrow{font-size:12px}.contact-details address{font-size:16px}.map-link{font-size:14px}.footer-main{flex-wrap:wrap;gap:24px}.footer-main>p{order:3;flex-basis:100%;font-size:14px}.footer-bottom{flex-wrap:wrap;gap:13px;font-size:12px}.footer-bottom>span:nth-child(2){display:none}.back-top{font-size:14px}.dialog-layout{grid-template-columns:1fr;padding:18px;gap:24px}.dialog-top{padding:10px 18px}.gallery-main{aspect-ratio:1.2}.dialog-copy h2{font-size:40px}.dialog-copy>p:not(.eyebrow){font-size:16px}.dialog-copy dl{font-size:14px}.dialog-copy .gallery-note{font-size:12px!important}.gallery-thumbs{max-width:100%}dialog{max-height:94svh}html[lang="zh-Hans"] .hero-content{padding-top:84px}html[lang="zh-Hans"] h1{font-size:clamp(47px,9vw,68px)}}
@media(max-width:380px){.hero h1{font-size:53px}.hero .eyebrow{font-size:11px}.brand-wordmark{font-size:18px}.brand{gap:7px}.hero-project strong{font-size:20px}.hero-bottom{gap:14px}.values-grid{grid-template-columns:1fr}.values-grid p{max-width:none}.stats strong{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
