
:root { color-scheme: light; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #f7f5f0; color: #25241f; font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; }
a { color: inherit; text-decoration: none; }
.shell { width: min(1240px, calc(100% - 100px)); margin: auto; }
.site-header { height: 86px; padding: 0 50px; display: flex; align-items: center; justify-content: space-between; background: #f7f5f0; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark { display: grid; place-items: center; width: 44px; height: 44px; background: #323b31; color: #fff; font: 20px Georgia,serif; letter-spacing: -2px; }
.brand-copy { display: flex; flex-direction: column; gap: 2px; }
.brand-copy strong { font-size: 19px; letter-spacing: .08em; font-weight: 600; }
.brand-copy small { font-size: 9px; letter-spacing: .12em; color: #666; }
.site-header nav { display: flex; gap: 39px; font-size: 14px; }
.site-header nav a:hover,.text-link:hover { color: #a77e50; }
.header-cta { border-bottom: 1px solid #343b33; padding: 12px 0; font-size: 14px; }
.header-cta span,.text-link span { margin-left: 22px; }
.hero { height: min(730px, 72vw); min-height: 580px; position: relative; color: #fff; overflow: hidden; }
.hero-image { position: absolute; inset: 0; background: url('/hero-living-room.png') center 53%/cover; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,19,16,.72),rgba(15,19,16,.30) 48%,rgba(15,19,16,.04) 80%),linear-gradient(0deg,rgba(9,12,10,.36),transparent 32%); }
.hero-content { position: relative; padding-top: clamp(115px, 12vw, 176px); }
.eyebrow { font-size: 12px; letter-spacing: .22em; font-weight: 600; }
.eyebrow.light { color: #e9e8df; }
.hero h1 { margin: 28px 0 22px; font-family: "Songti SC", "Noto Serif CJK SC", serif; font-size: clamp(56px,6.5vw,96px); line-height: 1.22; font-weight: 500; letter-spacing: .04em; }
.hero-desc { max-width: 510px; font-size: 17px; line-height: 1.9; color: #eeeae4; }
.hero-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 42px; padding: 17px 23px; min-width: 205px; color: #242922; background: #f3efe4; font-size: 14px; }
.hero-button:hover { background: #fff; }
.hero-bottom { position: absolute; bottom: 31px; left: 0; right: 0; display: flex; justify-content: space-between; font-size: 12px; letter-spacing: .08em; color: #eee9de; }
.section-kicker { display: flex; align-items: center; gap: 13px; font-size: 12px; letter-spacing: .18em; font-weight: 600; color: #9b7951; }
.section-kicker .line { display: block; height: 1px; width: 32px; background: #ae926e; }
h2 { font-family: "Songti SC", "Noto Serif CJK SC", serif; font-size: clamp(34px,4vw,56px); font-weight: 500; line-height: 1.4; letter-spacing: .02em; }
.intro { padding-top: 124px; padding-bottom: 132px; }
.intro-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 12%; align-items: start; }
.intro h2 { margin: 26px 0 0; }
.intro h2 em { font-style: normal; color: #9c856d; }
.intro-grid>div { padding-top: 40px; }
.intro p,.section-head>p { font-size: 16px; line-height: 2; color: #696961; }
.intro p { margin: 0 0 15px; }
.text-link { display:inline-block; margin-top: 25px; padding-bottom: 10px; border-bottom: 1px solid #a7875d; font-size: 14px; }
.services { background: #eceae3; padding: 114px 0 124px; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 80px; margin-bottom: 45px; }
.section-head h2 { margin: 24px 0 0; }
.section-head>p { max-width: 370px; margin: 0; }
.service-list { border-top: 1px solid #cfcbbf; }
.service-row { display: grid; grid-template-columns: 90px 1fr 1.05fr 35px; align-items: center; gap: 25px; padding: 33px 10px; border-bottom: 1px solid #cfcbbf; }
.service-row>span:first-child { font: 16px Georgia,serif; color: #9c856d; }
.service-row h3 { font-size: 24px; font-weight: 500; margin:0; }
.service-row p { font-size: 15px; color: #70716b; line-height: 1.8; margin: 0; }
.service-row .arrow { font-size: 25px; }
.work { padding-top: 120px; padding-bottom: 130px; }
.work-grid { display: grid; grid-template-columns: 1.9fr .75fr; gap: 25px; }
.work-image { height: 485px; background: #d9d2c5; }
.work-caption { display: flex; align-items: center; gap: 25px; padding: 20px 0; color: #7a7a72; font-size: 13px; }
.work-caption h3 { color: #242822; margin: 0 auto 0 0; font-size: 21px; font-weight: 500; }
.work-note { padding: 35px; background: #d9d2c5; display: flex; flex-direction: column; justify-content: end; min-height: 485px; }
.note-icon { font-size: 54px; color: #fff; }
.work-note p { font-family: "Songti SC",serif; font-size: 30px; line-height: 1.6; }
.process { padding: 108px 0 120px; background: #303a31; color: #f5f1e9; }
.process .section-kicker { color: #c4ae91; }
.process h2 { margin: 26px 0 60px; }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.process-grid>div { border-top: 1px solid #80877c; padding-top: 22px; }
.process-grid span { font: 19px Georgia,serif; color: #bbab90; }
.process-grid h3 { font-size: 22px; font-weight: 500; margin: 46px 0 12px; }
.process-grid p { font-size: 14px; color: #c5c9c2; line-height: 1.8; }
.contact { padding: 126px 0; }
.contact-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; }
.contact h2 { margin: 26px 0; }
.contact p { color: #77776d; line-height: 1.8; }
.contact-card { background: #eae5dc; padding: 40px; }
.contact-card h3 { margin: 0; font-size: 24px; }
.contact-placeholder { margin-top: 70px; border-top: 1px solid #bbb3a5; padding-top: 20px; color: #75746a; }
footer { background: #202820; color: #e6e5df; padding: 35px 0; }
.footer-inner { display:flex; justify-content: space-between; align-items:center; gap: 25px; font-size: 12px; }
.footer-inner>div { display:flex; flex-direction:column; gap: 7px; }
.footer-inner strong { font-size: 20px; font-weight: 500; }
.footer-inner small { color: #bcbfb7; }
@media(max-width:900px){ .site-header {padding:0 25px;} .site-header nav {gap:18px;} .shell {width:calc(100% - 50px);} .hero{min-height:560px;} .service-row {grid-template-columns:45px 1fr 1.3fr 20px;gap:15px;} .service-row h3{font-size:19px;} .work-caption{flex-wrap:wrap;} }
@media(max-width:640px){ .site-header {height:72px;} .brand-mark {width:38px;height:38px;} .brand-copy strong{font-size:16px;} .brand-copy small{font-size:7px;} .site-header nav {display:none;} .header-cta{font-size:12px;} .shell {width:calc(100% - 38px);} .hero{min-height:630px;} .hero-image{background-position:57% center;} .hero-shade{background:linear-gradient(90deg,rgba(10,13,11,.75),rgba(10,13,11,.22)),linear-gradient(0deg,rgba(0,0,0,.35),transparent 35%);} .hero-content{padding-top:135px;} .hero h1{font-size:54px;} .hero-desc{font-size:15px;} .hero-bottom{font-size:10px;} .hero-scroll{display:none;} .intro,.work{padding:85px 0;} .intro-grid,.contact-grid{grid-template-columns:1fr;gap:12px;} .intro-grid>div{padding-top:0;} .section-head{display:block;} .section-head>p{max-width:none;margin-top:16px;} .services,.process,.contact{padding:85px 0;} .service-row{grid-template-columns:32px 1fr 20px;gap:10px;} .service-row h3{font-size:19px;} .service-row p{grid-column:2/3;grid-row:2;} .service-row .arrow{grid-column:3;grid-row:1;} .work-grid{grid-template-columns:1fr;} .work-image{height:340px;} .work-note{min-height:270px;} .process-grid{grid-template-columns:repeat(2,1fr);gap:30px 15px;} .process-grid h3{margin-top:35px;} .contact-card{padding:30px;} .footer-inner{align-items:flex-start;flex-direction:column;} }
.case-grid { display: grid; gap: 28px; }
.work-image { background-position: center; background-size: cover; }
.contact-details { display: flex; flex-direction: column; gap: 15px; margin-top: 35px; padding-top: 20px; border-top: 1px solid #bbb3a5; font-size: 15px; }
.contact-details a { text-decoration: underline; text-underline-offset: 4px; }

:focus-visible{outline:2px solid #a77e50;outline-offset:5px}.skip-link{position:absolute;top:-80px;left:20px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:10px}.nav-toggle{display:none}.work-image{display:block;width:100%;object-fit:cover}.contact-grid{grid-template-columns:1fr 1fr;gap:70px}.contact-card{padding:35px}.contact-card>p{font-size:14px;margin-bottom:24px}.contact-card form{display:flex;flex-direction:column;gap:17px}.contact-card label{font-size:13px;display:flex;flex-direction:column;gap:8px}.contact-card input,.contact-card select,.contact-card textarea{font:inherit;background:#f7f5f0;border:1px solid #c6beaf;border-radius:0;padding:12px;width:100%;color:#303a31}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-card .consent{flex-direction:row;align-items:flex-start;font-size:12px;line-height:1.7;color:#626459}.consent input{width:15px;height:15px;margin:3px 3px 0 0;accent-color:#303a31}.consent a{text-decoration:underline}.contact-card .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.submit-button{padding:15px 20px;border:0;background:#303a31;color:#f5f1e9;display:flex;justify-content:space-between;font:inherit;cursor:pointer}.submit-button:disabled{opacity:.65;cursor:wait}#form-status{font-size:13px;line-height:1.8;margin:0;min-height:24px}.footer-links{display:flex!important;flex-direction:row!important;gap:20px!important}.privacy-page{max-width:800px;padding:50px 25px 90px;margin:auto;line-height:2}.privacy-page h1{font-size:36px;font-weight:500}.privacy-page h2{font:24px "Songti SC",serif;margin-top:40px}.privacy-page p{color:#626459}.empty-cases{padding:50px 10px;border-top:1px solid #d5d4cb}section{scroll-margin-top:20px}@media(max-width:900px){.contact-grid{gap:35px}.contact-card{padding:25px}}@media(max-width:640px){.site-header{padding:0 18px;gap:12px;position:relative;z-index:5}.nav-toggle{display:block;border:0;background:none;font-size:22px;padding:5px;color:#303a31}.header-cta{margin-left:auto}.site-header nav.open{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:#f7f5f0;padding:20px 25px;gap:20px;border-bottom:1px solid #d5d4cb}.contact-grid{grid-template-columns:1fr;gap:32px}.hero h1{font-size:clamp(40px,11.2vw,54px)}.hero-content{padding-top:115px}.hero-desc{max-width:300px}.form-row{grid-template-columns:1fr}.work-caption{gap:12px}.work-caption h3{font-size:19px}.brand-copy small{font-size:6px}.brand-copy strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[hidden]{display:none!important}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}.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}.hero-content{padding-top:120px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px}.hero-actions .hero-button{margin-top:0}.hero-secondary{font-size:14px;border-bottom:1px solid #c7c8bf;padding:12px 0}.hero-bottom{font-size:13px}.services,.work,.process,.faq,.contact{padding-top:90px;padding-bottom:90px}.intro{padding-top:65px;padding-bottom:80px}.intro-grid{gap:10%}.section-head{gap:45px}.section-head h2{font-size:clamp(32px,3.6vw,48px)}.direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:45px}.direction-card{background:#f7f5f0;padding:34px 38px;border:1px solid #d5d0c4}.direction-card.business{background:#e0e4dc}.direction-label{font-size:11px;letter-spacing:.15em;color:#687160}.direction-card h3{font:32px "Songti SC",serif;font-weight:500;margin:22px 0 16px}.direction-card p{color:#626459;line-height:1.9;max-width:460px;font-size:15px}.direction-card ul{list-style:none;padding:15px 0 0;margin:0;display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#676b5f}.direction-card li{border:1px solid #c5c6ba;padding:7px 10px}.direction-card .text-link{margin-top:25px}.service-row{grid-template-columns:60px 1fr 1.05fr 40px;padding:24px 8px}.service-row .arrow{display:grid;place-items:center;min-height:44px;min-width:44px}.service-coverage{font-size:13px;margin:25px 0 0;color:#4e5a48;line-height:1.9}.service-coverage span{margin-left:20px;color:#75776e}.case-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.case-filters button{font:inherit;font-size:13px;background:transparent;border:1px solid #c6c4b8;padding:10px 18px;cursor:pointer;color:#515a4a;min-height:44px}.case-filters button[aria-pressed=true]{background:#303a31;color:#fff;border-color:#303a31}.case-cover{display:block;position:relative;overflow:hidden}.case-cover img{transition:transform .4s}.case-cover:hover img{transform:scale(1.025)}.case-kind{position:absolute;top:16px;left:16px;background:rgba(247,245,240,.94);padding:8px 12px;font-size:12px;color:#303a31}.work-caption{padding-bottom:6px;gap:18px}.case-description,.case-metadata{font-size:13px;color:#707269;margin:6px 0;line-height:1.8}.case-metadata{color:#8b795e}.work-grid{grid-template-columns:1.9fr .75fr;align-items:start;gap:30px}.work-note{min-height:485px;position:sticky;top:30px;background:#e7e2d8}.work-note>span:not(.note-icon){font-size:13px;line-height:1.9;color:#676a60}.work-note .note-icon{color:#a08765}.empty-cases{line-height:2;padding:70px 10px}.empty-cases a{display:block;font-size:14px;text-decoration:underline}.process h2{font-size:clamp(32px,3.6vw,48px);margin-bottom:20px}.process-intro{max-width:670px;font-size:14px;line-height:1.9;color:#c5c9c2;margin-bottom:45px}.process-grid h3{margin-top:32px}.process-grid small{display:block;border-top:1px solid #606b5f;padding-top:15px;margin-top:20px;color:#bfbfae;font-size:12px;line-height:1.8}.faq-list{border-top:1px solid #cecbbc}.faq-list details{border-bottom:1px solid #cecbbc}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:18px;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;color:#9b7951;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{font-size:15px;color:#6c6e62;line-height:2;max-width:860px;margin:0 0 26px}.faq+.intro{border-top:1px solid #d4d0c4}.contact{background:#eeebe3}.contact h2{font-size:clamp(36px,4vw,50px)}.contact-card{background:#f7f5f0;border:1px solid #d2cbbb}.consultation-guide{border-left:2px solid #a08765;padding-left:20px;margin-top:30px}.consultation-guide strong{font-size:15px;font-weight:500}.consultation-guide p{font-size:13px!important;line-height:2!important;margin-top:10px}.contact-details{font-size:14px}.wechat-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.wechat-line button{border:1px solid #c4bba9;background:transparent;padding:9px 12px;font:inherit;font-size:12px;cursor:pointer}.contact-details .copy-status:empty{display:none}.contact-details .copy-status{font-size:12px;margin:0;color:#526749}.contact-card>p{line-height:1.8}.form-progress{display:flex;align-items:center;gap:12px;font-size:12px;margin-bottom:24px;color:#818378}.form-progress i{height:1px;background:#d2cbbb;flex:1}.form-progress [aria-current]{color:#303a31;font-weight:600}.contact-card fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:14px}.contact-card label{flex-direction:row;align-items:baseline;justify-content:space-between;gap:5px}.contact-card label span:not(.required-label){font-size:11px;color:#787b70}.required-label{font-size:10px;color:#526749}.contact-card .form-row>div{display:flex;flex-direction:column;gap:9px}.contact-card select,.contact-card input,.contact-card textarea{background:#fff;font-size:14px;min-height:45px}.contact-card textarea{margin-top:-5px}.contact-card .consent{justify-content:flex-start;align-items:flex-start}.contact-card .consent span{font-size:12px!important;color:#676e60!important}.contact-card .consent input{min-height:15px;flex:none}.form-actions{display:flex;align-items:center;gap:15px}.form-actions .submit-button{flex:1;min-width:0}.form-back{font:inherit;font-size:12px;border:0;background:transparent;color:#767c6d;padding:12px 0;cursor:pointer}.submit-button{min-height:48px;font-size:14px}.contact-card .project-summary{margin:0 0 6px;padding:15px;background:#e9ece3;color:#505e47;font-size:13px;line-height:1.8}.contact-card #case-context{font-size:13px;border-left:2px solid #a08765;padding-left:10px}.contact-card #form-success{padding:15px 0}.success-mark{display:grid;place-items:center;background:#e5eadf;color:#526749;width:45px;height:45px;border-radius:50%;font-size:25px}.contact-card h4{font:28px "Songti SC",serif;font-weight:500;margin:22px 0 12px}.contact-card .receipt{font-size:12px;color:#858576}.contact-card #new-consultation{background:transparent;border:0;border-bottom:1px solid #a7875d;cursor:pointer;padding:12px 0}.mobile-contact{display:none}.project-page{padding-top:36px;padding-bottom:70px}.project-back{font-size:13px;color:#687160}.project-heading{display:flex;justify-content:space-between;align-items:center;gap:40px;margin:45px 0 30px}.project-heading h1{font:clamp(32px,4vw,56px) "Songti SC",serif;font-weight:500;margin:22px 0}.project-heading p:not(.section-kicker){color:#6c6e62;line-height:1.9}.project-heading .hero-button{background:#303a31;color:#fff;margin:0;flex-shrink:0}.project-facts{display:flex;gap:35px;flex-wrap:wrap;padding:24px 0;border-top:1px solid #d2cbbb}.project-facts>div{display:flex;flex-direction:column;gap:10px;min-width:120px}.project-facts span{font-size:12px;color:#858576}.project-facts strong{font-size:16px;font-weight:500}.material-note{background:#ebe6da;border-left:2px solid #b19b77;padding:16px 20px;font-size:13px;color:#6b6c60;line-height:1.9;margin:0 0 25px}.project-hero-image,.project-gallery-image{display:block;width:100%;height:auto;object-fit:contain;background:#ebe6da}.project-gallery-image{margin-top:25px}.project-story{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:45px 0}.project-story h2{font-size:28px}.project-story p{white-space:normal;font-size:15px;line-height:2;color:#687160}.project-end{padding:55px 0 25px;text-align:center}.project-end .section-kicker{justify-content:center}.project-end h2{font-size:36px}.project-end p:not(.section-kicker){color:#687160;line-height:1.9}.project-end .hero-button{background:#303a31;color:#fff;margin-top:20px}
@media(max-width:1080px){.site-header nav{gap:18px;font-size:13px}.brand-copy small{font-size:8px}.direction-card{padding:28px}.direction-card h3{font-size:28px}.contact-grid{gap:35px}.contact-card{padding:28px}.hero-content{padding-top:100px}.hero-actions{margin-top:28px}.work-note{padding:26px}}
@media(max-width:760px){.site-header nav{gap:12px}.brand-copy small{display:none}.direction-grid{gap:16px}.direction-card{padding:24px}.direction-card ul{display:block}.direction-card li{display:inline-block;margin:4px 4px 0 0}.work-grid{grid-template-columns:1fr}.work-note{position:static;min-height:0;padding:28px;display:block}.work-note p{margin:14px 0;font-size:26px}.work-note .note-icon{display:none}.work-note>span{display:block}.work-note .text-link{margin-top:15px}.contact-grid{grid-template-columns:1fr;gap:35px}.project-heading{display:block}.project-heading .hero-button{margin-top:15px}.project-story{gap:25px}}
@media(max-width:640px){.hero{min-height:620px}.hero-content{padding-top:95px}.hero h1{font-size:clamp(40px,11vw,52px)}.hero-actions{align-items:flex-start;gap:18px;flex-direction:column}.hero-actions .hero-button{min-width:190px;padding:15px 20px}.hero-secondary{font-size:12px;padding:3px 0 8px}.hero-bottom{font-size:11px;bottom:26px}.services,.work,.process,.faq,.contact{padding-top:60px;padding-bottom:60px}.intro{padding-top:45px;padding-bottom:60px}.direction-grid{grid-template-columns:1fr;gap:16px}.direction-card{padding:25px}.direction-card h3{font-size:28px}.direction-card p{font-size:14px}.direction-card .text-link{margin-top:18px}.direction-card ul{padding-top:8px}.direction-grid{margin-bottom:32px}.service-row{grid-template-columns:24px 1fr 44px;gap:12px;padding:22px 0}.service-row h3{font-size:19px}.service-row p{font-size:13px}.service-coverage span{display:block;margin-left:0}.case-filters{gap:8px}.case-filters button{padding:9px 14px;font-size:12px}.work-image{height:280px}.work-caption{gap:12px}.work-caption h3{font-size:18px}.case-kind{top:12px;left:12px;padding:7px 10px}.section-head{margin-bottom:30px}.process-grid{gap:25px 18px}.process-grid h3{font-size:19px;margin-top:24px}.process-grid p{font-size:13px}.process-grid small{font-size:11px}.faq-list summary{font-size:16px;line-height:1.7;padding:20px 0}.faq-list p{font-size:14px}.contact-card{padding:25px 20px}.contact-card .form-row{grid-template-columns:1fr 1fr;gap:12px}.contact-card input,.contact-card select{font-size:16px;padding:11px 10px}.form-actions{gap:12px}.form-back{font-size:11px}.contact-card label{font-size:12px}.contact-details{font-size:13px}.contact-details span{overflow-wrap:anywhere}.mobile-contact{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:10;background:rgba(247,245,240,.97);border-top:1px solid #d2cbbb;padding:10px 18px calc(10px + env(safe-area-inset-bottom));gap:12px}.mobile-contact a{flex:1;text-align:center;padding:13px 8px;font-size:13px;border:1px solid #303a31;color:#303a31}.mobile-contact a:last-child{background:#303a31;color:#fff;flex:1.5}body{padding-bottom:80px}section{scroll-margin-top:20px}.project-page{padding-top:25px}.project-heading{margin:30px 0 25px}.project-heading h1{font-size:34px}.project-facts{gap:25px}.project-facts>div{min-width:100px}.project-story{grid-template-columns:1fr;gap:5px;margin:25px 0}.project-end{padding-top:40px}.project-end h2{font-size:28px}}
@media(max-width:360px){.contact-card .form-row{grid-template-columns:1fr}.case-filters button{padding:8px 10px}.brand-copy strong{font-size:14px}.header-cta{font-size:11px}}
@media(prefers-reduced-motion:reduce){.case-cover img,.faq-list summary span{transition:none}}
