/* WH — a quiet, architectural identity with warm whites and graphite. */
:root{--ink:#282828;--deep:#212121;--paper:#f7f7f7;--white:#ffffff;--muted:#6e6e6e;--line:#dedede;--accent:#c9c9c9}
/* Language-aware system fonts stay sharp without external font requests. */
:root{--font-latin:'Segoe UI Variable Text','Segoe UI','Helvetica Neue',Arial,sans-serif;--font-cjk:'PingFang SC','Microsoft YaHei UI','Microsoft YaHei','Noto Sans CJK SC',sans-serif;--font-arabic:'Segoe UI',Tahoma,Arial,sans-serif}
body{background:var(--paper);color:var(--ink)}
.site-header{background:#f7f7f7f5;border-color:#dedede;height:90px;backdrop-filter:blur(20px)}
.header-inner{gap:36px}.nav a{font-size:.73rem;letter-spacing:.02em;color:#636363;transition:color .2s}.nav a:hover{color:var(--ink)}
.logo-window img{filter:brightness(1.035)}
.header-actions{gap:24px}.languages{gap:4px}.languages a{border-radius:0;border-bottom:1px solid transparent;padding:6px 7px;color:#878787;background:none;min-height:32px;font-size:.68rem}
.languages a[aria-current],.languages a[aria-current]:hover{background:none;color:var(--ink);border-bottom-color:var(--ink)}
.languages a:hover{background:none;color:var(--ink)}
.button{border-radius:50px;background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:400;letter-spacing:.025em;min-height:52px;padding:8px 9px 8px 24px;gap:22px}
.button>span{border:1px solid #ffffff38;border-radius:50%;display:grid;place-items:center;width:34px;height:34px;font-size:.96rem;flex-shrink:0}
.button:hover{background:#444444;border-color:#444444;transform:translateY(-1px)}
.header-cta{background:none;color:var(--ink);border-color:#cbcbcb;font-size:.7rem;min-height:42px;padding:6px 7px 6px 18px}
.header-cta>span{border:0;width:27px;height:27px}.header-cta:hover{background:var(--ink);color:white}
.button-accent{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.button-accent>span{border-color:#cacaca}.button-accent:hover{background:white;border-color:white;color:var(--ink)}
.text-link{font-size:.78rem;border-bottom-color:#acacac8c;padding-bottom:8px;letter-spacing:.015em}
.text-link>span{border:1px solid #acacac67;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;flex-shrink:0}
.text-link:hover{gap:30px}
.eyebrow{color:#757575;font-size:.66rem;letter-spacing:.15em;margin-bottom:24px;font-weight:400}
.eyebrow:before{background:none;border:1px solid #848484;width:6px;height:6px;border-radius:50%}
.eyebrow.light{color:#eeeeee}.eyebrow.light:before{background:none;border-color:#e8e8e8}
h1,h2,h3{font-weight:400}h2{letter-spacing:-.055em}h3{letter-spacing:-.025em}
.hero{background:#282828}.hero h1 span{color:#ffffff}.hero-lede{color:#ededed;font-size:.91rem;line-height:2.05}.hero-actions{gap:30px}
.hero-overlay{background:linear-gradient(90deg,rgba(18,20,17,.67),rgba(18,20,17,.31) 40%,rgba(18,20,17,.02) 77%),linear-gradient(0deg,rgba(18,20,17,.42),transparent 28%)}
[dir=rtl] .hero-overlay{background:linear-gradient(270deg,rgba(18,20,17,.72),rgba(18,20,17,.35) 40%,rgba(18,20,17,.02) 77%),linear-gradient(0deg,rgba(18,20,17,.42),transparent 28%)}
.hero-bottom{font-size:.59rem;letter-spacing:.12em;color:#e3e3e3;border-color:#ffffff40}
.hero-bottom b{font-size:1.1rem}.hero-inner{min-height:clamp(660px,calc(100svh - 90px),850px)}
.facts{background:var(--paper);border-bottom:1px solid var(--line)}.fact{padding-block:30px;border-color:var(--line)}.fact strong{font-size:clamp(1.2rem,1.95vw,1.8rem);letter-spacing:-.04em}.fact span{color:#797979;font-size:.61rem}
.intro{padding-block:clamp(86px,9vw,140px);align-items:center}.body-copy{font-size:.9rem;color:#797979;line-height:2}.section-heading{margin-bottom:56px}.heading-symbol{color:#a9a9a9;font-size:3.2rem}
.solutions{background:#efefef}.service-grid{border-color:#d6d6d6}.service-card{border-color:#d6d6d6;padding-block:30px 38px}.service-top{margin-bottom:34px}.service-top svg{width:48px;height:48px;stroke:#6e6e6e;stroke-width:1}.service-top>span{font-size:.69rem;color:#757575}.service-card h3{font-size:1.35rem;margin-bottom:20px}.service-card p{font-size:.82rem;line-height:1.95;color:#767676}
.detail-band{margin-top:46px}.detail-band figcaption{font-size:.77rem;color:#696969}.detail-band small{color:#797979;font-size:.61rem}
.projects{background:var(--paper)}.project-row{padding-block:60px;gap:7vw}.project-number{font-size:.7rem;color:#9a9a9a;margin-bottom:40px}.project-copy h3{font-size:clamp(1.65rem,2.35vw,2.5rem);line-height:1.35}
.project-location{color:#777777;font-size:.66rem}.scope-tag{border:0;background:none;padding:0;color:#727272;font-size:.64rem;display:inline-flex;align-items:center;gap:8px}.scope-tag:before{content:'';width:5px;height:5px;border:1px solid #999999;border-radius:50%}
.photo-expand{background:#f7f7f7ee;border-radius:50%;height:38px;width:38px;font-size:.9rem;inset-inline-end:20px;bottom:20px}.project-image:hover .photo-expand{background:white}.project-image:hover img{filter:brightness(1.025)}
.project-thumbs{margin-top:20px}.project-thumbs button{color:#767676;font-size:.61rem}.project-thumbs button img{width:58px;height:40px;filter:saturate(.65);opacity:.85}.project-thumbs button:hover img{filter:none;opacity:1;outline:1px solid #777777}
.project-note{color:#777777;font-size:.64rem}.gallery-link{margin-top:27px}.reference-row{padding-block:24px}.reference-row strong{font-size:.88rem;color:#676767}.reference-row span{font-size:.66rem;color:#7a7a7a}
.capabilities{background:#efefef;color:var(--ink);border-block:1px solid #dedede}.capabilities .eyebrow.light{color:#777777}.capabilities .eyebrow.light:before{border-color:#929292}.capability-grid .body-copy{color:#737373}
.capability-grid li{border-color:#d6d6d6;color:#656565;font-size:.78rem;padding-block:18px}.capability-grid li>span{color:#828282}.factory-detail{border-color:#efefef}.capability-images figcaption{color:#777777;font-size:.63rem}
.process{background:var(--paper)}.process-grid{border-color:#dcdcdc}.process-grid article{border-color:#dcdcdc}.process-grid article>span{font-size:.72rem;color:#909090}.process-grid h3{font-size:1.3rem;margin-top:34px}.process-grid .body-copy{font-size:.8rem;color:#767676}
.about{background:var(--paper);padding-top:50px}.about-art{background:#eeeeee;border:1px solid #e2e2e2;overflow:hidden}.about-art>img{mix-blend-mode:multiply;filter:brightness(1.035)}.about-art>div{color:#7e7e7e;font-size:.56rem;bottom:28px}
.contact{background:#eeeeee;color:var(--ink);border-top:1px solid #dcdcdc}.contact .eyebrow.light{color:#727272}.contact .eyebrow.light:before{border-color:#898989}.contact-grid .body-copy{color:#747474}
.direct-contact>span{color:#767676;font-size:.64rem;letter-spacing:.035em}.direct-contact>a{color:#464646;border-color:#bfbfbf;font-size:clamp(1rem,1.2vw,1.2rem)}
.inquiry-form{gap:26px}.inquiry-form label{color:#676767;font-size:.69rem}.inquiry-form input,.inquiry-form textarea,.inquiry-form select{color:var(--ink);border:0;border-bottom:1px solid #bfbfbf;background:#f8f8f8;padding:15px 13px;font-size:.84rem;min-height:52px}
.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#848484}.inquiry-form :is(input,textarea,select):focus{outline:1px solid #898989}.inquiry-form .button-accent{background:var(--ink);border-color:var(--ink);color:white}.inquiry-form .button-accent>span{border-color:#ffffff30}.inquiry-form .button-accent:hover{background:#444444}.form-hint{color:#727272;font-size:.63rem;line-height:1.8}
.footer{background:var(--deep);color:#dddddd}.footer-top{border-color:#464646;padding-block:52px}.footer-brand{font-size:3rem;gap:20px;letter-spacing:-.06em}.footer-brand [lang]{font-size:1.55rem;font-weight:400}.footer-dot{background:none;border:1px solid #949494;border-radius:50%;width:7px;height:7px}.footer-top p{color:#969696;font-size:.66rem}.footer-links{font-size:.67rem}.footer-links a:hover{color:#ffffff}.footer-bottom{border-color:#464646;color:#959595;font-size:.59rem}
.lightbox{background:#252525;border-color:#5a5a5a}.lightbox-header p{color:#b9b9b9}.lightbox-bottom a{color:#c3c3c3}.gallery-counter{color:#dbdbdb}.gallery-thumbnails button[aria-current=true]{border-color:#e7e7e7}.lightbox :is(.lightbox-prev,.lightbox-next,.lightbox-close):hover{background:#e7e7e7;color:var(--ink)}
:focus-visible{outline-color:#818181}
[lang=zh-CN] h1{font-weight:400;font-size:clamp(3.15rem,5.3vw,5.65rem);line-height:1.26}[lang=zh-CN] h2{font-size:clamp(2.05rem,3.2vw,3.45rem);font-weight:400;line-height:1.45;letter-spacing:-.04em}
@media(max-width:1200px){.header-inner{gap:26px}.header-actions{gap:18px}.nav{gap:20px}.nav a{font-size:.68rem}}
@media(max-width:900px){.site-header{height:80px}.header-inner{gap:16px}.header-actions{gap:15px}.nav{top:80px;background:var(--paper)}.nav a{font-size:.83rem}.menu-toggle{border-color:#d4d4d4}.hero-inner{min-height:720px}.hero-overlay{background:linear-gradient(90deg,#131313b0,#13131330),linear-gradient(0deg,#13131360,transparent 28%)}[dir=rtl] .hero-overlay{background:linear-gradient(270deg,#131313b8,#13131330),linear-gradient(0deg,#13131360,transparent 28%)}.project-row{gap:30px;padding-block:42px}.project-number{margin-bottom:20px}.section-heading{gap:35px}.intro{gap:32px}.contact-grid{gap:50px}.about{padding-top:40px}}
@media(max-width:600px){.header-actions{gap:10px}.languages{gap:2px}.languages a{font-size:.66rem;padding-inline:6px;min-height:35px}.hero-inner{min-height:680px;padding-top:78px}.hero h1{font-size:clamp(2.6rem,9.5vw,3.5rem)}[lang=zh-CN] .hero h1{font-size:clamp(2.5rem,9.6vw,3.45rem)}[lang=zh-CN] h2{font-size:1.95rem}.hero-lede{font-size:.83rem;line-height:1.95}.hero-actions{gap:24px}.hero-actions .text-link{font-size:.72rem;gap:15px}.button{font-size:.73rem;padding-inline-start:20px;gap:15px}.hero-bottom{font-size:.53rem;letter-spacing:.04em}.hero-image img{object-position:67% center}.hero-overlay{background:linear-gradient(180deg,#13131375,#13131390 58%,#13131325),linear-gradient(90deg,#13131330,transparent)}[dir=rtl] .hero-overlay{background:linear-gradient(180deg,#13131380,#13131396 58%,#13131325),linear-gradient(270deg,#13131335,transparent)}.fact strong{font-size:1.05rem}.fact span{font-size:.57rem}.body-copy{font-size:.85rem}.service-card h3{font-size:1.3rem}.service-card p{font-size:.82rem}.project-row{padding-block:34px;gap:25px}.project-copy h3{font-size:1.65rem}.photo-expand{width:32px;height:32px;inset-inline-end:12px;bottom:12px}.project-thumbs button img{width:44px;height:33px}.process-grid h3{font-size:1.15rem}.process-grid .body-copy{font-size:.76rem}.about{padding-top:24px}.form-row{gap:26px}.footer-links{font-size:.64rem}.footer-top p{line-height:1.8}.gallery-counter{color:#dbdbdb}.lightbox-bottom a{color:#dbdbdb}}

/* Typography and spacing: readable body text, measured lines, clear hierarchy. */
body{font-family:var(--font-latin);font-size:16px;line-height:1.6;font-kerning:normal;text-rendering:optimizeLegibility}
[lang=zh-CN] body{font-family:var(--font-cjk)}
[lang=ar] body{font-family:var(--font-arabic)}
:is(button,input,select,textarea){font-family:inherit}
.container{width:min(100% - 96px,1280px)}
.section-pad{padding-block:clamp(80px,8vw,124px)}
h1,h2,h3{font-family:inherit;text-wrap:balance;overflow-wrap:break-word}
h1{font-size:clamp(3.1rem,5.4vw,5.75rem);font-weight:350;letter-spacing:-.045em;line-height:1.12}
h2{font-size:clamp(2.3rem,3.6vw,3.8rem);font-weight:400;letter-spacing:-.035em;line-height:1.2}
h3{font-weight:500;letter-spacing:-.015em;line-height:1.4}
[lang=zh-CN] :is(h1,h2,h3){letter-spacing:.005em;line-break:strict;font-weight:500}
[lang=zh-CN] h1{font-size:clamp(3rem,4.9vw,5.15rem);line-height:1.3}
[lang=zh-CN] h2{font-size:clamp(2rem,3.05vw,3.3rem);line-height:1.4}
[lang=ar] :is(h1,h2,h3){letter-spacing:0;font-weight:500}
[lang=ar] h1{font-size:clamp(3rem,5.3vw,5.6rem);line-height:1.4}
[lang=ar] h2{font-size:clamp(2.1rem,3.3vw,3.65rem);line-height:1.45}
.nav{gap:clamp(18px,1.9vw,28px)}.nav a{font-size:14px;font-weight:500;letter-spacing:0;line-height:1.4}
.languages a{font-size:13px;line-height:1.5;min-height:38px;padding:7px 8px}
.button,.header-cta,.text-link{font-size:14px;line-height:1.5;letter-spacing:0;font-weight:500}
.button>span,.text-link>span{font-weight:400}
.header-cta{font-size:13px}.header-inner{gap:28px}.header-actions{gap:22px}
.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.14em;font-weight:500;margin-bottom:22px}
[lang=zh-CN] .eyebrow{letter-spacing:.1em}
[lang=ar] :is(.eyebrow,.nav a,.button,.text-link,.languages a){letter-spacing:0}
.body-copy{font-size:16px;line-height:1.8;color:#696969;text-wrap:pretty;max-width:58ch}
[lang=zh-CN] .body-copy{line-height:1.9;max-width:32em}
[lang=ar] .body-copy{font-size:17px;line-height:1.95}
.hero h1{margin-bottom:28px;max-width:880px}.hero-lede{font-size:16px;line-height:1.85;max-width:510px;margin-bottom:32px;color:#eeeeee;text-wrap:pretty}
[lang=zh-CN] .hero-lede{max-width:31em;line-height:1.95}
[lang=ar] .hero-lede{font-size:17px;line-height:1.9;max-width:34em}
.hero-inner{padding-block:clamp(76px,7vw,106px) 28px;gap:0}.hero-bottom{font-size:12px;line-height:1.65;letter-spacing:.04em;gap:32px;padding-top:22px;margin-top:64px}
.fact span{font-size:13px;line-height:1.5;letter-spacing:0}.fact strong{font-family:var(--font-latin);font-size:clamp(1.35rem,2.2vw,2rem);font-weight:400;line-height:1.4;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fact{gap:12px;padding-block:30px}.fact:last-child strong{font-family:inherit;font-size:clamp(1.15rem,1.5vw,1.45rem);letter-spacing:0}
.intro{grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr);gap:clamp(42px,7vw,110px);align-items:center;padding-block:clamp(86px,9vw,138px)}
.intro h2{max-width:20ch}[lang=zh-CN] .intro h2{max-width:15em}
.section-heading{align-items:end;gap:48px;margin-bottom:48px}.section-heading h2{max-width:22ch}.heading-intro{max-width:36ch;flex-basis:32%;flex-shrink:0}
[lang=zh-CN] .section-heading h2{max-width:18em}
.service-card{padding-block:32px 40px}.service-top{margin-bottom:30px}.service-top>span{font-size:13px;font-variant-numeric:tabular-nums}
.service-card h3{font-size:23px;line-height:1.45;margin-bottom:18px}.service-card p{font-size:15px;line-height:1.85;color:#696969;margin-bottom:0;text-wrap:pretty}
[lang=ar] .service-card p{font-size:16px;line-height:1.9}
.detail-band figcaption{font-size:14px;line-height:1.65;align-items:baseline}.detail-band small{font-size:12px;line-height:1.6;color:#717171}
.project-copy{min-width:0}.project-copy h3{font-size:clamp(1.7rem,2.5vw,2.7rem);line-height:1.3;letter-spacing:-.025em;margin-bottom:18px}
[lang=zh-CN] .project-copy h3{font-size:clamp(1.55rem,2.2vw,2.35rem);line-height:1.5;letter-spacing:0}
[lang=ar] .project-copy h3{font-size:clamp(1.8rem,2.45vw,2.7rem);line-height:1.5;letter-spacing:0}
.project-number{font-size:13px;margin-bottom:30px;color:#858585;font-variant-numeric:tabular-nums}.project-location{font-size:13px;line-height:1.7;margin-bottom:14px;color:#707070}
.scope-tag{font-size:13px;line-height:1.65;color:#686868}.project-copy .body-copy{margin-top:22px;max-width:34ch}[lang=zh-CN] .project-copy .body-copy{max-width:23em}
.project-thumbs{gap:18px;flex-wrap:wrap}.project-thumbs button{font-size:12px;line-height:1.5;color:#6a6a6a}.project-thumbs button img{width:58px;height:40px}.photo-count{font-size:12px}
.project-note{font-size:12px;line-height:1.8;color:#747474}.gallery-link{margin-top:28px;max-width:100%}
.reference-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.6fr);gap:24px;padding-block:24px;line-height:1.65}
.reference-row strong{font-size:17px;font-weight:500}.reference-row span{font-size:13px;color:#757575}
.capability-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(44px,7vw,100px)}
.capability-grid .body-copy{margin-top:28px;color:#6b6b6b}.capability-grid li{font-size:15px;line-height:1.65;padding-block:16px;color:#646464}
.capability-images figcaption{font-size:12px;line-height:1.6}.process-grid article>span{font-size:13px;font-variant-numeric:tabular-nums}
.process-grid article{padding-block:30px 12px}.process-grid h3{font-size:22px;line-height:1.45;margin:30px 0 16px}.process-grid .body-copy{font-size:15px;line-height:1.85;color:#6c6c6c}
.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(44px,7vw,108px)}.about-grid .body-copy{margin:26px 0 30px}.about-art>div{font-size:12px;line-height:1.6;inset-inline:22px;bottom:24px}
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(44px,7vw,100px)}.contact-grid .body-copy{margin:28px 0 40px;color:#6a6a6a}
.direct-contact>span{font-size:13px;letter-spacing:0;line-height:1.6}.direct-contact>a{font-family:var(--font-latin);font-size:clamp(16px,1.4vw,21px);line-height:1.5;overflow-wrap:anywhere}
.inquiry-form label{font-size:14px;line-height:1.5;gap:10px;color:#656565;font-weight:500}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font-size:16px;line-height:1.6;padding:14px 15px}
.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#818181}.form-hint{font-size:12px;line-height:1.8;margin-top:-10px;max-width:58ch}
.footer-top p,.footer-links{font-size:13px;line-height:1.7}.footer-bottom{font-size:12px;line-height:1.75}.footer-links{gap:28px;flex-wrap:wrap}.footer-brand [lang]{font-family:var(--font-cjk)}
.lightbox-header h2{font-size:20px;line-height:1.45;letter-spacing:0}.lightbox-header p{font-size:13px;line-height:1.65}.lightbox-bottom{font-size:13px;line-height:1.6;flex-wrap:wrap}
@media(max-width:1200px){.container{width:calc(100% - 64px)}.header-inner{gap:24px}.header-actions{gap:16px}.nav{gap:18px}.nav a{font-size:13px}.header-cta{display:none}.service-card{padding-inline:24px}.section-heading{gap:32px}}
@media(max-width:900px){.container{width:calc(100% - 48px)}.intro,.capability-grid,.about-grid,.contact-grid{grid-template-columns:minmax(0,1fr);gap:42px}.intro .body-copy{max-width:60ch}.intro{padding-block:88px}.nav a{font-size:15px}.hero-bottom{margin-top:58px}.project-copy h3{font-size:30px}.project-copy .body-copy{max-width:52ch}.heading-intro{max-width:30ch;flex-basis:35%}.capability-grid .body-copy{max-width:60ch}.contact-grid .body-copy{max-width:60ch}.about-grid>div:last-child{max-width:650px}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.section-pad{padding-block:68px}.header-inner{gap:12px}.header-actions{gap:10px}.languages a{font-size:12px;padding-inline:6px;min-height:38px}.eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:18px}.body-copy{font-size:15px;line-height:1.8}[lang=zh-CN] .body-copy{line-height:1.9}[lang=ar] .body-copy{font-size:16px;line-height:1.9}
 .hero h1{font-size:clamp(2.125rem,9vw,3.2rem);line-height:1.14;margin-bottom:24px;letter-spacing:-.025em}[lang=zh-CN] .hero h1{font-size:clamp(2.1rem,9.6vw,2.7rem);line-height:1.36;letter-spacing:0}[lang=ar] .hero h1{font-size:clamp(2.35rem,10.4vw,3rem);line-height:1.4;letter-spacing:0}
 .hero-inner{min-height:680px;padding-block:68px 24px}.hero-lede{font-size:15px;line-height:1.8;max-width:100%;margin-bottom:28px}[lang=zh-CN] .hero-lede{line-height:1.9}[lang=ar] .hero-lede{font-size:16px;line-height:1.85}
 .hero-actions{gap:22px}.hero-actions .text-link{font-size:13px;gap:14px}.button{font-size:13px;padding-inline-start:20px;gap:15px}.text-link{font-size:13px}.hero-bottom{font-size:10px;line-height:1.65;letter-spacing:0;gap:22px;margin-top:44px;padding-top:18px}.hero-bottom span{max-width:48%}
 h2{font-size:30px;line-height:1.3}[lang=zh-CN] h2{font-size:29px;line-height:1.45;letter-spacing:0}[lang=ar] h2{font-size:32px;line-height:1.45}.section-heading{margin-bottom:32px;display:block}.section-heading h2{max-width:none}.heading-intro{max-width:none;margin-top:20px}
 .fact{padding:23px 10px;gap:8px}.fact:first-child{padding-inline-start:0}.fact span{font-size:11px}.fact strong{font-size:20px;line-height:1.45}.fact:last-child strong{font-size:16px;text-wrap:balance;line-height:1.5}
 .intro{padding-block:68px;gap:24px}.intro h2{max-width:none}.service-card,.service-card:first-child,.service-card:last-child{padding:26px 0 30px}.service-card h3{font-size:21px;margin-bottom:14px}.service-card p{font-size:15px;line-height:1.85}.service-top{margin-bottom:18px}
 .detail-band{margin-top:26px}.detail-band figcaption{font-size:13px;line-height:1.7;display:block}.detail-band small{font-size:11px;margin-top:7px}
 .project-row{padding-block:32px;gap:24px}.project-copy h3,[lang=zh-CN] .project-copy h3{font-size:25px;line-height:1.4;letter-spacing:0}[lang=ar] .project-copy h3{font-size:27px;line-height:1.5}.project-number{font-size:12px;margin-bottom:18px}.project-location,.scope-tag{font-size:12px}.project-thumbs{gap:14px}.project-thumbs button{font-size:11px;gap:7px}.project-thumbs button img{width:44px;height:33px}.project-note{font-size:11px}.gallery-link{margin-top:22px}
 .reference-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px;padding-block:20px}.reference-row strong{font-size:16px;grid-column:span 2;line-height:1.65}.reference-row span{font-size:12px}
 .capability-grid li{font-size:14px;line-height:1.65}.capability-images figcaption{font-size:11px}.process-grid{grid-template-columns:1fr 1fr}.process-grid article,.process-grid article:first-child,.process-grid article:last-child{padding-block:24px}.process-grid h3{font-size:19px;margin:24px 0 14px}.process-grid .body-copy{font-size:14px;line-height:1.85}
 .about{padding-top:26px}.about-art>div{font-size:10px;inset-inline:14px;bottom:16px}.about-grid{gap:32px}.about-grid .body-copy{margin-top:22px}.contact-grid{gap:40px}.contact-grid .body-copy{margin:22px 0 30px}.direct-contact>a{font-size:16px}.direct-contact>span{font-size:12px}.inquiry-form label{font-size:13px}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font-size:16px}.form-hint{font-size:11px}
 .footer-top p,.footer-links{font-size:12px}.footer-bottom{font-size:11px}.footer-top{padding-block:36px}.lightbox-header h2{font-size:17px}.lightbox-header p,.lightbox-bottom{font-size:12px}
}
@media(max-width:360px){.header-actions{gap:7px}.languages a{font-size:11px;padding-inline:5px}.logo-window{width:78px}.hero-actions{gap:18px}.hero-actions .text-link{gap:10px}.hero-actions .text-link>span{width:23px;height:23px}.project-thumbs{gap:10px}}

/* Recent project archive: consistent previews, complete photographs in the gallery. */
[hidden]{display:none!important}
.archive-toolbar{display:flex;justify-content:space-between;align-items:center;border-block:1px solid var(--line);padding:20px 0;margin-bottom:26px}
.archive-range{font-size:21px;letter-spacing:.05em;margin:0;font-variant-numeric:tabular-nums;font-weight:350}
.archive-count{font-size:13px;color:var(--muted)}
.case-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.case-filters button{border:1px solid #d4d4d4;border-radius:30px;background:transparent;padding:10px 20px;font-size:13px;min-height:42px}
.case-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.case-filters button:hover{border-color:var(--ink)}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;align-items:start}
.case-card{min-width:0;border:1px solid var(--line);background:#fafafa}
.case-figure{margin:0}.case-card .case-image{width:100%;aspect-ratio:16/10;display:block;overflow:hidden;border:0;background:#e8e8e8;padding:0;position:relative}
.case-card .case-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s;filter:none}
.case-card .case-image:hover img{transform:scale(1.025)}
.case-card .case-portrait img{object-fit:contain;background:#e7e7e7}
.case-card .photo-expand{bottom:16px;inset-inline-end:16px;width:32px;height:32px}
.case-image-count{position:absolute;bottom:20px;inset-inline-start:16px;color:white;border:1px solid #ffffff80;border-radius:20px;background:#28282870;padding:3px 10px;font-size:11px}
.case-figure figcaption{padding:12px 22px 0;font-size:10px;line-height:1.7;color:#747474}
.case-figure figcaption a{text-decoration:underline;text-underline-offset:3px}
.case-body{padding:22px}.case-topline{display:flex;gap:12px;justify-content:space-between;align-items:baseline;font-size:11px;color:#727272;line-height:1.7;margin-bottom:20px}
.case-date{font-variant-numeric:tabular-nums;text-align:end}.case-date.ongoing{background:#ebebeb;padding:2px 9px;border-radius:20px;white-space:nowrap;color:#444444}
.case-location{font-size:12px;color:#777777;line-height:1.6;margin-bottom:8px}
.case-card h4{font-size:21px;line-height:1.4;letter-spacing:-.015em;font-weight:500;margin-bottom:16px;text-wrap:pretty;overflow-wrap:anywhere}
[lang=zh-CN] .case-card h4{font-size:20px;line-height:1.6;letter-spacing:0}
[lang=ar] .case-card h4{font-size:23px;line-height:1.6;letter-spacing:0}
.case-intro{font-size:14px;line-height:1.85;color:#6a6a6a;margin-bottom:22px;text-wrap:pretty}
[lang=ar] .case-intro{font-size:15px;line-height:1.95}
.case-scope{border-top:1px solid var(--line);padding-top:15px;margin:0;display:flex;gap:18px;justify-content:space-between;align-items:baseline;font-size:12px;line-height:1.75}
.case-scope dt{color:#7f7f7f;flex-shrink:0}.case-scope dd{margin:0;text-align:end}
.case-client{border-top:1px solid var(--line);margin-top:15px;padding-top:12px;font-size:12px;color:#777777;line-height:1.7}
.case-client summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px;min-height:26px;align-items:center}
.case-client summary::-webkit-details-marker{display:none}.case-client[open] summary span{transform:rotate(45deg)}.case-client p{padding-top:10px;margin-bottom:0;color:#585858}
.record-only{border-top:2px solid #999999}.archive-note{font-size:12px;line-height:1.9;color:#767676;margin:30px 0 70px;max-width:90ch}
.project-gallery-tag{padding-top:36px;border-top:1px solid var(--line);margin-bottom:0}
.detail-band img{width:100%;height:auto;max-height:620px;object-fit:contain;background:#e7e7e7}
.project-image img{image-rendering:auto}.project-thumbs button img{object-fit:cover}

/* Multi-image project previews; full-frame photographs remain in the dialog. */
.gallery-summary{display:flex;justify-content:space-between;gap:18px;margin-top:24px;color:#676767;font-size:12px;line-height:1.6;letter-spacing:.04em}
.case-study .project-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px;margin-top:14px}
.case-study .project-thumbs button{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:0;border:0;background:none;text-align:start;min-width:0;color:#5b5b5b}
.case-study .project-thumbs button img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;filter:none;opacity:1}
.case-study .project-thumbs button span{font-size:12px;line-height:1.5}
.gallery-view-all{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:14px 0;margin-top:16px;border:0;border-block:1px solid #d7d7d7;background:none;font-size:13px;text-align:start}
.gallery-view-all:hover{color:#232323;border-color:#6d6d6d}
.case-preview-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:16px 22px 0}
.case-preview-row button{min-width:0;border:0;padding:0;background:#eeeeee;aspect-ratio:4/3;overflow:hidden}
.case-preview-row img{width:100%;height:100%;object-fit:cover}
.case-preview-row button:hover{outline:1px solid #838383;outline-offset:2px}
.case-preview-row .case-view-all{display:flex;flex-direction:column;justify-content:center;gap:3px;color:#525252}
.case-view-all span{font-size:18px;line-height:1.1}.case-view-all small{font-size:9px;line-height:1.5}
.gallery-thumbnails{justify-content:flex-start;overflow-x:auto;max-width:100%;padding:4px 2px 10px;scrollbar-width:thin}
.gallery-thumbnails button{flex:0 0 auto}.gallery-thumbnails img{width:68px;height:48px}
@media(max-width:600px){.case-study .project-thumbs{gap:14px 9px}.case-study .project-thumbs button span{font-size:11px}.gallery-summary{margin-top:20px;font-size:11px}.case-preview-row{padding-inline:20px}.lightbox-image{height:44svh}.gallery-thumbnails{gap:8px}.gallery-thumbnails img{width:58px;height:42px}}
.lightbox-stage:has(.lightbox-prev[hidden]){grid-template-columns:minmax(0,1fr)}
.lightbox-image{object-fit:contain;max-width:100%;image-rendering:auto}
.lightbox-bottom #gallery-source{font-size:12px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.case-body{padding:20px}.case-figure figcaption{padding-inline:20px}}
@media(max-width:600px){.case-grid{grid-template-columns:minmax(0,1fr);gap:24px}.case-filters{gap:8px;margin-bottom:24px}.case-filters button{font-size:12px;padding:9px 15px}.archive-toolbar{padding-block:16px;margin-bottom:22px}.archive-range{font-size:18px}.case-body{padding:20px}.case-intro{font-size:14px}.case-topline{font-size:12px}.case-location{font-size:12px}.case-card h4,[lang=zh-CN] .case-card h4{font-size:22px}.archive-note{margin-bottom:38px}.detail-band img{max-height:none}.project-gallery-tag{padding-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.case-image img{transition:none}}

/* Transparent WH mark: no background tile, Chinese lettering or cropping window. */
.logo-window{width:112px;height:56px;overflow:visible;display:flex;align-items:center}
.logo-window img{position:static;inset:auto;width:100%;height:auto;max-width:100%;object-fit:contain;mix-blend-mode:normal;filter:none}
.about-art{background:transparent;border:0;display:flex;align-items:center;justify-content:center;padding-bottom:64px;min-height:300px}
.about-art>img{width:90%;height:auto;mix-blend-mode:normal;filter:none;object-fit:contain}
.footer-brand{display:inline-flex;line-height:1}.footer-brand img{width:130px;height:auto;filter:brightness(0) invert(1);object-fit:contain}
/* Product ranges, responsibilities and verifiable project references. */
.audience-grid,.home-cases,.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.audience-grid{padding:0 0 56px;border-bottom:1px solid var(--line)}
.audience-grid h3,.info-grid h3,.custom-grid h3,.team-roles h3{font-size:21px;font-weight:500;line-height:1.5;margin:0 0 14px}
.audience-grid p,.info-grid p,.custom-grid p,.team-roles p,.factory-notes p{font-size:15px;line-height:1.9;color:#6a6a6a;margin:0}
.home-case-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:42px 28px}
.home-case-heading p{font-size:14px;line-height:1.9}.home-contact{display:flex;flex-direction:column;gap:8px;font-size:14px;flex-shrink:0}
.home-contact a{text-underline-offset:5px}.home-contact a:hover{text-decoration:underline}
.home-cases{padding-bottom:72px}.home-case{display:block;border-bottom:1px solid var(--line);padding-bottom:24px;min-width:0}
.home-case img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.home-case:last-child img{object-position:center 40%}
.home-case-meta{display:block;font-size:12px;color:#777777;margin-top:20px;line-height:1.8}.home-case h3{font-size:23px;font-weight:500;line-height:1.5;margin:10px 0}
.home-case p{font-size:14px;margin:0 0 20px;color:#696969}.home-case-link{font-size:12px;line-height:1.8}.home-case:hover .home-case-link{text-decoration:underline;text-underline-offset:5px}
.loose-section{background:#eeeeee}.fixed-section{background:#f7f7f7}.item-index{display:block;font-size:12px;color:#7e7e7e;margin-bottom:24px}
.info-grid article{border-top:1px solid #c1c1c1;padding-top:24px}.detail-heading{margin-block:48px 22px}
.furniture-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.furniture-details figure{margin:0;min-width:0}.furniture-details .project-image{width:100%;height:320px;background:#e1e1e1}
.furniture-details .project-image img{width:100%;height:100%;object-fit:contain}.furniture-details figcaption{font-size:13px;line-height:1.8;margin-top:16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.furniture-details figcaption span{font-size:11px;color:#777777}
.subsection-title{font-size:24px;line-height:1.6;font-weight:500;margin:52px 0 26px;text-wrap:balance}
.custom-grid,.team-roles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.custom-grid article{border-top:1px solid var(--line);padding-top:20px}
.scope-brief{display:flex;justify-content:space-between;align-items:center;gap:36px;border-top:1px solid var(--line);margin-top:34px;padding-top:28px}.scope-brief p{max-width:65ch;font-size:14px;line-height:1.9;color:#6a6a6a;margin:0}.scope-brief .button{flex-shrink:0}
.responsibility-head,.responsibility-grid article{display:grid;grid-template-columns:.55fr 1.2fr 1.2fr;gap:36px}.responsibility-head{background:#ebebeb;padding:18px 24px;font-size:13px;color:#686868}.responsibility-grid article{padding:25px 24px;border-bottom:1px solid var(--line)}
.responsibility-grid h4{font-size:17px;font-weight:500;line-height:1.6;margin:0}.responsibility-grid p{font-size:14px;line-height:1.9;margin:0;color:#666666}.mobile-label{display:none}
.boundary-note{font-size:13px;line-height:1.9;color:#767676;padding:20px 24px;border-inline-start:2px solid #999999;background:#f0f0f0}
.case-study{scroll-margin-top:20px;align-items:start;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;padding-block:34px}.case-study .project-visual{position:sticky;top:120px}.case-study .project-copy{padding-block:10px}.study-records{margin-block:24px 32px}.study-records>div{padding:20px 0;border-top:1px solid var(--line)}
.study-records dt{font-size:13px;color:#7e7e7e;margin-bottom:10px}.study-records dd{font-size:15px;line-height:1.9;margin:0;color:#5b5b5b}.study-source{font-size:12px;line-height:1.9;color:#7e7e7e;margin:18px 0 0}
.archive-heading{padding-top:36px;border-top:1px solid var(--line);margin-top:42px}.archive-heading h3{font-size:30px;font-weight:500;line-height:1.5;margin:16px 0}.archive-heading>p:last-child{font-size:15px;line-height:1.9;color:#6a6a6a;max-width:80ch}
.record-evidence{margin:16px 0 0}.record-evidence dt{color:#898989;margin:14px 0 5px}.record-evidence dd{margin:0;color:#585858}
.team-roles{margin-top:64px}.team-roles article{border-top:1px solid #ffffff30;padding-top:24px}.capabilities .team-roles p,.capabilities .factory-notes p{color:#bebebe}.capabilities .team-roles h3,.factory-notes h3{color:#f4f4f4}
.factory-notes{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid #ffffff30;padding-top:32px;margin-top:38px}.factory-notes h3{font-size:23px;line-height:1.5;font-weight:500;margin:0 0 18px}.capabilities .text-link{color:#e9e9e9;margin-top:25px}
@media(max-width:1100px){.nav{gap:18px}.custom-grid,.team-roles{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-brief{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:900px){.home-case-heading{align-items:flex-start;flex-direction:column;gap:18px}.home-case h3{font-size:20px}.audience-grid,.info-grid{gap:24px}.furniture-details .project-image{height:310px}.case-study{grid-template-columns:minmax(0,1fr);gap:26px}.case-study .project-visual{position:static}.responsibility-head,.responsibility-grid article{gap:24px;grid-template-columns:.6fr 1fr 1fr}}
@media(max-width:600px){.audience-grid,.home-cases,.info-grid,.factory-notes{grid-template-columns:minmax(0,1fr)}.audience-grid{padding-bottom:32px;gap:24px}.home-case-heading{padding-block:32px 24px}.home-cases{gap:32px;padding-bottom:36px}.home-case h3{font-size:23px}.home-contact{font-size:13px}.info-grid{gap:28px}.item-index{margin-bottom:14px}.furniture-details{grid-template-columns:1fr;gap:32px}.furniture-details .project-image{height:320px}.furniture-details figcaption{display:block}.furniture-details figcaption span{display:block}.custom-grid,.team-roles{grid-template-columns:minmax(0,1fr);gap:24px}.subsection-title{font-size:22px;margin-top:36px}.responsibility-head{display:none}.responsibility-grid article{display:block;padding:24px 0}.responsibility-grid h4{margin-bottom:20px}.responsibility-grid article>div+div{margin-top:18px}.mobile-label{display:block;font-size:12px;color:#7e7e7e;margin-bottom:8px}.boundary-note{padding:18px}.scope-brief .button{width:100%;justify-content:space-between;white-space:normal;line-height:1.7}.study-records dd{font-size:14px}.study-records>div{padding-block:16px}.case-study .project-copy{padding-top:8px}.factory-notes{gap:32px}.team-roles{margin-top:40px}.archive-heading h3{font-size:26px}}
@media(max-width:600px){.logo-window{width:94px;height:47px}.footer-brand img{width:110px}}
@media(max-width:360px){.logo-window{width:80px;height:40px}}


