/* Real portfolio imagery: preserve complete compositions in case studies. */
.opening-image img{object-position:100% center}.handover-in img{object-position:51% center}.handover-out img{object-position:56% center}
.opening-project h2{font-size:clamp(23px,3vw,46px);max-width:620px;line-height:1.08}
.opening-project{max-width:90%}.opening-project>div{min-width:0}
.opening-project,.cinema-title{color:#fff;text-shadow:0 1px 12px #0008}.opening-number{color:var(--accent)}
.cinema-title h2{font-size:clamp(35px,5vw,80px);max-width:750px}.cinema-title a:hover{color:#ece5d5}
.cinema-edge{color:#fff;text-shadow:0 1px 5px #000}
.media .image-label,.opening-image .image-label,.handover-out .image-label,.handover-in .image-label,.handover-detail .image-label,.cinema-image .image-label,.thinking-image .image-label{color:#fff;text-shadow:0 1px 5px #000,0 0 12px #0008}
.thinking-image img{object-position:63% center}
.case-heading h1{font-size:clamp(46px,6.8vw,110px);max-width:1100px;line-height:1.03}
.case-meta{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.case-hero img{aspect-ratio:auto;height:auto;object-fit:contain}
.gallery-open{display:block;border:0;background:none;padding:0;width:100%;position:relative;cursor:zoom-in;color:inherit}
.gallery-open img{height:auto;object-fit:contain}
.gallery-open:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.enlarge-hint{position:absolute;right:15px;bottom:15px;width:32px;height:32px;display:grid;place-items:center;background:var(--paper);opacity:0;transition:opacity .2s}
.gallery-open:hover .enlarge-hint,.gallery-open:focus-visible .enlarge-hint{opacity:1}
.case-hero figcaption,.gallery-frame figcaption{display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.4}
.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:65px 30px;align-items:start}
.gallery-wide{grid-column:1/-1}.project-gallery:empty{display:none}
.image-viewer{border:0;padding:24px;background:#191a17;color:var(--paper);width:100vw;height:100dvh;max-width:none;max-height:none;position:fixed;inset:0;margin:0}
.image-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:20px}
.image-viewer::backdrop{background:#191a17}.viewer-controls,.viewer-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}
.image-viewer button{background:none;border:0;padding:10px;color:inherit;font-size:12px}.image-viewer button:disabled{opacity:.3;cursor:default}
.image-viewer button:focus-visible{outline:1px solid var(--paper)}
.viewer-image{width:100%;height:100%;min-height:0;object-fit:contain}.viewer-caption{line-height:1.3}
@media(max-width:600px){.case-heading h1{font-size:11vw}.project-gallery{grid-template-columns:1fr;gap:35px}.case-hero figcaption,.gallery-frame figcaption{font-size:9px}.case-intro{margin:40px 0}.image-viewer{padding:12px;gap:10px}.viewer-controls,.viewer-nav{font-size:10px}.viewer-caption{max-width:65%}.cinema-title h2{font-size:36px}.enlarge-hint{opacity:1;width:26px;height:26px}}

.opening-project{color:var(--ink);text-shadow:0 1px 8px #eeece680}

/* Readable imagery, explicit service areas and aligned identity. */
.opening-image img{object-position:50% center}
.spatial-title{color:#fff;mix-blend-mode:difference}.spatial-title .burgundy{color:inherit}
.opening-project{color:#fff;text-shadow:0 2px 14px #000b}.opening-project a:hover{color:#fff}
.opening-number,.pinned-counter,.cinema-number{-webkit-text-stroke:1px #fff9;paint-order:stroke fill;text-shadow:none}
.opening-image:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0006);pointer-events:none}
.opening-image .image-label{z-index:2}
.service-copy{max-width:340px;font-size:14px;line-height:1.6;letter-spacing:0;margin-top:18px}
.service-link{display:inline-block;margin-top:20px;font-size:11px;border-bottom:1px solid currentColor;padding-bottom:6px}
.handover-title{max-width:40%}.handover-title h2{font-size:clamp(32px,4.2vw,70px)}
.cinema-title{max-width:80%;text-shadow:0 2px 14px #000}.cinema-title .service-copy{max-width:460px}
.cinema-title:before{content:"";position:absolute;z-index:-1;inset:-22px -30px;background:linear-gradient(90deg,#191a17a6,transparent);pointer-events:none}
.facade-service{padding:120px var(--gutter);display:grid;grid-template-columns:1fr 1.3fr;gap:7%;align-items:center}
.facade-service h2{font-size:clamp(40px,5.3vw,88px);line-height:1.04;letter-spacing:-.05em;margin:24px 0}.facade-service p{max-width:340px;font-size:14px;line-height:1.7;margin:24px 0}.facade-service .media{aspect-ratio:1.1}
.practice-values{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin:25px 0 30px}.practice-values>span{font-size:50px;line-height:1}.practice-values p{font-size:12px;letter-spacing:.04em}
.more-work{display:block;max-width:1100px;margin:auto}.project-five{padding-top:0;margin:0 0 0 20%}
.index-group{scroll-margin-top:30px}.index-group h3{margin:34px 0 16px;color:var(--accent)}.index-group:first-child h3{margin-top:0}
.index-group>a{display:grid;grid-template-columns:45px 1fr 25px;gap:10px;padding:22px 0;border-top:1px solid var(--line);font-size:24px;line-height:1.3;transition:color .2s, padding .2s}.index-group>a:hover,.index-group>a:focus-visible{color:var(--accent);padding-left:10px}.index-group .number{font-size:11px;padding-top:5px}
.footer-line{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.footer-line>span:nth-child(2){text-align:center}.footer-line>a{text-align:right;justify-self:end}
.language-toggle{border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:11px;padding:8px 10px;cursor:pointer;margin-left:28px}.header nav{margin-left:auto}.language-toggle:focus-visible{outline:2px solid var(--accent)}
:lang(zh-Hans){font-family:'Microsoft YaHei','PingFang SC','Noto Sans SC',sans-serif}html[lang=zh-Hans] h1,html[lang=zh-Hans] h2,html[lang=zh-Hans] .pause-word{letter-spacing:-.035em;line-height:1.15}html[lang=zh-Hans] .spatial-title{font-size:11vw}html[lang=zh-Hans] .eyebrow{letter-spacing:.12em}html[lang=zh-Hans] .handover-title h2{font-size:4vw}
@media(max-width:600px){.header{gap:8px}.brand{width:150px}.language-toggle{margin-left:auto;padding:7px}.menu-toggle{gap:8px;padding-left:4px}.handover-title{max-width:none}html:not(.spatial-ready) .handover-canvas{min-height:850px}html:not(.spatial-ready) .handover-title{top:8%;left:6%;right:6%}.pinned-counter{display:none}html:not(.spatial-ready) .handover-in{top:40%;height:37%}html:not(.spatial-ready) .handover-detail{top:66%;height:21%}.handover-title h2{font-size:34px}.service-copy{font-size:12px;max-width:290px;margin-top:12px}.service-link{margin-top:12px}.cinema-title{max-width:none;bottom:7%}.cinema-title h2{font-size:34px}.cinema-title .service-copy{font-size:12px}.facade-service{padding:75px var(--gutter);display:flex;flex-direction:column;gap:35px;align-items:stretch}.facade-service h2{font-size:42px}.facade-service p{font-size:13px}.facade-service .media{aspect-ratio:1.2}.practice-values p{font-size:11px}.more-work{padding:0 var(--gutter) 75px}.project-five{margin:0}.index-group>a{font-size:20px;grid-template-columns:28px 1fr 20px}.footer-line{grid-template-columns:1fr;text-align:center;gap:16px}.footer-line>a{justify-self:center;text-align:center;margin:0!important}.footer-line>span:nth-child(2){grid-row:1}.footer-signature{margin-bottom:20px}html[lang=zh-Hans] .spatial-title{font-size:15vw}html[lang=zh-Hans] .handover-title h2{font-size:34px}}
.opening-canvas{background:var(--paper)}
@media(min-width:901px){.handover-title{background:#eeece6ed;padding:24px;left:6%;top:30%;max-width:40%;opacity:1}.handover-title .service-copy{max-width:320px}}

/* Only the featured project carries a large number; services use clear category names. */
.opening-number{color:var(--accent);-webkit-text-stroke:1px #fff;paint-order:stroke fill;text-shadow:none;filter:none}
.pinned-counter,.cinema-number{display:none}
/* Number the homepage narrative separately from the project index. */
.opening-number{color:var(--accent);-webkit-text-stroke:0;text-shadow:none;filter:none}
.section-number{color:var(--accent);display:inline-block;margin-right:16px;font-variant-numeric:tabular-nums}.opening-project .section-number,.cinema-title .section-number{color:inherit}
.section-kicker{margin-bottom:32px}.more-work>.section-kicker{padding-left:20%}
.floating-connect{position:fixed;z-index:30;bottom:22px;right:24px;display:flex;align-items:center;gap:0;background:#eeece6f5;color:var(--ink);box-shadow:0 3px 20px #0002;border:1px solid var(--line);padding:5px 8px;backdrop-filter:blur(10px)}
.floating-connect>a{display:block;padding:12px 14px;font-size:11px;white-space:nowrap}.floating-connect>a:hover{color:var(--accent)}.floating-connect>a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.connect-label{font-size:10px;letter-spacing:.03em;padding:0 14px;color:var(--accent);border-right:1px solid var(--line)}
.footer{padding-bottom:110px}.scroll-invitation{bottom:13%}.sequence-skip{bottom:12%}.cinema-title{bottom:14%}
@media(max-width:600px){.floating-connect{bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;justify-content:center;padding:5px}.connect-label{display:none}.floating-connect>a{font-size:11px;padding:12px 16px;flex:1;text-align:center}.footer{padding-bottom:100px}.scroll-invitation{bottom:13%}.hero-footnote{bottom:12%}.more-work>.section-kicker{padding-left:0}.section-number{margin-right:10px}.cinema-title{bottom:13%}.opening-image{height:39%}}
.project-caption{grid-template-columns:1fr 25px}
@media(min-width:601px){.scroll-invitation{bottom:4%;left:44%;right:auto}}
