/* Latest Figma: 2:2 / 9:2 / 11:90 / 11:154. Flow layouts preserve reading order. */
@font-face{font-family:Portfolio Kangxi;src:url('../portfolio-v4/kangxi.woff2') format('woff2');font-display:swap}
@font-face{font-family:Portfolio Zhonghua;src:url('../portfolio-v4/zhonghua.woff2') format('woff2');font-display:swap}
.kangxi{font-family:'Portfolio Kangxi',var(--serif)}.zhonghua{font-family:'Portfolio Zhonghua',var(--serif)}
.hero-line,.hero-ink{display:block}
.about-panel .panel-copy{padding-top:75px;padding-bottom:70px;background:none}
.about-name{margin-top:103px;font-size:24px;line-height:1.4;letter-spacing:1px}
.about-name span{display:block;font:14px/1.5 Arial,sans-serif;letter-spacing:1px;margin-top:8px}
.about-prose{margin-top:98px;max-width:390px}.about-prose p+p{margin-top:0}
.portrait-visual img{width:125.24%;height:158.82%;left:.06%;top:-22.86%}
.object-panel .panel-copy{background:none}
.figma-home .home-related{display:none}
.portfolio-page{background:#0f1010;color:#fff;--muted:#aaa8a3;--ink:#fff}
.portfolio-page.object-page{background:#242425}
.portfolio-page main{overflow:clip}
.portfolio-page .site-header{position:relative;color:#f5f2e8}
.portfolio-page .site-header nav{gap:18px}
.portfolio-page :focus-visible{outline-color:#e5bf71}
.portfolio-page figure{margin:0;min-width:0}
.portfolio-page h1,.portfolio-page h2,.portfolio-page h3{font-weight:400;line-height:1.4}
.portfolio-page h1{font-size:clamp(36px,6.667vw,110px)}
.portfolio-page h2{font-size:clamp(26px,2.78vw,48px);margin:0 0 40px}
.portfolio-page h3{font-size:clamp(24px,2.5vw,38px);margin:0 0 25px}
.case-wrap{max-width:1680px;margin:auto;padding:0 3.26vw}
.case-section{padding-top:72px;padding-bottom:24px}
.case-section p{color:var(--muted);font-size:16px;line-height:1.95}
.case-opening{position:relative;padding:30px 5vw 32px;text-align:center;isolation:isolate}
.case-opening>p{max-width:940px;margin:24px auto;color:var(--muted);font-size:16px}
.case-opening .year{position:absolute;right:5vw;top:60px;font-size:14px}
.ghost-word{font-family:'Portfolio Kangxi',serif;font-size:clamp(120px,34.72vw,600px);line-height:1.24;color:#ffffff29;pointer-events:none;user-select:none;position:absolute;z-index:-1;white-space:nowrap}
.ghost-left{left:-8vw;top:55px}.ghost-right{right:-10vw;top:55px}
.case-background{max-width:950px;margin:50px auto 0;text-align:center}
.case-background h2{margin-bottom:24px;font-size:36px}
.case-background p{font-size:16px;line-height:1.95;color:var(--muted)}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.65vw}
.process-card{background:#d9d9d9;border-radius:27px;color:#000;padding:32px 34px;min-height:258px;text-align:center}
.process-card p{color:#171717;text-align:left;font-size:16px;line-height:1.8}
.art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.art-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:3.3vw}
.art-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:4vw}
.art-grid img{width:100%;height:auto;object-fit:contain}
.portfolio-page .image-zoom{display:block;position:relative;cursor:zoom-in;width:100%;height:auto;background:transparent;color:#fff}
.portfolio-page figcaption{color:var(--muted);font-size:16px;line-height:1.8;text-align:center;margin:20px 0 0}
.wide-art{margin:38px 0!important}.wide-art img{width:100%;height:auto}
.panorama img{aspect-ratio:1440/426;object-fit:cover;object-position:center 73%}
.study-render img{aspect-ratio:1384/710;object-fit:cover;object-position:center 74%}
.study-detail img{aspect-ratio:1/1;object-fit:cover}
.study-detail figure:first-child img{object-fit:contain}
.editorial-copy{margin:32px 0;font-size:16px;color:var(--muted);line-height:2}
.film{position:relative;background:#080909;width:100%;aspect-ratio:16/9;overflow:hidden}
.film video{display:block;width:100%;height:100%;object-fit:contain}
.film .motion-toggle{bottom:18px;right:20px}
.film figcaption{display:none}
.film-label{margin:22px 0 50px!important;color:var(--muted);text-align:center;font-size:16px;line-height:1.8}
.film-sound{position:absolute;right:126px;bottom:18px;z-index:3;background:#211f1ad9;border:1px solid #ffffff77;color:#fff;min-height:44px;padding:6px 12px;font-size:12px;cursor:pointer}
.film-status{position:absolute;left:16px;top:16px;right:16px;color:#fff;background:#000a;font-size:14px;line-height:1.6}
.film-status:empty{display:none}.film .motion-toggle{min-width:92px}
.human-opening{padding-top:80px;padding-bottom:65px}
.human-opening .ghost-word{top:-15vw;left:50%;transform:translateX(-50%)}
.human-opening h1{font-size:clamp(38px,6.667vw,110px)}
.human-opening>p{font-size:clamp(17px,2.5vw,36px);margin-bottom:0;color:#ffffffb8}
.human-films{padding:0}.human-films .film-label{padding:0 20px}
.object-opening{min-height:45.55vw;text-align:left;display:flex;flex-direction:column;justify-content:center;padding:9vw 9.5vw}
.object-opening h1{font-size:clamp(32px,3.334vw,54px)}
.object-opening .ghost-word{right:-9vw;top:-20px}
.object-opening>p{margin:80px 0 0;font-size:20px;color:#ffffffb8}
.chapter-band{background:#644a16;padding:18px 3.3vw;display:flex;align-items:center;gap:35px;min-height:97px;scroll-margin-top:20px}
.chapter-band h2{font-family:'Portfolio Kangxi',serif;font-size:clamp(26px,3.334vw,52px);margin:0}.chapter-band p{font-size:20px;color:#ffffffb8}
.object-gallery{padding:65px 5.6vw 35px}
.object-gallery .item-title{display:flex;gap:60px;align-items:baseline;margin-bottom:30px}
.object-gallery .item-title h3{font-family:'Portfolio Zhonghua',serif;font-size:36px;margin:0}
.object-gallery .item-title p{font-family:'Portfolio Kangxi',serif;color:white;font-size:28px}
.paired-tall{gap:6.7vw}.paired-tall img{height:57.64vw;max-height:1000px;object-fit:contain}
.tablet-pair{display:grid;grid-template-columns:1fr 2.88fr;gap:4.5vw;margin-bottom:56px}
.tablet-pair img{width:100%;height:33vw;object-fit:contain}
.window-pair{align-items:center;margin-top:70px}.window-pair img{max-height:500px;object-fit:contain}
.window-grid{gap:45px 24px}.window-grid figcaption{font-family:'Portfolio Kangxi',serif;font-size:30px;color:white}
.book-grid{row-gap:60px}.book-grid img{aspect-ratio:0.707;object-fit:contain}.book-grid figcaption{font-size:26px;color:white}
.brand-intro{display:grid;grid-template-columns:32% 1fr;gap:8%;align-items:center;padding:70px 6vw}
.brand-intro img{max-height:200px;object-fit:contain}.brand-intro p{font-size:clamp(18px,2.5vw,36px);line-height:1.6;color:white}
.portfolio-page .contact-footer{margin-top:50px;min-height:450px;height:31.25vw;padding-top:90px}
.next-project{position:absolute;right:4vw;top:90px;background:#fff;color:#111;border-radius:25px;padding:16px 32px;font-size:22px;line-height:1.6}
.portfolio-page .contact-invitation{max-width:60%}.portfolio-page .contact-details{margin-top:30px}
.portfolio-page .footer-word{color:white}
@media(min-width:901px) and (max-width:1200px){.about-prose{margin-top:65px}.about-name{margin-top:70px}.process-card{padding:28px 20px}.case-opening .year{position:static}.case-opening>p{max-width:850px}}
@media(max-width:900px){.about-panel .panel-copy{padding:64px var(--gutter)}.about-name{margin-top:48px}.about-prose{margin-top:48px;max-width:640px}.portfolio-page .site-header{padding:0 24px}.portfolio-page .site-header nav{gap:14px}.case-wrap{padding:0 5vw}.case-opening{padding:40px 6vw}.case-opening .year{position:static;margin-top:15px}.case-background{text-align:left;margin-top:36px}.case-background h2{font-size:28px}.case-section{padding-top:48px}.process-grid{gap:16px}.process-card{padding:24px 18px;min-height:0}.process-card h3{font-size:24px}.process-card p{font-size:14px}.art-grid{gap:24px}.art-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.art-grid.three{gap:20px}.portfolio-page figcaption{font-size:14px}.human-opening{padding:55px 5vw}.human-opening .ghost-word{top:-12vw}.object-opening{min-height:420px;padding:70px 7vw}.object-opening>p{margin-top:45px;font-size:17px}.object-opening .ghost-word{top:0}.chapter-band{padding:20px 5vw;gap:15px;flex-wrap:wrap}.chapter-band p{font-size:15px}.object-gallery{padding:40px 5vw}.object-gallery .item-title{gap:25px;flex-wrap:wrap}.object-gallery .item-title p{font-size:24px}.paired-tall img{height:65vw}.tablet-pair{gap:25px}.tablet-pair img{height:37vw}.book-grid figcaption,.window-grid figcaption{font-size:22px}.portfolio-page .contact-footer{height:420px;min-height:420px;padding-top:60px}.portfolio-page .contact-invitation{max-width:65%;font-size:26px}.next-project{top:60px;font-size:16px;padding:12px 18px}.film-label{margin:18px 0 36px!important}}
@media(max-width:600px){.portfolio-page .site-header{padding:0 18px}.portfolio-page .site-header nav{gap:12px;font-size:12px}.case-opening h1{font-size:36px}.case-opening>p{font-size:15px}.case-background p{font-size:15px}.process-grid{grid-template-columns:1fr}.process-card h3{margin-bottom:14px}.process-card{padding:28px}.process-card p{font-size:15px}.portfolio-page h2{margin-bottom:25px}.art-grid,.art-grid.three{grid-template-columns:1fr}.art-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.study-detail img{aspect-ratio:auto}.object-gallery .item-title{display:block}.object-gallery .item-title p{margin-top:18px;font-size:22px}.paired-tall{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.paired-tall img{height:68vw}.tablet-pair{grid-template-columns:1fr 2fr;gap:14px}.tablet-pair img{height:48vw}.window-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.window-grid figcaption{font-size:18px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.book-grid figcaption{font-size:17px}.brand-intro{grid-template-columns:1fr;gap:24px;padding:40px 5vw}.brand-intro img{width:180px}.brand-intro p{font-size:19px}.portfolio-page .contact-footer{min-height:460px;height:460px;padding-top:48px}.portfolio-page .contact-invitation{max-width:100%;font-size:24px}.next-project{position:relative;top:auto;right:auto;display:inline-block;margin-top:24px;font-size:16px}.portfolio-page .contact-details{margin-top:22px}.film .motion-toggle{bottom:10px;right:10px}.film-sound{bottom:10px;right:112px;min-width:70px;font-size:11px}.human-opening h1{font-size:38px}.object-opening{min-height:370px}.object-opening h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
