/* WH identity — black, porcelain and graphite; architecture-led composition. */
:root{--ink:#111;--deep:#111;--paper:#faf9f6;--white:#fff;--muted:#666;--line:#dcdad5;--accent:#d9d8d4;--text-main:#181818;--text-body:#555;--text-caption:#737373}
body{background:var(--paper);color:var(--ink)}
::selection{background:#242424;color:#fff}
:focus-visible{outline:2px solid #555;outline-offset:5px}
.container{width:min(100% - 96px,1280px)}
.section-pad{padding-block:clamp(88px,9vw,144px)}
.site-header{height:88px;background:#faf9f6f5;border-color:var(--line)}
.header-inner{gap:24px}.logo-window{width:114px;height:57px}
.nav{gap:clamp(16px,1.7vw,26px)}.nav a{font-size:13px;font-weight:400;color:#555}.nav a:hover{color:#000}
.header-actions{gap:22px}.languages a{font-size:12px;color:#737373}.languages a[aria-current]{color:#111}
.button{border-radius:2px;background:#111;border-color:#111;color:#fff;padding:16px 22px;min-height:54px;font-size:14px;font-weight:400;gap:28px}
.button>span{border:0;border-radius:0;width:auto;height:auto;font-size:20px}
.button:hover{background:#333;border-color:#333;transform:translateY(-1px)}
.button-accent{background:#111;border-color:#111;color:#fff}.button-accent:hover{background:#333;border-color:#333;color:#fff}
.header-cta{background:transparent;color:#111;border-color:#bdbbb7;min-height:42px;padding:10px 16px;font-size:12px}
.text-link{color:inherit;border-color:#aaa;font-weight:400;padding-bottom:9px}.text-link>span{border:0;border-radius:0;width:auto;height:auto;font-size:18px}
.eyebrow{color:#666;font-size:11px;font-weight:400;letter-spacing:.12em;margin-bottom:26px}.eyebrow:before{height:1px;width:22px;border:0;border-radius:0;background:currentColor}
.hero{background:var(--paper);color:#111;overflow:visible;border-bottom:1px solid var(--line)}
.hero-inner{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:0 64px;min-height:0;padding-block:44px 24px;align-items:center}
.hero-copy{padding-block:40px;min-width:0}.hero .eyebrow{color:#666}
.hero h1{font-size:clamp(40px,4.3vw,66px);line-height:1.13;letter-spacing:-.04em;font-weight:400;margin-bottom:30px;max-width:none}
.hero h1 span{color:#777}
[lang=zh-CN] .hero h1{font-size:clamp(40px,4vw,58px);line-height:1.4;letter-spacing:.01em;font-weight:400}
[lang=ar] .hero h1{font-size:clamp(40px,4.2vw,62px);line-height:1.55;letter-spacing:0;font-weight:400}
.hero-lede,[lang=zh-CN] .hero-lede,[lang=ar] .hero-lede{color:#626262;font-size:15px;line-height:1.9;margin-bottom:36px;max-width:43ch}
[lang=zh-CN] .hero-lede{max-width:29em}
.hero-actions{gap:28px;align-items:center}.hero-actions .text-link{font-size:13px}
.hero-visual{position:relative;align-self:stretch;min-height:620px;overflow:hidden;background:#e4e0db}
.hero-image{position:absolute;inset:0;z-index:auto}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:58% center}
.hero-bottom{grid-column:1 / -1;margin-top:24px;border-top:0;gap:32px;padding-top:0;font-size:11px;color:#777;letter-spacing:.03em}.hero-bottom span:last-child{text-align:end;max-width:58%}
.hero-bottom b{font-size:18px;color:#111;margin-inline-start:14px}
.facts{background:var(--paper);border-color:var(--line)}.fact{padding-block:32px;border-color:var(--line)}.fact span{font-size:12px;color:#777}.fact strong{font-size:clamp(22px,2.5vw,34px);font-weight:350;color:#111}
.intro{padding-block:clamp(88px,9vw,140px)}
h2,[lang=zh-CN] h2{font-weight:400}.section-heading{margin-bottom:60px;align-items:end}.heading-intro{font-size:16px;line-height:1.9;color:#666}
.audience-grid{gap:48px;padding-bottom:56px}.audience-grid h3{font-size:21px}.audience-grid p{font-size:15px}
.home-case-heading{padding-block:48px 32px}.home-contact a{color:#333}.home-cases{gap:32px;padding-bottom:100px}
.home-case{border-color:var(--line);padding-bottom:26px}.home-case img{aspect-ratio:3/2}.home-case h3{font-size:23px;font-weight:400}.home-case-meta,.home-case-link{color:#737373}
.loose-section{background:#eeede9;border-block:1px solid var(--line)}.fixed-section{background:var(--paper)}
.info-grid{gap:44px}.info-grid article{border-color:#bbb9b4}.item-index{color:#777;letter-spacing:.06em;margin-bottom:32px}
.info-grid h3,.custom-grid h3,.team-roles h3,[lang=zh-CN] :is(.info-grid,.custom-grid,.team-roles) h3{font-size:22px;font-weight:500}
.furniture-details{gap:28px}.furniture-details .project-image{height:340px;background:#e3e1dc;padding:12px}.furniture-details .project-image img{object-fit:contain}
.subsection-title{font-weight:400}.custom-grid{gap:32px}.scope-brief{margin-top:48px;padding-top:30px}
.detail-band{margin-top:0}.detail-band img{background:#eeede9;max-height:650px}.detail-band figcaption,.detail-band small{color:#737373}
.responsibility-head{background:#eeede9;color:#555}.responsibility-grid p,.study-records dd{color:#555}
.boundary-note{background:#eeede9;border-inline-start:2px solid #333;color:#666}
.projects{background:#fff}.project-list,.project-row{border-color:var(--line)}.case-study{gap:64px;padding-block:64px}.project-number{font-size:16px;font-weight:350;color:#777;letter-spacing:.06em}
.project-copy h3,[lang=zh-CN] .project-copy h3{font-weight:400;font-size:32px;line-height:1.45}.scope-tag:before{border-color:#777}
.photo-expand{background:#faf9f6f2;border-radius:0;width:38px;height:38px}.project-image,.case-preview-row button{background:#eeede9}
.gallery-summary,.study-records dt,.scope-tag,.project-location,.project-thumbs button,.study-source,.gallery-view-all{color:#737373}
.gallery-view-all{border-color:var(--line)}.gallery-view-all:hover{color:#111;border-color:#111}
.archive-heading{padding-top:64px;margin-top:50px}.archive-heading h3{font-weight:400;font-size:32px}
.archive-toolbar{border-color:var(--line)}.archive-range{font-size:24px}.case-filters{gap:18px;margin-block:30px 40px}.case-filters button{border-radius:0;border:0;border-bottom:1px solid #ccc;padding:9px 4px;color:#666;background:transparent}
.case-filters button[aria-pressed=true]{background:transparent;color:#111;border-color:#111}.case-filters button:hover{color:#111}
.case-grid{gap:48px 32px}.case-card{background:transparent;border:0;border-bottom:1px solid var(--line);box-shadow:none;border-radius:0}
.case-body{padding:26px 0}.case-figure figcaption{padding:12px 0 0;color:#737373}.case-preview-row{padding-inline:0}
.case-card h4,[lang=zh-CN] .case-card h4{font-weight:500;font-size:22px}.case-intro{color:#555}.case-date.ongoing{border-radius:0;background:#eeede9;color:#555}
.case-location,.case-topline,.case-scope,.case-scope dt,.case-client,.record-evidence dt,.record-evidence dd,.archive-note{color:#737373}
.case-image-count{background:#111b;border-radius:0}.record-only{border-top:1px solid #111}.case-view-all span,.case-preview-row .case-view-all{color:#444}
.capabilities{background:#171717;color:#f8f7f4;border:0}.capabilities h2,.capabilities .team-roles h3,.capabilities .factory-notes h3{color:#f8f7f4;font-weight:400}
.capabilities .eyebrow.light{color:#aaa}.capabilities .eyebrow.light:before{border:0;background:#aaa}
.capability-grid .body-copy,.capabilities .team-roles p,.capabilities .factory-notes p{color:#b8b8b8}
.capabilities .text-link{color:#f8f7f4;border-color:#888}.team-roles article,.factory-notes{border-color:#414141}
.factory-detail{border-color:#171717}.capability-images figcaption{color:#aaa}.capability-images{padding-inline-end:0;padding-bottom:40px}.factory-detail{width:40%;bottom:20px;inset-inline-end:-20px}
.team-roles{gap:36px;margin-top:76px}.factory-notes{padding-top:40px;margin-top:44px}
.video-section{background:var(--paper);border-color:var(--line)}.video-grid{gap:32px}.video-cover{background:#222}.video-cover>img{filter:none}
.video-pending-overlay{background:linear-gradient(180deg,#1112,#1119)}.video-film-mark{border-radius:0;background:#1113}.video-status{border-radius:0;background:#111b}
.video-caption{border-color:var(--line);padding-top:24px}.video-caption h3{font-weight:400}.video-caption p,.video-error{color:#555}.video-number,.video-source-note{color:#737373}
.process{background:#eeede9;border-block:1px solid var(--line)}.process-grid,.process-grid article{border-color:#cccac5}.process-grid article>span{font-size:20px;color:#777;font-weight:350}.process-grid h3{font-weight:500;font-size:22px}
.about{background:var(--paper);padding-block:110px}.about-art{min-height:330px;border:1px solid var(--line);background:transparent;padding:40px 40px 80px}.about-art>img{width:80%}.about-art>div{color:#737373}
.contact{background:#eeede9;border-color:var(--line);color:#111}.contact .eyebrow.light{color:#737373}.contact .eyebrow.light:before{border:0;background:#737373}
.contact-grid .body-copy{color:#555}.direct-contact>span,.inquiry-form label,.form-hint{color:#666}.direct-contact>a{color:#111;border-color:#999}
.inquiry-form :is(input,textarea,select){background:transparent;border:0;border-bottom:1px solid #aaa;color:#111;padding:14px 0;border-radius:0}
.inquiry-form :is(input,textarea,select):focus{outline:0;border-color:#111;box-shadow:0 1px #111}.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#777}
.footer{background:#111;color:#ddd}.footer-top,.footer-bottom{border-color:#393939}.footer-top p,.footer-bottom{color:#aaa}
.lightbox{background:#111;border-color:#555}.lightbox::backdrop{background:#111e}.lightbox-header p,.lightbox-bottom a,.gallery-counter{color:#ccc}
.lightbox :is(.lightbox-prev,.lightbox-next,.lightbox-close){border-color:#555}.lightbox :is(.lightbox-prev,.lightbox-next,.lightbox-close):hover{background:#eee;color:#111}
@media(max-width:1200px){.container{width:calc(100% - 64px)}.hero-inner{gap:0 40px}.hero-visual{min-height:600px}.header-actions{gap:16px}.nav{gap:18px}.case-study{gap:40px}}
@media(max-width:900px){
 .container{width:calc(100% - 48px)}.site-header{height:78px}.nav{top:78px;background:var(--paper)}.nav a{font-size:16px}.menu-toggle{border-color:#ccc}
 .hero-inner{grid-template-columns:minmax(0,1fr);padding-top:18px;gap:0}.hero-copy{padding-block:36px 40px;max-width:640px}.hero h1,[lang=zh-CN] .hero h1{font-size:48px}.hero-visual{min-height:0;height:470px}.hero-bottom{margin-top:16px}
 .capability-grid,.contact-grid,.about-grid{grid-template-columns:1fr;gap:48px}.case-study{gap:32px}.factory-detail{inset-inline-end:0}.home-cases{gap:24px}.audience-grid,.info-grid{gap:28px}
 .case-grid{gap:40px 24px}.case-body{padding:24px 0}.case-figure figcaption,.case-preview-row{padding-inline:0}.section-heading{margin-bottom:44px}
}
@media(max-width:600px){
 .container{width:calc(100% - 40px)}.section-pad{padding-block:76px}.logo-window{width:94px;height:47px}.header-inner{gap:12px}.header-actions{gap:10px}.languages a{padding-inline:5px;font-size:11px}.hero-inner{padding-block:0 20px}
 .hero-copy{padding-block:36px 32px}.hero h1,[lang=zh-CN] .hero h1{font-size:clamp(32px,9vw,40px);line-height:1.4;margin-bottom:22px}.hero h1{line-height:1.16}[lang=ar] .hero h1{font-size:36px;line-height:1.5}
 .hero-lede,[lang=zh-CN] .hero-lede{font-size:14px;line-height:1.9;margin-bottom:26px}[lang=ar] .hero-lede{font-size:16px;line-height:1.95}
 .hero-actions{gap:22px}.hero-actions .button{padding:14px 18px;gap:22px;min-height:49px;font-size:13px}.hero-actions .text-link{font-size:12px;gap:12px}
 .hero-visual{height:330px}.hero-bottom{gap:18px;font-size:10px;align-items:start}.hero-bottom span{max-width:42%}.hero-bottom span:last-child{max-width:58%}.hero-bottom b{display:none}
 .facts-grid{grid-template-columns:1fr}.fact,.fact:first-child,.fact:last-child{padding:20px 0;border-inline-end:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:space-between;align-items:center;gap:20px}.fact:last-child{border:0}.fact strong,.fact:last-child strong{font-size:21px;text-align:end;max-width:60%}.fact span{font-size:12px}
 h2,[lang=zh-CN] h2{font-size:30px;line-height:1.5}[lang=ar] h2{font-size:32px;line-height:1.55}.section-heading{margin-bottom:36px}.heading-intro{font-size:15px}
 .intro{padding-block:76px}.audience-grid{gap:26px;padding-bottom:36px}.home-cases{padding-bottom:76px;gap:36px}.home-case h3{font-size:23px}.home-case-heading{padding-block:32px 28px}
 .info-grid{gap:28px}.item-index{margin-bottom:18px}.furniture-details{gap:30px}.furniture-details .project-image{height:310px;padding:10px}.scope-brief{margin-top:32px}.scope-brief .button{white-space:normal}
 .responsibility-grid article{padding-inline:0}.case-study{padding-block:36px;gap:28px}.project-copy h3,[lang=zh-CN] .project-copy h3{font-size:27px}.archive-heading{margin-top:32px;padding-top:36px}.archive-heading h3{font-size:27px}.case-grid{gap:36px}.case-filters{gap:14px;margin-bottom:28px}
 .case-body{padding:22px 0}.case-figure figcaption,.case-preview-row{padding-inline:0}.team-roles{gap:28px;margin-top:44px}.factory-notes{gap:32px;margin-top:32px;padding-top:32px}
 .process-grid{grid-template-columns:1fr}.process-grid article,.process-grid article:first-child,.process-grid article:last-child{padding:26px 0;border-inline-end:0;border-bottom:1px solid #cccac5}.process-grid h3{margin-top:18px;font-size:22px}
 .about{padding-block:76px}.about-art{min-height:250px;padding:30px 30px 70px}.about-art>img{width:90%}.contact-grid{gap:40px}
}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}
