@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=Noto+Serif+SC:wght@500;600;700&display=swap";:root{--ink:#2f211c;--brown:#704630;--red:#a82d22;--paper:#f7f5f0;--cream:#fcfbf8;--line:#e7e0d7;--muted:#7f756e;--dark:#221d1a;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper)}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:3px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow,.microcopy{color:#8d7460;font-size:11px;font-weight:600;letter-spacing:.2em}.primary-button,.outline-button,.text-link{border:0;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:42px;padding:0 19px;transition:transform .2s ease,background-color .2s ease}.primary-button{background:var(--red);color:#fff}.primary-button:hover{background:#8f2118;transform:translateY(-2px)}.outline-button{background:#ffffffc2;border:1px solid #9a8e84;color:var(--ink)}.outline-button:hover{background:#fff}.text-link{min-height:auto;padding:5px 0;background:transparent;color:#3e332d;font-size:13px}.text-link:hover{color:var(--red)}.site-header{height:72px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 clamp(28px,4.8vw,78px);background:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(86,63,50,.08)}.brand{width:280px;max-width:32vw;padding:0;border:0;background:transparent;text-align:left}.brand img{width:100%;height:auto}.site-nav{height:100%;display:flex;align-items:center;gap:clamp(16px,2vw,34px)}.site-nav button{position:relative;height:100%;border:0;background:transparent;color:#322720;font-size:13px;white-space:nowrap}.site-nav button.active{color:var(--red);font-weight:700}.site-nav button.active:after{content:"";position:absolute;left:0;right:0;bottom:13px;height:2px;background:var(--red)}.site-nav .nav-search{width:28px;display:grid;place-items:center}.mobile-menu{display:none;border:0;background:transparent;color:var(--ink)}.home-hero{height:510px;position:relative;overflow:hidden;background:#e9e1d8}.hero-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;animation:hero-reveal .55s ease-out}.hero-copy{position:absolute;z-index:2;inset:0 auto 0 0;width:min(50%,670px);padding:90px 0 55px clamp(40px,6.5vw,118px);background:#f9f7f2}.home-hero.city .hero-copy{background:#f9f7f2e0}.home-hero.city .hero-photo{object-position:center center}.hero-copy .microcopy{margin-bottom:13px}.hero-copy h1{font:700 clamp(42px,4vw,65px)/1.18 "Noto Serif SC","Songti SC",serif;letter-spacing:.02em}.hero-copy h2{font:500 clamp(18px,1.5vw,23px)/1.4 "Noto Serif SC","Songti SC",serif;margin:12px 0 13px}.hero-copy>p:not(.microcopy){font-size:14px;line-height:1.9;color:#635950}.hero-actions{display:flex;gap:14px;margin-top:20px}.hero-copy small{display:block;position:absolute;bottom:29px;color:#8a7d72;font-size:11px;letter-spacing:.17em}.hero-vertical{position:absolute;z-index:2;right:clamp(25px,5vw,85px);top:84px;color:#fff;font:500 15px/1.8 "Noto Serif SC",Songti SC,serif;writing-mode:vertical-rl;letter-spacing:.18em;text-shadow:0 1px 9px #352116}.hero-vertical span{display:block}.hero-vertical:after{content:"";display:block;width:1px;height:29px;background:#a82d22;margin-top:13px}.hero-status{position:absolute;z-index:3;bottom:28px;right:clamp(25px,5vw,85px);display:flex;align-items:center;gap:9px;color:#fff;font:500 12px/1 Arial,sans-serif;letter-spacing:.1em;text-shadow:0 1px 6px rgba(0,0,0,.4)}.hero-status i{display:block;width:24px;height:1px;background:currentColor}@keyframes hero-reveal{0%{opacity:.38;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}.content-section,.page-section{padding:42px clamp(32px,4.7vw,80px)}.content-section{max-width:1520px;margin:auto}.section-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:17px}.section-title h2{font:600 23px/1.25 "Noto Serif SC",Songti SC,serif;position:relative}.section-title h2:after{content:"";position:absolute;bottom:-10px;left:0;width:29px;height:2px;background:var(--red)}.service-grid,.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{overflow:hidden;background:#fff;border:1px solid #ece7e1;min-width:0;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-4px);box-shadow:0 11px 25px #3723171a}.service-card>img{width:100%;height:124px;object-fit:cover}.service-card>div{position:relative;min-height:147px;padding:14px 17px 34px}.service-card svg{color:var(--brown)}.service-card h3{font:600 17px/1.3 "Noto Serif SC",Songti SC,serif;margin:5px 0}.service-card p{font-size:12px;line-height:1.65;color:var(--muted);padding-right:6px}.service-card .text-link{position:absolute;bottom:11px;right:17px;color:var(--brown)}.case-section{padding-top:17px}.case-grid{gap:14px}.case-card{position:relative;overflow:hidden;padding:0 0 12px;background:#fff;border:1px solid #ece7e1;text-align:left;color:var(--ink);transition:transform .25s,box-shadow .25s}.case-card:hover{transform:translateY(-4px);box-shadow:0 11px 25px #37231717}.case-card img{width:100%;aspect-ratio:1.45;object-fit:cover;transition:transform .35s}.case-card:hover img{transform:scale(1.04)}.case-card span{display:block;font:600 15px/1.3 "Noto Serif SC",Songti SC,serif;padding:11px 34px 0 13px}.case-card small{display:block;padding:4px 34px 0 13px;color:#8b8077;font-size:10px}.case-card>svg{position:absolute;right:12px;bottom:16px;color:#6f5241}.case-grid.large .case-card img{aspect-ratio:1.35}.process-section{display:grid;grid-template-columns:38% 62%;min-height:400px;background:#f4f1eb;margin-top:11px}.process-visual{position:relative;overflow:hidden;min-height:400px;background:#473124}.process-visual>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.75}.process-visual>div{position:absolute;left:clamp(28px,4.5vw,75px);top:62px;color:#fff;font:500 19px/1.8 "Noto Serif SC",Songti SC,serif;letter-spacing:.25em;writing-mode:vertical-rl}.process-visual>div:after{content:"";display:block;width:2px;height:21px;background:#a82d22;margin-top:16px}.process-visual>p{position:absolute;left:clamp(28px,4.5vw,75px);bottom:42px;color:#eee4da;font-size:11px;line-height:1.8;letter-spacing:.12em}.process-content{padding:66px clamp(34px,7vw,120px) 42px;background:#faf9f6}.process-content h2,.strength-intro h2,.about-page h2,.contact-page h2{font:600 clamp(28px,2.7vw,42px)/1.28 "Noto Serif SC","Songti SC",serif;margin-top:9px}.process-content>p:not(.eyebrow){margin-top:15px;color:#71665f;font-size:13px;line-height:1.8}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;gap:9px}.process-steps article{position:relative;padding:0 13px;border-left:1px solid #ddd4ca}.process-steps article:first-child{border-left:0;padding-left:0}.process-steps article svg{color:#755644}.process-steps span{display:block;color:#a82d22;font-size:10px;margin-top:7px}.process-steps h3{font:600 14px/1.4 "Noto Serif SC",Songti SC,serif;margin:3px 0}.process-steps p{font-size:10px;color:#857a71;line-height:1.55}.strength-section{padding-top:35px;position:relative;overflow:hidden}.strength-section:after{content:"";position:absolute;right:-3%;bottom:-27px;width:48%;height:180px;background:url(/assets/public-space-atrium.png) center/cover no-repeat;opacity:.08;pointer-events:none}.strength-layout{position:relative;z-index:1;display:grid;grid-template-columns:34% 66%;gap:27px}.strength-intro{padding:22px 8px 19px 0}.strength-intro h2{font-size:29px}.strength-intro p{font-size:12px;line-height:1.9;color:#756b63;margin-top:22px;max-width:370px}.strength-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e9e3dc}.strength-grid article{background:#ffffffd1;min-height:205px;padding:29px 20px}.strength-grid svg{color:#704630}.strength-grid h3{font:600 16px/1.4 "Noto Serif SC",Songti SC,serif;margin:14px 0 8px}.strength-grid p{font-size:11px;line-height:1.7;color:#83786f}.bottom-cta{position:relative;min-height:183px;display:flex;align-items:center;gap:45px;padding:35px clamp(38px,6vw,100px);background:#2c2622;color:#fff;overflow:hidden}.bottom-cta>img{position:absolute;right:0;top:0;height:100%;width:56%;object-fit:cover;opacity:.42}.bottom-cta>div,.bottom-cta>.primary-button,.bottom-cta>b{position:relative;z-index:1}.bottom-cta p{font-size:10px;letter-spacing:.18em;color:#caa387}.bottom-cta h2{font:600 clamp(28px,3vw,45px)/1.3 "Noto Serif SC","Songti SC",serif;margin:5px 0}.bottom-cta span{font-size:12px;color:#ece4de}.bottom-cta>b{margin-left:auto;color:#f4eee7;font:500 13px/1.8 "Noto Serif SC",Songti SC,serif;letter-spacing:.14em;writing-mode:vertical-rl}.bottom-cta .primary-button{margin-left:auto;white-space:nowrap}.site-footer{background:#201d1a;color:#f4eee8;padding:30px clamp(32px,4.7vw,80px) 18px}.footer-main{display:grid;grid-template-columns:1.3fr 1fr auto;gap:30px;align-items:center}.footer-main img{width:265px;max-width:100%;filter:invert(1) grayscale(1) brightness(4)}.footer-main p{font-size:10px;letter-spacing:.22em;color:#d8cec5;margin-top:14px}.footer-main nav{display:flex;gap:24px;flex-wrap:wrap}.footer-main nav button{border:0;background:transparent;color:#eee8e2;font-size:12px}.footer-main nav button:hover{color:#fff}.footer-icons{display:flex;gap:20px}.footer-icons svg{color:#f3e8df}.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;border-top:1px solid rgba(255,255,255,.22);margin-top:26px;padding-top:16px;font-size:10px;color:#a59d97}.footer-bottom span:last-child{text-align:right}.inner-hero{height:290px;position:relative;display:flex;align-items:center;overflow:hidden;background:#3b2d25;color:#fff}.inner-hero>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.55}.inner-hero>div{position:relative;z-index:1;margin-left:clamp(34px,9vw,150px);max-width:590px}.inner-hero h1{font:600 clamp(38px,4vw,61px)/1.2 "Noto Serif SC","Songti SC",serif;margin:7px 0 9px}.inner-hero div>p:last-child{font-size:15px;line-height:1.75}.page-section{max-width:1420px;margin:auto;padding-top:56px;padding-bottom:56px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.detail-grid article{padding-bottom:26px;background:#fff;border:1px solid var(--line)}.detail-grid article>img{width:100%;height:180px;object-fit:cover}.detail-grid article>svg,.detail-grid article>h2,.detail-grid article>p,.detail-grid article>ul,.detail-grid article>.primary-button{margin-left:25px;margin-right:25px}.detail-grid article>svg{margin-top:22px;color:var(--brown)}.detail-grid h2{font:600 25px/1.3 "Noto Serif SC",Songti SC,serif;margin-top:9px}.detail-grid p{color:var(--muted);font-size:13px;line-height:1.8;margin-top:9px}.detail-grid ul{color:#695e56;padding-left:18px;font-size:12px;line-height:2;margin-top:13px;margin-bottom:18px}.city-detail-grid{grid-template-columns:repeat(4,1fr);gap:14px}.city-detail-grid article>img{height:155px}.city-detail-grid article>svg,.city-detail-grid article>h2,.city-detail-grid article>p,.city-detail-grid article>ul,.city-detail-grid article>.primary-button{margin-left:18px;margin-right:18px}.city-detail-grid article>svg{margin-top:18px}.city-detail-grid h2{font-size:21px}.city-detail-grid ul{min-height:74px;margin-bottom:15px}.city-detail-grid .primary-button{padding:10px 13px;font-size:12px}.service-intro{padding-top:0}.service-intro>p{max-width:760px;color:var(--muted);font-size:14px;line-height:1.9}.engineering-list>article{display:grid;grid-template-columns:70px 54px 1fr auto;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:25px 8px}.engineering-list>article>span{font:600 18px "Noto Serif SC",serif;color:#a82d22}.engineering-list h2{font:600 23px "Noto Serif SC",serif}.engineering-list p{color:var(--muted);font-size:13px;margin-top:6px}.filter-row{display:flex;gap:10px;margin-bottom:26px}.filter-row button{border:1px solid #d5cbc0;background:#fff;padding:8px 16px;color:#645951}.filter-row button.selected{background:var(--red);border-color:var(--red);color:#fff}.about-page,.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-page>img{width:100%;height:350px;object-fit:cover}.about-page>div>p:not(.eyebrow),.contact-page>div>p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted);margin:18px 0 24px}.contact-page{align-items:start}.contact-page dl{margin:0;border-top:1px solid var(--line)}.contact-page dl div{display:grid;grid-template-columns:28px 110px 1fr;align-items:center;border-bottom:1px solid var(--line);padding:19px 0}.contact-page dt{font:600 15px "Noto Serif SC",serif}.contact-page dd{margin:0;color:var(--muted);font-size:13px}.dialog-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#1a1410ad}.consultation,.case-dialog{position:relative;max-height:calc(100vh - 40px);overflow:auto;background:#fbfaf7;box-shadow:0 24px 70px #0000004d}.consultation{width:min(580px,100%);padding:45px}.consultation h2,.case-dialog h2{font:600 32px/1.3 "Noto Serif SC",Songti SC,serif;margin:8px 0}.consultation>p:not(.eyebrow),.case-dialog p{color:var(--muted);font-size:14px;line-height:1.8}.close{position:absolute;z-index:2;right:15px;top:15px;padding:5px;border:0;background:transparent;color:#5f544c}.consultation form{display:grid;gap:14px;margin-top:24px}.consultation label{display:grid;gap:7px;color:#5d5047;font-size:13px}.consultation input,.consultation textarea{width:100%;padding:11px;border:1px solid #d7cdc1;background:#fff;color:#30241e}.consultation textarea{min-height:92px;resize:vertical}.consultation .consent{display:flex;align-items:center;gap:8px}.consultation .consent input{width:15px}.consultation form>.primary-button{justify-self:start}.success{text-align:center;padding:35px 0}.success>svg{color:#a82d22}.success p{margin:8px 0 20px;color:var(--muted)}.case-dialog{width:min(950px,100%);display:grid;grid-template-columns:1.1fr .9fr}.case-dialog>img{width:100%;height:100%;min-height:390px;object-fit:cover}.case-dialog>div{align-self:center;padding:65px 46px}.case-dialog>div>.primary-button{margin-top:22px}.city-services{position:relative;padding:0 0 34px;background:#f7f6f2;box-shadow:0 0 0 100vmax #f7f6f2;clip-path:inset(0 -100vmax)}.city-hero{height:390px;position:relative;overflow:hidden}.city-hero>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.city-hero>div{position:relative;z-index:1;width:min(54%,760px);height:100%;padding:94px 40px 45px max(40px,calc((100vw - 1520px)/2));background:#fafaf8e0}.city-hero h2{font:600 clamp(34px,3.6vw,55px)/1.25 "Noto Serif SC","Songti SC",serif;margin:9px 0 15px}.city-hero>div>p:not(.eyebrow){font-size:15px;color:#645c55;letter-spacing:.08em}.city-actions{display:flex;gap:14px;margin-top:27px}.city-service-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1520px;margin:22px auto 0;padding:0 clamp(32px,4.7vw,80px)}.city-service-list article{min-height:112px;display:grid;grid-template-columns:46px 1fr 22px;align-items:center;gap:12px;padding:18px;border:1px solid #e6dfd6;background:#fff}.city-service-list article>svg:first-child{color:#756148}.city-service-list h3{font:600 18px/1.3 "Noto Serif SC",Songti SC,serif}.city-service-list p{margin-top:5px;color:#80766d;font-size:11px;line-height:1.65}.city-service-list article>svg:last-child{color:#765c49}@media (max-width:1100px){.site-header{padding-inline:30px}.site-nav{gap:16px}.home-hero{height:470px}.hero-copy{width:53%;padding-left:60px}.service-grid,.case-grid{grid-template-columns:repeat(2,1fr)}.process-section{grid-template-columns:42% 58%}.strength-layout{grid-template-columns:1fr}.strength-grid{grid-template-columns:repeat(4,1fr)}.footer-main{grid-template-columns:1fr auto}.footer-main nav{grid-column:1/-1;grid-row:2}.footer-icons{grid-column:2;grid-row:1}.detail-grid{grid-template-columns:1fr 1fr}.detail-grid article:last-child{grid-column:1/-1}.about-page,.contact-page{gap:35px}}@media (max-width:760px){.site-header{height:61px;padding:0 20px}.brand{width:210px;max-width:72vw}.mobile-menu{display:grid;place-items:center}.site-nav{position:absolute;left:0;right:0;top:61px;height:auto;display:none;flex-direction:column;align-items:stretch;gap:0;padding:7px 20px 15px;background:#fff;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.site-nav button{height:auto;text-align:left;padding:12px 0}.site-nav button.active:after{display:none}.site-nav .nav-search{display:none}.home-hero{height:auto;display:flex;flex-direction:column-reverse}.hero-photo{position:relative;height:335px;object-position:center}.hero-copy{position:relative;width:100%;padding:54px 25px 26px}.hero-copy h1{font-size:43px}.hero-copy h2{font-size:18px}.hero-copy small{position:static;margin-top:34px}.hero-vertical{display:none}.content-section,.page-section{padding:40px 20px}.section-title h2{font-size:22px}.service-grid,.case-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:42% 58%}.service-card>img{height:100%}.service-card>div{min-height:160px}.process-section{grid-template-columns:1fr}.process-visual{min-height:310px}.process-content{padding:42px 25px}.process-content h2,.strength-intro h2{font-size:31px}.process-steps{grid-template-columns:repeat(2,1fr);gap:25px}.process-steps article:nth-child(odd){border-left:0;padding-left:0}.strength-grid{grid-template-columns:repeat(2,1fr)}.strength-grid article{min-height:178px;padding:23px 16px}.bottom-cta{display:block;padding:40px 25px}.bottom-cta>img{width:100%;opacity:.27}.bottom-cta h2{font-size:32px}.bottom-cta .primary-button{margin:23px 0 0}.bottom-cta>b{display:none}.site-footer{padding:35px 22px 20px}.footer-main{display:block}.footer-main nav{margin:28px 0;gap:15px}.footer-icons{margin-top:22px}.footer-bottom{grid-template-columns:1fr;gap:9px}.footer-bottom span:last-child{text-align:left}.inner-hero{height:245px}.inner-hero>div{margin-left:25px;margin-right:25px}.inner-hero h1{font-size:42px}.detail-grid{grid-template-columns:1fr}.detail-grid article:last-child{grid-column:auto}.engineering-list>article{grid-template-columns:48px 42px 1fr;padding:20px 0}.engineering-list .text-link{display:none}.about-page,.contact-page{grid-template-columns:1fr}.about-page>img{height:250px}.contact-page dl div{grid-template-columns:28px 1fr}.contact-page dd{grid-column:2}.case-dialog{grid-template-columns:1fr}.case-dialog>img{min-height:240px;max-height:300px}.case-dialog>div{padding:38px 26px}.consultation{padding:40px 25px}}@media (max-width:410px){.brand{width:190px}.hero-actions{flex-direction:column;align-items:flex-start}.service-card{grid-template-columns:1fr}.service-card>img{height:175px}.strength-grid{grid-template-columns:1fr}.footer-main img{width:235px}}.footer-bottom a{color:#bbb1a9;text-decoration:none;text-align:center}.footer-bottom a:hover{color:#fff;text-decoration:underline}.case-section{position:relative;z-index:0;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax)}.strength-section{box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax)}.footer-main,.footer-bottom{max-width:1520px;margin-left:auto;margin-right:auto}@media (min-width:1681px){.site-header{padding-left:max(40px,calc((100vw - 1520px)/2));padding-right:max(40px,calc((100vw - 1520px)/2))}.hero-copy{padding-left:clamp(86px,6vw,150px);padding-right:64px}.process-content{padding-right:max(60px,calc((100vw - 1520px)/2))}.bottom-cta{padding-left:max(60px,calc((100vw - 1520px)/2));padding-right:max(60px,calc((100vw - 1520px)/2))}}@media (max-width:760px){.city-hero{height:auto;display:flex;flex-direction:column-reverse}.city-hero>img{position:relative;height:245px}.city-hero>div{width:100%;height:auto;padding:45px 25px 36px}.city-hero h2{font-size:34px}.city-service-list{grid-template-columns:1fr;padding:0 20px}.city-service-list article{min-height:96px}}
