/* Editorial architecture system: surfaces, type, rhythm and interaction. */
:root{--paper:#f4f1e9;--ink:#25342d;--muted:#626b62;--line:#c7cbbf;--green:#4c634e;--soft:#e9e8de;--dark:#1f3029;--on-dark:#f2eee4;--dark-muted:#bdc6b6;--space-s:16px;--space-m:32px;--space-l:64px;--space-xl:112px;--ease:cubic-bezier(.2,.75,.25,1);--measure:68ch}
body{font-size:16px}.wrap{width:min(1440px,calc(100% - 112px))}a,button{touch-action:manipulation}button{min-height:44px}a:focus-visible,button:focus-visible{outline:2px solid #8a7451;outline-offset:5px}.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:100;pointer-events:none}.reading-progress span{display:block;height:100%;background:#b6ba91;transform:scaleX(0);transform-origin:left}.site-header{height:96px}.brand-mark{font-size:40px}.brand-name{font-size:15px}.brand-name span{font-size:10px}.desktop-nav{gap:38px;font-size:13px}.desktop-nav a{min-height:44px;display:flex;align-items:center}.desktop-nav .nav-download{border-color:var(--line);gap:6px}.mono{font-size:11px}.eyebrow{font-size:11px;letter-spacing:.12em}.home .site-header{color:var(--on-dark);border-color:#4b5c4e}.home .site-header:before{content:"";position:absolute;z-index:-1;inset:0 calc((min(1440px,100vw - 112px) - 100vw)/2);background:var(--dark)}.home .brand-name span,.home .desktop-nav small{color:var(--dark-muted)}.home .desktop-nav .nav-download{border-color:#6c7a69}.home .desktop-nav a:after{background:var(--on-dark)}.home .desktop-nav .nav-download:hover{background:#3e4d40}
.home .hero{position:relative;color:var(--on-dark);padding-top:52px;padding-bottom:54px;gap:65px;grid-template-columns:.9fr 1.25fr;min-height:725px}.home .hero:before{content:"";position:absolute;inset:0 calc((min(1440px,100vw - 112px) - 100vw)/2);background:var(--dark);z-index:-1}.home .hero-copy{padding-top:18px}.home .hero .eyebrow{color:var(--dark-muted)}.home .hero .eyebrow:before{background:#b7c5a6}.home .hero h1{font-size:clamp(68px,6.8vw,110px);margin-top:40px;line-height:1.18;letter-spacing:.015em}.home .hero h1 .second{padding-left:.45em;white-space:nowrap}.home .hero-english{font-size:clamp(30px,3.6vw,57px);color:#c6caae;margin-top:24px;letter-spacing:-.025em;white-space:nowrap}.home .hero-description{color:#c3cbbd;font-size:14px;line-height:2.05;margin-top:5px;max-width:none}.home .hero .text-link{border-color:#a4b29c;gap:65px;font-size:13px}.home .hero-art{padding-top:8px}.home .hero-image-link{min-height:490px}.home .hero-art figcaption{color:var(--dark-muted);font-size:11px;padding-top:19px}.home .hero-art figcaption b{color:var(--on-dark)}.home .hero-image-link:after{border-radius:50%;width:47px;height:47px;top:27px;right:20px;color:var(--ink)}.chapter-bar{padding:26px 0;border-top:0}.chapter-bar .mono{font-size:11px;letter-spacing:.12em}.work-section{padding-top:108px;padding-bottom:115px}.section-heading{margin-bottom:24px}.section-kicker{font-size:23px;color:var(--green);margin-bottom:16px}.section-heading h2{font-size:54px;letter-spacing:.08em}.section-heading h2 sup{font-size:12px}.works-intro{font-size:14px;line-height:1.9;color:var(--muted);margin:25px 0 52px}.filter{border-bottom:1px solid transparent;padding:12px 16px;font-size:13px}.filter[aria-pressed=true]{color:var(--ink);background:transparent;border-color:var(--ink)}.filter[aria-pressed=true]:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);margin:0 9px 2px 0}.filters{gap:4px}
.project-grid{grid-template-columns:1fr 1fr;gap:84px 56px}.project-card:nth-child(n){margin:0;max-width:none;grid-column:auto}.project-card:first-child,.project-card:nth-child(4){grid-column:1/-1}.project-card:first-child>a,.project-card:nth-child(4)>a{display:grid;grid-template-columns:1.65fr 1fr;align-items:center;gap:64px}.project-card:nth-child(4)>a{grid-template-columns:1fr 1.65fr}.project-card:nth-child(4) .project-image{grid-column:2;grid-row:1}.project-card:nth-child(4) .project-info{grid-column:1;grid-row:1}.project-card:nth-child(5){grid-column:1/-1;max-width:81%;margin-left:19%}.project-card:nth-child(n) .project-image{aspect-ratio:1.45}.project-card:first-child .project-image{aspect-ratio:1.4}.project-card:nth-child(3) .project-image{aspect-ratio:1.45}.project-card:nth-child(5) .project-image{aspect-ratio:1.95}.project-info{position:relative;min-width:0}.project-index{display:none;font:italic 86px/1 var(--serif);color:#919984;margin-bottom:22px}.project-card:first-child .project-index,.project-card:nth-child(4) .project-index{display:block}.project-meta{font-size:11px;padding:22px 0 14px;gap:12px;line-height:1.8}.project-title-row{margin-top:20px}.project-title-row h3{font-size:36px;letter-spacing:.04em}.project-title-row>span{font-size:27px;transition:transform .3s var(--ease)}.project-card a:hover .project-title-row>span{transform:translate(4px,-4px)}.project-card p{font-size:14px;line-height:1.9;margin-top:13px}.project-focus{font-size:11px;color:var(--muted);margin-top:17px;letter-spacing:.05em}.project-cta{display:none;font:10px var(--mono);letter-spacing:.05em;border-bottom:1px solid var(--line);padding:18px 0 12px;margin-top:19px;width:max-content}.project-card:first-child .project-cta,.project-card:nth-child(4) .project-cta{display:block}.project-image .view-project{border-radius:50%;width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:11px;right:24px;bottom:24px;transform:translateY(120px)}.project-image img{transition:transform 1.1s var(--ease)}.project-grid.filtered{gap:64px 42px}.project-grid.filtered .project-card:nth-child(n){grid-column:auto;margin:0;max-width:none}.project-grid.filtered .project-card>a{display:block}.project-grid.filtered .project-index,.project-grid.filtered .project-cta{display:none}.project-grid.filtered .project-card .project-image{aspect-ratio:1.45}
.about-section{background:var(--dark);padding:100px 0}.about-grid{grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-section h2{font-size:43px;line-height:1.5;margin:20px 0 32px}.about-visual{margin:0;max-width:500px}.about-visual img{width:100%;height:auto;aspect-ratio:1.55;object-fit:cover}.about-visual figcaption{font-size:11px;color:var(--dark-muted);margin-top:15px}.about-text .lead{font-size:32px;margin-bottom:32px}.about-text>p{font-size:15px;line-height:2.2}.about-facts{padding-top:28px;margin-top:38px}.about-facts dt{font-size:11px;color:var(--dark-muted)}.about-facts dd{font-size:14px;line-height:1.9}.about-facts dd span{font-size:10px}.contact-section{position:relative;padding-top:144px;padding-bottom:65px;column-gap:80px}.contact-signature{position:absolute;top:65px;left:0;font:italic 40px/1 var(--serif);color:var(--green)}.contact-section h2{font-size:48px}.contact-section .intro{font-size:14px}.contact-mail{font-size:clamp(25px,2.8vw,43px);padding:18px 0}.contact-lower{font-size:14px}.copy-button{font-size:12px}.download-block{padding:32px 0;margin-bottom:32px}.download-block p{font-size:14px}.download-block span{font-size:11px;margin-top:8px}.download-button{padding:16px 28px;font-size:13px}.site-footer{padding-bottom:32px;font-size:10px;min-height:60px}.site-footer a{min-height:32px}
.project-page .detail-title{margin:50px 0 43px}.detail-title h1{font-size:clamp(48px,6.2vw,88px)}.detail-english{font-size:clamp(28px,3.2vw,48px)}.detail-cover{aspect-ratio:1.95}.detail-cover button{min-height:44px;border-radius:30px;padding:10px 20px}.detail-cover-caption{font-size:12px;padding:17px 0}.project-overview{padding:70px 0;gap:80px}.project-facts dt{font-size:11px}.project-facts dd{font-size:14px}.project-story h2{font-size:30px}.project-story p,.chapter-text,.strategy-grid p{font-size:15px;line-height:2.1}.case-nav{position:sticky;top:0;background:var(--paper);z-index:9;padding:18px 0;gap:8px 26px}.case-nav a{font-size:12px;min-height:44px;display:flex;align-items:center;border-bottom:2px solid transparent}.case-nav a.active{color:var(--green);border-color:var(--green)}.case-context{padding-top:75px}.case-heading h2{font-size:37px}.case-brief{font:400 20px/1.9 var(--serif);max-width:var(--measure);margin-bottom:40px}.strategy-grid{gap:40px}.strategy-grid h3{font-size:25px;line-height:1.6}.design-sequence{margin-top:45px;padding:26px 0}.design-sequence li{font-size:12px}.detail-chapter{padding-top:92px;scroll-margin-top:92px}.detail-chapter-header{margin-bottom:30px}.detail-chapter-header h2{font-size:37px}.chapter-text{max-width:var(--measure);margin-bottom:35px}.gallery{gap:34px}.gallery-item figcaption{font-size:12px;line-height:1.8;padding:17px 0}.gallery-item .image-zoom{background:#e7e5db}.image-zoom:after{border-radius:50%;width:44px;line-height:44px;height:44px;font-size:21px;opacity:1}.project-page .gallery.three:has(img[alt="连廊与花境空间效果"]){grid-template-columns:1fr 1fr}.gallery.three:has(img[alt="连廊与花境空间效果"]) .gallery-item:last-child{grid-column:1/-1}.project-note{font-size:12px;line-height:2}.next-project{display:grid;grid-template-columns:240px 1fr auto;gap:40px;align-items:center;padding:48px 0;margin:85px 0 0}.next-project img{width:240px;height:156px;object-fit:cover}.next-project h2{font-size:42px}.detail-contact{font-size:13px;align-items:center}.detail-contact a{min-height:44px;display:flex;align-items:center}.lightbox-header{border-bottom:1px solid #46574a;padding:18px 28px}.lightbox-header>span{margin-right:auto;color:#cbd2c2;font:11px var(--mono)}.lightbox-close,.lightbox-zoom{border:1px solid #74816d;border-radius:24px;padding:8px 20px;background:transparent;color:var(--on-dark);font-size:12px;min-height:44px}.lightbox-zoom[aria-pressed=true]{background:var(--on-dark);color:var(--ink)}.lightbox-stage{padding:25px 85px;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}.lightbox-stage.is-zoomed{display:block;text-align:center}.lightbox-stage.is-zoomed img{max-width:none;max-height:none;width:auto;height:auto;min-width:100%;cursor:zoom-out}.lightbox-prev,.lightbox-next{position:fixed;border-radius:50%;width:48px;height:48px;background:var(--dark);z-index:2}.lightbox-footer{padding:19px 25px 24px}.lightbox-caption{font-size:13px}.lightbox .is-loading img{opacity:.35}.lightbox-stage img{transition:opacity .2s}.lightbox-error{color:var(--on-dark);font-size:13px;position:absolute;text-align:center;max-width:80%}
@keyframes editorial-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.home .hero-copy>*{animation:editorial-in .85s var(--ease) both}.home .hero h1{animation-delay:.08s}.home .hero-english{animation-delay:.16s}.home .hero-description{animation-delay:.22s}.home .hero-cta{animation-delay:.28s}.home .hero-art{animation:editorial-in 1s .1s var(--ease) both}.reveal-pending{opacity:0;transform:translateY(24px)}.is-revealed{animation:editorial-in .7s var(--ease) both}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.home .hero:before,.home .site-header:before{inset-inline:-32px}.home .hero{gap:35px;min-height:640px}.home .hero h1{font-size:clamp(54px,6.8vw,78px)}.home .hero-image-link{min-height:450px}.home .hero-english{font-size:clamp(28px,3.6vw,38px)}.project-card:first-child>a,.project-card:nth-child(4)>a{gap:36px}.project-title-row h3{font-size:31px}.project-index{font-size:70px}.about-grid{gap:55px}.about-section h2{font-size:36px}.about-text>p{font-size:14px}.project-story p,.chapter-text,.strategy-grid p{font-size:14px}.strategy-grid{gap:26px}.strategy-grid h3{font-size:23px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:80px}.brand-mark{font-size:34px}.brand-name{font-size:13px}.menu-button{min-width:68px;min-height:44px}.home .menu-button{border-color:#74816d}.desktop-nav{top:79px;padding:20px;background:var(--paper)}.home .desktop-nav{background:var(--dark);border-color:#74816d}.home .hero:before,.home .site-header:before{inset-inline:-20px}.home .hero{padding-top:35px;padding-bottom:29px;gap:30px;min-height:0;grid-template-columns:1fr}.home .hero-copy{padding:0}.home .hero h1{font-size:clamp(52px,18vw,88px);margin-top:30px;line-height:1.18}.home .hero h1 .second{padding-left:.5em}.home .hero-english{font-size:37px;margin:20px 0 18px;white-space:normal}.home .hero-description{font-size:13px;line-height:2}.hero-cta{margin-top:14px;padding-top:0}.home .hero .text-link{padding-top:8px;gap:55px;min-height:44px}.home .hero-art{padding-top:0}.home .hero-image-link{min-height:0;aspect-ratio:1.2}.home .hero-image-link:after{width:42px;height:42px;top:15px;right:15px}.home .hero-art figcaption{font-size:10px;gap:10px;line-height:1.8;padding-top:15px}.hero-art figcaption .mono{font-size:9px}.chapter-bar{padding:21px 0}.chapter-bar .mono{font-size:9px}.work-section{padding:65px 0}.section-kicker{font-size:20px;margin-bottom:14px}.section-heading{gap:23px;margin:0}.section-heading h2{font-size:42px}.filter{font-size:12px;padding:8px 12px}.works-intro{font-size:13px;line-height:1.9;margin:24px 0 34px}.project-grid,.project-grid.filtered{grid-template-columns:1fr;gap:43px}.project-card:nth-child(n),.project-grid.filtered .project-card:nth-child(n){grid-column:1;max-width:none;margin:0}.project-card:nth-child(n)>a{display:block}.project-card:nth-child(n) .project-image{aspect-ratio:1.3}.project-card:nth-child(n) .project-index,.project-card:nth-child(n) .project-cta{display:none}.project-meta{font-size:10px;padding:17px 0 12px}.project-title-row h3{font-size:30px}.project-title-row{margin-top:14px}.project-card p{font-size:13px;margin-top:10px}.project-focus{font-size:11px;margin-top:12px}.about-section{padding:60px 0}.about-grid{grid-template-columns:1fr;gap:38px}.about-section h2{font-size:32px;line-height:1.55;margin:18px 0 26px}.about-section h2 br{display:block}.about-visual{max-width:100%}.about-visual figcaption{font-size:11px;line-height:1.8}.about-text .lead{font-size:28px;margin-bottom:24px}.about-text>p{font-size:14px;line-height:2.1}.about-facts{grid-template-columns:1fr;gap:26px}.about-facts dd{font-size:14px}.contact-section{padding:110px 0 40px;gap:20px}.contact-signature{top:47px;font-size:34px}.contact-section h2{font-size:36px}.contact-section .intro{font-size:13px}.contact-mail{font-size:clamp(22px,7.1vw,28px);gap:10px;padding:12px 0}.contact-lower{font-size:13px;margin-top:16px}.download-block{padding:25px 0;align-items:flex-start}.download-block p{font-size:12px}.download-block span{font-size:10px;max-width:190px;line-height:1.8}.download-button{padding:14px 18px;font-size:12px}.site-footer{font-size:10px;padding-bottom:25px;align-items:center}.project-page .detail-title{margin:30px 0;gap:17px}.detail-title h1{font-size:47px}.detail-english{font-size:30px}.detail-cover{aspect-ratio:1.2}.detail-cover-caption{font-size:10px;line-height:1.8}.detail-cover-caption .mono{font-size:9px}.project-overview{padding:37px 0 42px;gap:35px}.project-facts{gap:24px 18px}.project-facts dd{font-size:13px}.project-story h2{font-size:25px}.project-story p,.chapter-text,.strategy-grid p{font-size:14px;line-height:2}.case-nav{padding:8px 0;gap:0 22px;flex-wrap:nowrap;overflow:auto;scrollbar-width:thin;max-width:100%}.case-nav>.mono{display:none}.case-nav a{flex-shrink:0;font-size:12px;min-height:48px}.case-context{padding-top:45px}.case-heading h2{font-size:30px}.case-brief{font-size:18px;line-height:1.9;margin-bottom:32px}.strategy-grid{grid-template-columns:1fr;gap:30px}.strategy-grid h3{font-size:25px}.design-sequence{margin-top:35px;padding:24px 0}.design-sequence li{font-size:12px}.detail-chapter{padding-top:58px;scroll-margin-top:75px}.detail-chapter-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:25px}.detail-chapter-header h2{font-size:30px}.detail-chapter-header span{font-size:10px}.chapter-text{margin:0 0 28px}.gallery,.gallery.three,.project-page .gallery.three:has(img[alt="连廊与花境空间效果"]){grid-template-columns:1fr;gap:25px}.gallery-item figcaption{font-size:11px;padding:14px 0}.project-note{font-size:12px;line-height:2}.next-project{grid-template-columns:94px 1fr auto;gap:18px;margin-top:55px;padding:32px 0}.next-project img{width:94px;height:98px}.next-project h2{font-size:27px;line-height:1.4}.next-project .mono{font-size:9px}.next-project .next-arrow{font-size:36px}.detail-contact{font-size:12px;padding-bottom:25px}.lightbox-header{padding:12px;gap:9px;flex-wrap:wrap}.lightbox-header>span{flex-basis:100%;font-size:10px;margin-bottom:2px}.lightbox-close,.lightbox-zoom{font-size:12px;padding:8px 18px}.lightbox-close{margin-left:auto}.lightbox-stage{padding:12px 45px}.lightbox-prev,.lightbox-next{width:40px;height:44px}.lightbox-prev{left:3px}.lightbox-next{right:3px}.lightbox-footer{padding:17px 13px 22px;line-height:2}.lightbox-caption{font-size:12px}.image-zoom:after{width:40px;height:40px;line-height:40px}.detail-contact a{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-pending{opacity:1;transform:none}}
@media(forced-colors:active){.filter[aria-pressed=true]{outline:2px solid Highlight}.case-nav a.active{outline:2px solid Highlight}.reading-progress{display:none}}
