:root{--paper:#f5f4ef;--ink:#19352c;--muted:#70796d;--accent:#dbe8b5;--line:#19352c30;--gutter:clamp(24px,4.5vw,88px);font-family:"Avenir Next",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bf7850;outline-offset:7px}img{display:block;max-width:100%;height:auto}button:disabled{opacity:.45;cursor:default}em{font-style:normal}main,footer{position:relative;z-index:1}h2,h3{font-weight:500;letter-spacing:-.04em}::selection{background:#bfcf99;color:#122e23}.skip-link{position:fixed;top:-100px;left:20px;z-index:1000;background:var(--paper);padding:15px}.skip-link:focus{top:10px}.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:90;pointer-events:none}.reading-progress i{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.flow-background{position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse at 80% 10%,#8dac92,transparent 52%),radial-gradient(ellipse at 0% 90%,#5e8b75,transparent 54%),linear-gradient(120deg,#183d35 10%,#1c3e35 50%,#967d5d);overflow:hidden;pointer-events:none}#flow-field{width:100%;height:100%;display:block}.flow-fallback #flow-field{display:none}.flow-shade{position:absolute;inset:0;background:linear-gradient(90deg,#05251d33,transparent 65%),linear-gradient(0deg,#061b1733,transparent 45%);pointer-events:none}
.site-header{position:fixed;z-index:40;top:0;left:0;width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:28px var(--gutter);color:#fff;mix-blend-mode:difference;pointer-events:none}.site-header a,.site-header button{pointer-events:auto}.wordmark{display:flex;align-items:flex-end;gap:12px;width:max-content;line-height:1}.wordmark strong{position:relative;font-size:36px;font-weight:760;letter-spacing:-.08em}.wordmark strong span{position:absolute;top:1px;right:-8px;font-size:12px;font-weight:400;letter-spacing:0}.wordmark>span{font-size:9px;letter-spacing:.12em;margin-bottom:3px;margin-left:5px}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:35px;font-size:13px}.desktop-nav button{padding:0}.desktop-nav a,.desktop-nav button{position:relative}.desktop-nav a::after,.desktop-nav button::after{content:'';display:block;position:absolute;bottom:-6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover::after,.desktop-nav button:hover::after{transform:scaleX(1)}.header-end{display:flex;align-items:center;justify-content:flex-end;gap:18px}.location{font-size:9px;line-height:1.7;letter-spacing:.06em;margin-right:14px}.motion-toggle,.menu-toggle{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #fff6;border-radius:50%;font-size:14px}.menu-toggle{flex-direction:column;gap:5px}.menu-toggle span{width:14px;height:1px;background:currentColor}.site-header.is-scrolled .desktop-nav,.site-header.is-scrolled .location{opacity:0;visibility:hidden}.site-header.is-scrolled .menu-toggle{background:#fff;color:#000;border-color:transparent}.site-header.is-scrolled .motion-toggle{border-color:transparent}.site-header.is-scrolled{padding-block:18px}.site-header,.desktop-nav,.location{transition:padding .25s,opacity .25s}
.hero{position:relative;height:100svh;min-height:740px;color:white;isolation:isolate;overflow:hidden}.hero-center{position:absolute;top:47%;left:0;width:100%;transform:translateY(-50%);text-align:center}.hero-titles{position:relative;width:min(1080px,84vw);margin:0 auto;--lens-x:-500px;--lens-y:-500px;--lens-radius:135px}.hero-chinese,.hero-english{font-size:clamp(65px,7.7vw,124px);font-weight:500;line-height:1.24;letter-spacing:-.055em;white-space:nowrap}.hero-chinese>span,.hero-english>span{display:block}.hero-chinese>span:last-child{margin-left:1em}.hero-chinese{padding-bottom:.05em}.hero-english{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;font-size:clamp(62px,6.7vw,112px);letter-spacing:-.055em;line-height:1.1;clip-path:circle(0 at -500px -500px);pointer-events:none}.hero-english em{font-family:Georgia,serif;font-style:italic}.lens-active .hero-chinese{-webkit-mask-image:radial-gradient(circle var(--lens-radius) at var(--lens-x) var(--lens-y),transparent 98%,#000 100%);mask-image:radial-gradient(circle var(--lens-radius) at var(--lens-x) var(--lens-y),transparent 98%,#000 100%)}.lens-active .hero-english{clip-path:circle(var(--lens-radius) at var(--lens-x) var(--lens-y))}.hero-summary{display:flex;justify-content:center;align-items:center;gap:50px;margin:36px auto 0;padding:0 24px}.hero-summary p{font-size:13px;line-height:1.9;text-align:left;color:#ffffffe8}.round-link{display:flex;align-items:center;gap:32px;font-size:12px}.round-link span{display:grid;place-items:center;border:1px solid #fff9;border-radius:50%;width:50px;height:50px;font-size:24px;transition:background .3s,transform .3s}.round-link:hover span{background:#fff;color:var(--ink);transform:rotate(45deg)}.lens-ring{position:absolute;left:0;top:0;width:270px;height:270px;border:1px solid #fff3;border-radius:50%;pointer-events:none;opacity:0;box-shadow:inset 0 0 25px #dbffe608,0 0 1px #ffffffe6;transform:translate(-500px,-500px);transition:opacity .3s}.lens-active .lens-ring{opacity:1}.hero-bottom{position:absolute;bottom:34px;left:var(--gutter);right:var(--gutter);display:flex;align-items:end;justify-content:space-between;font-size:9px;letter-spacing:.07em;line-height:1.6}.hero-bottom a{display:flex;align-items:center;gap:40px;font-size:11px}.hero-bottom a span{font-size:30px;font-weight:300}.lens-hint{font-size:10px;color:#ffffffb3;display:flex;align-items:center;gap:15px}.lens-hint i{font-style:normal;font-size:26px}.motion-paused .lens-hint{visibility:hidden}
/* Static layout is the complete fallback. The sticky stage is progressive enhancement. */
.showcase{position:relative;color:#fff;background:#14342a}.showcase-stage{padding:60px var(--gutter) 40px}.showcase-top{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:40px}.showcase-top h2{font-size:18px;font-weight:500;letter-spacing:0}.showcase-top h2 span{font-size:9px;letter-spacing:.06em;margin-left:25px;font-weight:400}.showcase-count{font-size:11px;letter-spacing:.12em}.showcase-count b{font-weight:500}.showcase-project{position:relative;display:grid;grid-template-columns:.7fr 1.4fr;gap:7%;align-items:center;margin-bottom:90px}.project-category{font-size:10px;letter-spacing:.06em;margin-bottom:20px}.project-copy h3{font-size:clamp(50px,5.6vw,88px);font-weight:500;line-height:1.2;letter-spacing:-.06em;white-space:nowrap}.project-en{display:block;font-size:10px;letter-spacing:.07em;margin-top:12px}.project-description{font-size:15px;line-height:1.85;margin-top:34px;color:#ffffffd1}.project-text-link{display:inline-flex;align-items:center;gap:35px;margin-top:24px;font-size:11px;border-bottom:1px solid #ffffff65;padding-bottom:10px}.project-text-link span{font-size:18px}.project-image-window{min-width:0}.project-image{position:relative;display:block;overflow:hidden;background:var(--project-bg)}.project-image img{width:100%;height:auto}.project-image-arrow{position:absolute;right:15px;bottom:15px;width:45px;height:45px;background:var(--paper);color:var(--ink);border-radius:50%;display:grid;place-items:center;font-size:24px}.qingke-cover-label{position:absolute;left:5%;top:26%;color:#172f2c;display:flex;flex-direction:column;align-items:flex-start;width:33%;pointer-events:none}.qingke-cover-label>span{font-size:clamp(8px,.8vw,13px);letter-spacing:.02em}.qingke-cover-label strong{font-size:clamp(20px,2.5vw,42px);font-weight:650;line-height:1.25;margin-top:15px;letter-spacing:-.055em}.qingke-cover-label i{height:1px;background:#19352c5c;width:40%;margin:20px 0 9px}.qingke-cover-label small{font-size:clamp(6px,.45vw,8px);letter-spacing:.04em}.showcase-bottom{display:flex;justify-content:space-between;align-items:center}.project-dots{display:none;gap:18px}.project-dots button{padding:10px 0;width:46px;color:#ffffff80;display:flex;align-items:center;gap:8px;font-size:10px}.project-dots i{height:1px;flex:1;background:currentColor}.project-dots [aria-current]{color:#fff}.all-projects{display:inline-flex;align-items:center;gap:22px;font-size:13px;border-bottom:1px solid #ffffff80;padding:12px 0}.all-projects>span{font-size:9px;opacity:.7}.all-projects b{font-size:24px;font-weight:400;margin-left:18px}
.immersive .showcase{background:transparent;height:440svh}.immersive .showcase-stage{position:sticky;top:0;height:100svh;min-height:650px;padding:0}.immersive .showcase-stage::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#05231c7d,transparent 70%);pointer-events:none}.immersive .showcase-top{position:absolute;top:15%;left:var(--gutter);right:var(--gutter);margin:0;z-index:5}.immersive .showcase-projects{position:absolute;inset:0}.immersive .showcase-project{position:absolute;inset:0;display:block;margin:0;pointer-events:none}.immersive .project-copy{position:absolute;left:var(--gutter);top:37%;width:30%;z-index:3;opacity:0;pointer-events:auto;will-change:transform,opacity}.immersive .showcase-ai-7-days .project-copy h3{font-size:clamp(44px,4.7vw,78px)}.immersive .project-image-window{position:absolute;left:36%;right:var(--gutter);top:24%;bottom:15%;overflow:hidden;pointer-events:none}.immersive .project-image{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;will-change:transform;transform:translateY(105%)}.immersive .project-image img{width:100%;height:100%;object-fit:contain}.immersive .showcase-ai-7-days .project-image{background:#0a0b0f}.immersive .showcase-qingke .project-image{background:#eae8e0}.immersive .showcase-siqi .project-image{background:#ac8962}.immersive .showcase-ankole .project-image{background:#234238}.immersive .showcase-project[inert]{pointer-events:none}.immersive .showcase-project[inert] .project-copy,.immersive .showcase-project[inert] .project-image{pointer-events:none}.immersive .showcase-project.is-active .project-copy{opacity:1}.immersive .showcase-bottom{position:absolute;bottom:5%;left:var(--gutter);right:var(--gutter);z-index:5}.immersive .project-dots{display:flex}.immersive .qingke-cover-label{top:30%;left:5%}.project-cursor{position:fixed;left:0;top:0;width:132px;height:132px;z-index:60;background:var(--paper);color:var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;font-size:12px;pointer-events:none;opacity:0;transform:translate(-300px,-300px);transition:opacity .15s}.project-cursor .cursor-arrow{font-size:32px;font-weight:300}.project-cursor.is-visible{opacity:1}
.paper-section{background:var(--paper);padding:80px var(--gutter)}.section-kicker{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.055em;position:relative;z-index:2}.section-kicker>span:last-child{font-size:11px;letter-spacing:0}.intro{padding-top:100px;padding-bottom:115px}.intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;margin-top:65px;align-items:start}.intro h2{font-size:clamp(50px,5.4vw,88px);line-height:1.24}.intro h2 em{color:#929c86}.intro-copy{max-width:500px;padding-top:10px}.intro-copy .lead{font-size:clamp(25px,2.4vw,37px);line-height:1.5;margin-bottom:28px;color:var(--ink)}.intro-copy p{font-size:15px;line-height:2;color:var(--muted);margin-bottom:20px}.line-link{display:inline-flex;gap:48px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}.line-link span{font-size:24px}.services{padding-top:35px;padding-bottom:120px}.services-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:55px 0 65px}.services-heading h2{font-size:clamp(38px,4.7vw,76px);line-height:1.3}.services-heading h2 em{color:#859077}.services-heading p{font-size:13px;color:var(--muted);line-height:1.9;max-width:220px;padding-bottom:10px}.service-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-columns article{border-left:1px solid var(--line);padding-left:30px;min-width:0}.service-number{font-size:clamp(64px,8vw,130px);letter-spacing:-.075em;line-height:1.1;display:flex;align-items:center;justify-content:space-between}.service-number span{font-size:42px;letter-spacing:0;font-weight:300;margin-right:8px}.service-columns h3{font-size:30px;margin:26px 0 10px}.service-en{font-size:9px;letter-spacing:.07em;color:var(--muted)}.service-columns p{font-size:13px;line-height:1.9;color:var(--muted);max-width:310px;margin:35px 0 25px}.service-columns ul{list-style:none;margin:0;padding:0;font-size:15px;line-height:1.85}
.method{position:relative;background:#e1e7d4}.method-stage{position:relative;overflow:hidden;padding:60px var(--gutter) 90px}.method-background{position:absolute;inset:0;width:100%;height:100%;display:none;pointer-events:none}.method-background path{fill:none;stroke-linecap:round}.route-ghost{stroke:#bdc9a8;stroke-width:1}.route-active{stroke:var(--ink);stroke-width:8}.method-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:9%;align-items:center;margin-top:65px}.method-heading h2{font-size:clamp(48px,5vw,80px);line-height:1.2}.method-heading p{font-size:13px;line-height:1.85;margin-top:30px}.method-count{display:flex;gap:14px;align-items:center;margin-top:35px;font-size:10px}.method-count b{font-size:25px;font-weight:500}.method-steps article{margin:40px 0}.method-steps article>span{font-size:10px;letter-spacing:.05em}.method-steps h3{font-size:clamp(25px,3.4vw,58px);line-height:1.4;margin:18px 0;white-space:nowrap}.method-steps p{font-size:14px;line-height:1.9;max-width:470px}.immersive .method{height:390svh}.immersive .method-stage{position:sticky;top:0;height:100svh;min-height:650px;padding-block:13vh 0}.immersive .method-background{display:block}.immersive .method-content{position:relative;color:white;mix-blend-mode:difference}.immersive .method-filled .method-content{mix-blend-mode:normal;color:#fff}.immersive .method-grid{margin-top:8vh;grid-template-columns:1fr 1.65fr;gap:8%}.immersive .method-window{position:relative;overflow:hidden;height:62vh;min-height:400px}.immersive .method-steps{position:absolute;left:0;right:0;top:40%;height:200px}.immersive .method-steps article{position:absolute;left:0;right:0;top:0;margin:0;transform-origin:left center;will-change:transform,opacity}.immersive .method-heading{align-self:center}
.studio{position:relative;overflow:hidden;background:#dbe8b5;padding-bottom:45px}.studio-statement{text-align:center;padding:100px 0 105px;position:relative;z-index:2}.studio-statement>p:first-child{font-size:9px;letter-spacing:.09em}.studio-statement h2{font-size:clamp(50px,6.4vw,102px);line-height:1.23;font-weight:650;margin:38px 0 30px}.studio-statement h2 span{display:block}.studio-statement h2 em{color:#769563}.studio-statement>p:last-child{font-size:14px;line-height:1.85}.studio-orbit{position:absolute;left:50%;top:50%;width:75vw;height:35vw;transform:translate(-50%,-50%) rotate(-20deg);pointer-events:none}.studio-orbit i{display:block;position:absolute;inset:0;border:1px solid #4665431a;border-radius:50%}.studio-orbit i:nth-child(2){transform:rotate(40deg)}.studio-orbit i:nth-child(3){transform:rotate(80deg)}.studio-bottom{display:flex;justify-content:space-between;position:relative;z-index:2;font-size:9px;letter-spacing:.06em;line-height:1.8}.studio-bottom p{font-size:11px;letter-spacing:0}
.faq{background:var(--paper);padding:100px var(--gutter) 110px}.faq-heading,.faq-list{max-width:930px;margin:auto}.faq-heading>p:first-child{font-size:10px;letter-spacing:.06em}.faq-heading h2{font-size:clamp(45px,5vw,72px);margin:30px 0 17px}.faq-heading>p:last-child{font-size:14px;color:var(--muted)}.faq-list{margin-top:48px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;gap:25px;padding:25px 0;list-style:none;cursor:pointer;font-size:18px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:10px;color:var(--muted)}.faq-list summary b{font-size:26px;font-weight:300;margin-left:auto;transition:transform .2s}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details p{padding:0 60px 28px 41px;font-size:14px;line-height:1.95;color:var(--muted);max-width:830px}.faq-list details[open]{background:#edf0e577}
.contact{position:relative;overflow:hidden;padding:70px var(--gutter) 100px;background:#17382b;color:var(--paper)}.contact-content{position:relative;z-index:2;text-align:center;padding:90px 0 10px}.contact-content>p{font-size:13px;color:#dce6d6}.contact h2{font-size:clamp(45px,5.7vw,88px);line-height:1.3;margin:30px 0 45px;font-weight:500}.contact h2 em{color:#d5e8b7}.contact-cta{display:inline-flex;align-items:center;gap:35px;background:var(--accent);color:var(--ink);border-radius:100px;padding:12px 15px 12px 28px;font-size:14px}.contact-cta>span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #19352c55;border-radius:50%;font-size:24px;transition:transform .3s}.contact-cta:hover>span{transform:rotate(45deg)}.contact-orbit{position:absolute;width:110vw;height:50vw;left:-10vw;top:10%;transform:rotate(-20deg);opacity:.35}.contact-orbit i{position:absolute;inset:0;border:1px solid #d4e7bf4a;border-radius:50%}.contact-orbit i:nth-child(2){transform:rotate(30deg)}.contact-orbit i:nth-child(3){transform:rotate(-30deg)}
.footer{background:var(--paper);padding:70px var(--gutter) 25px;overflow:hidden}.footer-top{display:grid;grid-template-columns:1.6fr .7fr 1fr;gap:60px}.footer-top>p{font-size:clamp(25px,2.6vw,42px);line-height:1.4;font-weight:600;letter-spacing:-.04em}.footer-top nav{display:flex;flex-direction:column;gap:12px;font-size:13px}.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:15px;font-size:13px;justify-self:end}.footer-contact>span{font-size:9px;letter-spacing:.06em;color:var(--muted)}.footer-contact button{padding:0;font-size:17px}.footer-wordmark{font-size:clamp(56px,13.15vw,245px);white-space:nowrap;font-weight:720;line-height:1;margin:70px 0 45px;letter-spacing:.02em;color:#d1dec0;text-align:center}.footer-legal{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:.03em;color:var(--muted)}
.menu-dialog{position:fixed;inset:0 0 auto 0;width:100%;max-width:none;margin:0;padding:26px var(--gutter) 30px;color:var(--ink);background:var(--paper);border:0}.menu-dialog::backdrop,.contact-dialog::backdrop{background:#08180fb3;backdrop-filter:blur(8px)}.menu-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.05em}.dialog-close{display:grid;place-items:center;font-size:34px;font-weight:300;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;padding:0}.menu-dialog nav{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 50px;margin:25px 0 35px}.menu-dialog nav a{display:flex;align-items:center;gap:15px;font-size:25px}.menu-dialog nav small{font-size:9px;color:var(--muted)}.menu-dialog nav a>span{margin-left:auto;font-size:25px}.menu-dialog>p{font-size:10px;color:var(--muted)}.contact-dialog{position:fixed;inset:0;margin:auto;width:min(510px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:42px 45px 30px;border:0;background:var(--paper);color:var(--ink);text-align:center;overflow:auto}.contact-dialog .dialog-close{position:absolute;right:15px;top:15px;width:36px;height:36px;font-size:27px}.contact-dialog>.mono{font-size:9px;letter-spacing:.06em;margin:17px 0}.contact-dialog h2{font-size:30px;font-weight:650;letter-spacing:-.04em;margin-bottom:16px}.contact-dialog>p:not(.mono,.wechat-label,.copy-status){font-size:12px;color:var(--muted);line-height:1.7}.contact-dialog>img{width:210px;height:210px;object-fit:contain;margin:25px auto 17px}.wechat-label{font-size:10px;color:var(--muted)}.wechat-number{display:block;font-size:31px;font-weight:600;letter-spacing:.025em;padding:9px 0 17px;margin:auto}.contact-dialog .pill{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:13px 23px;background:var(--ink);color:var(--paper);border-radius:30px;font-size:13px}.copy-status{font-size:12px;line-height:1.6;min-height:20px;margin-top:17px;color:var(--muted)}
@media(hover:hover) and (pointer:fine){.immersive .project-image-arrow{opacity:0}.immersive .project-image:focus-visible .project-image-arrow{opacity:1}.project-image:hover{cursor:none}.motion-paused .project-image:hover{cursor:pointer}}
@media(min-width:1800px){.immersive .project-image-window{left:37%;right:8%}.immersive .project-copy{left:8%}.immersive .qingke-cover-label strong{font-size:45px}}
@media(max-height:760px) and (min-width:960px){.hero{min-height:650px}.hero-chinese{font-size:min(7.1vw,100px)}.hero-english{font-size:min(6.5vw,94px)}.hero-summary{margin-top:24px}.hero-center{top:48%}.immersive .showcase-stage,.immersive .method-stage{min-height:570px}.immersive .project-copy{top:34%}.project-description{margin-top:20px}.project-copy h3{font-size:65px}.immersive .method-grid{margin-top:4vh}.method-heading h2{font-size:60px}.immersive .method-window{min-height:330px}.method-steps h3{font-size:43px}}
@media(max-width:959px){.site-header{grid-template-columns:1fr auto;padding:24px var(--gutter)}.desktop-nav{display:none}.location{display:none}.hero{min-height:650px;height:92svh}.hero-center{top:48%}.hero-chinese{font-size:clamp(54px,8.6vw,85px)}.hero-english{font-size:clamp(52px,7.8vw,78px)}.hero-bottom>span:first-child{font-size:8px}.lens-hint{display:none}.showcase{background:transparent}.showcase-stage{padding-top:65px}.showcase-top{margin-bottom:55px}.showcase-project{display:flex;flex-direction:column;align-items:stretch;gap:25px;margin:0 calc(-1*var(--gutter)) 70px;padding:45px var(--gutter);background:var(--project-bg)}.showcase-project:last-child{margin-bottom:25px}.project-copy h3{font-size:53px}.project-category{margin-bottom:16px}.project-description{font-size:14px;margin-top:20px}.project-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.project-copy h3,.project-copy>.project-category,.project-copy>.project-en{grid-column:1}.project-copy .project-description{grid-column:2;grid-row:2/4;align-self:center;margin-top:0}.project-text-link{grid-column:2;max-width:200px;margin-top:10px}.project-image{width:100%}.qingke-cover-label strong{font-size:clamp(26px,4vw,40px)}.qingke-cover-label>span{font-size:11px}.qingke-cover-label small{font-size:8px}.showcase-bottom{justify-content:flex-end}.intro-grid{gap:7%;grid-template-columns:1fr 1fr}.intro h2{font-size:48px}.intro-copy .lead{font-size:26px}.intro-copy p{font-size:13px}.service-columns{gap:25px}.service-columns article{padding-left:20px}.service-columns h3{font-size:25px}.service-columns ul{font-size:13px}.services-heading h2{font-size:42px}.method-grid{gap:8%;grid-template-columns:.85fr 1.2fr}.method-heading h2{font-size:47px}.method-steps h3{font-size:28px}.method-steps p{font-size:13px}.method-steps article{margin-bottom:40px}.studio-statement{padding:70px 0}.footer-top{gap:30px}.footer-wordmark{margin-block:55px 35px}}
@media(max-width:600px){:root{--gutter:24px}html{scroll-padding-top:80px}.site-header{padding:20px 24px}.wordmark strong{font-size:31px}.wordmark>span{font-size:8px}.header-end{gap:6px}.motion-toggle,.menu-toggle{width:40px;height:40px}.hero{height:94svh;min-height:620px}.hero-center{top:47%}.hero-titles{width:100%;padding-inline:19px}.hero-chinese{font-size:clamp(39px,10.9vw,66px);line-height:1.35;letter-spacing:-.055em}.hero-chinese>span:last-child{margin-left:0}.hero-english{font-size:clamp(37px,10.2vw,61px);padding-inline:18px;line-height:1.2}.hero-summary{flex-direction:column;gap:25px;margin-top:28px}.hero-summary p{text-align:center;font-size:12px}.round-link{gap:22px}.round-link span{width:42px;height:42px;font-size:20px}.hero-bottom{bottom:24px;font-size:8px}.hero-bottom a{font-size:10px;gap:18px}.hero-bottom a span{font-size:24px}.showcase-stage{padding-top:40px;padding-bottom:36px}.showcase-top{gap:15px;margin-bottom:30px}.showcase-top h2{font-size:17px}.showcase-top h2 span{display:block;margin:8px 0 0;font-size:8px}.showcase-count{font-size:9px}.showcase-project{margin-bottom:24px;padding-block:35px 32px;gap:28px}.project-copy{display:block}.project-copy h3{font-size:49px}.project-category{font-size:8px}.project-en{font-size:8px}.project-copy .project-description{font-size:13px;margin-top:20px}.project-text-link{margin-top:16px;font-size:11px}.project-image-window{margin:0 -24px}.project-image-arrow{right:15px;bottom:15px;width:38px;height:38px;font-size:23px}.qingke-cover-label strong{font-size:clamp(20px,6vw,34px);margin-top:12px}.qingke-cover-label>span{font-size:8px}.qingke-cover-label i{margin:12px 0 7px}.qingke-cover-label small{font-size:5px}.qingke-cover-label{left:5%;top:25%}.project-cursor{display:none}.paper-section{padding:58px 24px}.section-kicker{font-size:8px}.section-kicker>span:last-child{font-size:9px}.intro-grid{display:block;margin-top:38px}.intro h2{font-size:49px;line-height:1.25}.intro-copy{margin-top:40px;padding:0}.intro-copy .lead{font-size:25px}.intro-copy p{font-size:14px}.services{padding-top:30px;padding-bottom:65px}.services-heading{display:block;margin:35px 0 40px}.services-heading h2{font-size:36px;line-height:1.4}.services-heading p{margin-top:20px;font-size:12px}.service-columns{grid-template-columns:1fr;gap:40px}.service-columns article{padding:24px 0 0;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.service-number{font-size:72px;grid-column:1;grid-row:1/3}.service-number span{display:none}.service-columns h3{grid-column:2;grid-row:1;margin:10px 0 7px;font-size:26px}.service-en{grid-column:2;grid-row:2;font-size:8px}.service-columns p{grid-column:1;grid-row:3;margin:22px 0 0;font-size:12px}.service-columns ul{grid-column:2;grid-row:3;margin-top:22px;font-size:12px;line-height:1.9}.method-stage{padding:50px 24px 55px}.method-grid{display:block;margin-top:35px}.method-heading h2{font-size:43px}.method-heading p{font-size:12px;margin-top:20px}.method-count{display:none}.method-window{margin-top:40px}.method-steps article{border-top:1px solid #19352c30;padding-top:25px;margin-bottom:30px}.method-steps article:last-child{margin-bottom:0}.method-steps h3{font-size:26px;margin:12px 0}.method-steps article>span{font-size:9px}.method-steps p{font-size:13px}.studio-statement{padding:70px 0}.studio-statement h2{font-size:clamp(38px,10vw,54px);margin-block:26px}.studio-statement>p:first-child{font-size:7px}.studio-statement>p:last-child{font-size:12px}.studio-orbit{width:150vw;height:80vw}.studio-bottom{font-size:7px;gap:15px;align-items:flex-end}.studio-bottom p{font-size:9px}.faq{padding:65px 24px}.faq-heading h2{font-size:43px;margin-top:25px}.faq-heading>p:first-child{font-size:8px}.faq-heading>p:last-child{font-size:12px}.faq-list{margin-top:35px}.faq-list summary{font-size:14px;gap:13px;padding:21px 0;line-height:1.5}.faq-list summary>span{font-size:8px}.faq-list summary b{font-size:23px;flex:none}.faq-list details p{padding:0 15px 24px 24px;font-size:13px}.contact{padding:45px 24px 75px}.contact .section-kicker>span:last-child{display:none}.contact-content{padding-top:65px}.contact-content>p{font-size:10px}.contact h2{font-size:clamp(29px,7.8vw,45px);line-height:1.4;margin:25px 0 32px;letter-spacing:-.055em}.contact-cta{font-size:12px;gap:20px;padding:9px 10px 9px 23px}.contact-cta>span{width:38px;height:38px;font-size:23px}.contact-orbit{width:180vw;height:110vw;left:-40vw;top:20%}.footer{padding:48px 24px 25px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>p{grid-column:1/-1;font-size:28px}.footer-top nav{font-size:12px}.footer-contact{font-size:12px;justify-self:start}.footer-contact>span{font-size:8px}.footer-contact button{font-size:15px}.footer-wordmark{font-size:12.6vw;letter-spacing:.01em;margin:45px 0 25px}.footer-legal{flex-wrap:wrap;font-size:7px;gap:12px;line-height:1.5}.footer-legal>span:nth-child(2){display:none}.footer-legal a{margin-left:auto}.menu-dialog{padding:20px 24px 30px}.menu-dialog nav{grid-template-columns:1fr 1fr;gap:26px 25px}.menu-dialog nav a{font-size:18px;gap:10px}.menu-dialog nav small{font-size:7px}.menu-dialog nav a>span{font-size:18px}.menu-top{font-size:8px}.dialog-close{width:40px;height:40px;font-size:28px}.contact-dialog{padding:40px 25px 25px}.contact-dialog h2{font-size:27px}.contact-dialog>img{width:190px;height:190px}.wechat-number{font-size:29px}.contact-dialog>.mono{font-size:8px}.contact-dialog>p:not(.mono,.wechat-label,.copy-status){font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.lens-ring,.hero-english,.project-cursor{display:none}.hero-chinese{-webkit-mask-image:none!important;mask-image:none!important}.lens-hint{visibility:hidden}}
/* Keep navigation white on project worlds and ink on editorial sections. */
.site-header{mix-blend-mode:normal}.site-header.on-paper{color:var(--ink)}.site-header.on-paper .motion-toggle,.site-header.on-paper .menu-toggle{border-color:var(--line)}.site-header.on-paper.is-scrolled .menu-toggle{background:var(--ink);color:var(--paper)}.site-header.on-paper .desktop-nav a::after,.site-header.on-paper .desktop-nav button::after{background:var(--ink)}
.lens-ring{border-color:#ffffff4a;box-shadow:inset 1px 1px 3px #e8ffe74d,inset -1px -1px 3px #76b9b940,0 0 1px #fff8;backdrop-filter:brightness(1.04) saturate(.96)}
.method-stage{background:#e1e7d4}
.site-header.is-scrolled .wordmark{opacity:0;visibility:hidden;pointer-events:none}.menu-dialog nav a{min-height:44px}.menu-top>a{padding-block:13px}
@media(max-width:600px){.motion-toggle,.menu-toggle,.dialog-close,.contact-dialog .dialog-close{min-width:44px;min-height:44px}.header-end{gap:8px}}
/* A broad, soft exposure correction keeps white display type readable over the light bands. */
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 12%,#031d1740 34%,#031d1740 61%,transparent 88%);pointer-events:none}
/* The shared 16:9 window follows the image rather than stretching to the viewport height. */
.immersive .project-image-window{top:50%;bottom:auto;aspect-ratio:16/9;transform:translateY(-43%)}
/* The ruler shares the images' continuous scroll position; labels appear only on intent. */
.project-ruler{display:none;--ruler-progress:0}
.immersive .showcase-stage{--work-copy-left:calc(var(--gutter) + 48px)}
.immersive .showcase-top,.immersive .project-copy{left:var(--work-copy-left)}
.immersive .project-copy{width:calc(30% - 48px)}
.immersive .showcase-bottom{justify-content:flex-end}
.immersive .project-ruler{display:block;position:absolute;left:calc(var(--gutter) - 16px);top:30%;width:44px;height:50%;max-height:440px;z-index:8;color:#fff}
.ruler-ticks{position:absolute;inset:0;pointer-events:none}
.ruler-ticks i{position:absolute;left:22px;top:calc(var(--tick)*100%);width:1px;height:1px;background:currentColor;opacity:.5;transform:translateY(-50%)}
.ruler-ticks .is-major{width:6px;opacity:.95}
.ruler-marker{position:absolute;left:8px;top:calc(var(--ruler-progress)*100%);width:5px;height:6px;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%);transform:translateY(-50%);pointer-events:none}
.ruler-stop{position:absolute;left:0;top:calc(var(--stop)*100%);width:44px;height:44px;padding:0;transform:translateY(-50%);border-radius:50%}
.ruler-stop::after{content:'';position:absolute;left:22px;top:21px;width:6px;height:1px;background:currentColor;transform-origin:left;transition:transform .2s,opacity .2s;opacity:0}
.ruler-stop[aria-current]::after,.ruler-stop:hover::after,.ruler-stop:focus-visible::after{opacity:1;transform:scaleX(1.5)}
.ruler-stop:focus-visible{outline:1px solid #fff;outline-offset:0;background:#0e292b66}
.ruler-label{position:absolute;left:43px;top:50%;transform:translate(5px,-50%);display:block;padding:7px 9px;border-radius:2px;background:#102d2ee8;color:#fff;font-size:10px;letter-spacing:.04em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}
.ruler-label b{font-weight:400;opacity:.6;margin-right:6px}
.ruler-stop:hover .ruler-label,.ruler-stop:focus-visible .ruler-label{opacity:1;transform:translate(0,-50%)}

/* One continuous opening: the hero stays behind the incoming exhibition. */
.opening{position:relative}.project-display-title{display:none}
.hero-titles{--lens-radius:125px}.lens-ring{width:250px;height:250px}
.hero-refraction{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;z-index:2}
.lens-ready .hero-english{visibility:hidden}
.hero:not(.lens-active) .hero-refraction{visibility:hidden}
.flow-shade{background:linear-gradient(90deg,#00000012,transparent 70%)}
.hero::before{background:none}
/* Keep small white labels readable when the live colour field passes behind them. */
.hero-summary,.hero-bottom{text-shadow:0 1px 4px #001b13d9}
.hero-summary p,.hero-bottom .lens-hint{color:#fff;font-weight:500}
.immersive .hero{position:sticky;top:0;height:100svh;min-height:0;z-index:1;will-change:opacity}
.immersive .hero-chinese{font-weight:400;font-size:clamp(65px,6.65vw,112px);line-height:1.25}
.immersive .hero-center{top:48%}
.immersive .showcase{margin-top:-100svh;height:calc((1 + var(--desktop-work-travel,4.6))*100svh);z-index:2;pointer-events:none;--work-enter-y:100vh;--work-visible:0}
.immersive .showcase-stage{--work-copy-left:15.5vw;pointer-events:none}
.immersive .showcase-stage::before{display:none}
.immersive .showcase-top{top:calc(50% - 155px);left:var(--work-copy-left);right:8vw;transform:translateY(var(--work-enter-y));opacity:var(--work-visible)}
.immersive .showcase-top h2{font-size:11px;font-weight:400}
.immersive .showcase-top h2 span{font-size:8px;margin-left:15px}
.immersive .showcase-count{font-size:9px}
.immersive .project-image-window{left:27%;right:auto;width:50%;top:50%;bottom:auto;aspect-ratio:16/9;transform:translateY(calc(-50% + var(--work-enter-y)))}
.immersive .project-copy{left:var(--work-copy-left);top:calc(50% - 116px);width:42%;display:flex;flex-direction:column;align-items:flex-start;pointer-events:none;text-shadow:0 1px 12px #0008}
.immersive .showcase-qingke .project-copy{mix-blend-mode:difference;text-shadow:none}
.immersive .project-copy h3,.immersive .showcase-ai-7-days .project-copy h3{font-size:clamp(27px,2.65vw,44px);line-height:1.2;letter-spacing:-.035em;white-space:normal;font-weight:450;order:0}
.immersive .project-name{display:block}.immersive .project-display-title{display:block}
.immersive .project-copy .project-category{order:1;margin:22px 0 0;font-size:9px;letter-spacing:.1em}
.immersive .project-copy .project-en,.immersive .project-copy .project-description{display:none}
.immersive .project-text-link{order:2;pointer-events:auto;font-size:10px;margin-top:16px;gap:28px;opacity:.85}
.immersive .showcase-bottom{bottom:6%;left:27%;right:23%;justify-content:center;opacity:var(--work-visible);transform:translateY(var(--work-enter-y));pointer-events:none}
.immersive .all-projects{pointer-events:auto;font-size:10px;padding:9px 15px;border:1px solid #ffffff80;border-radius:40px;gap:14px}
.immersive .all-projects b{font-size:17px;margin-left:0}
.immersive .project-ruler{left:calc(12.7vw - 22px);top:calc(50% - 155px);height:49%;max-height:430px;opacity:var(--work-visible);transform:translateY(var(--work-enter-y));pointer-events:auto}
.immersive .qingke-cover-label{left:5%;top:36%}.immersive .qingke-cover-label strong{font-size:clamp(18px,1.8vw,32px);margin-top:11px}.immersive .qingke-cover-label i{margin:12px 0 7px}
.project-cursor{transition:opacity .18s,scale .25s cubic-bezier(.2,.8,.2,1);scale:.25;transform-origin:center}.project-cursor.is-visible{scale:1}
.lens-ring{border-color:#ffffff25;box-shadow:inset 1px -2px 3px #ffffff50,inset -1px 1px 4px #00000066;backdrop-filter:none}
@media(prefers-reduced-motion:reduce){.hero-refraction{display:none}.lens-ready .hero-english{visibility:visible}}

.immersive .hero-summary,.immersive .hero-bottom{opacity:var(--hero-details-opacity,1)}
.immersive .project-copy[inert] .project-text-link{pointer-events:none}

/* The crossing project heading occupies the cover's original title space. */
.immersive .qingke-cover-label{display:none}

/* Voice review refinement: one motion language, September 9. */
.desktop-nav{font-weight:650}
.hero-chinese>span:last-child{margin-left:0}
.hero-chinese{padding-bottom:0}
.hero-chinese>span,.hero-english>span{will-change:transform}
.hero-titles{--lens-radius:125px}
.lens-ring{width:250px;height:250px;border-color:#ffffff18;box-shadow:inset 1px -1px 2px #ffffff40,inset -1px 1px 2px #00000035}
.immersive .hero-center{top:50%}
.immersive .hero-summary{position:absolute;top:100%;left:0;right:0;margin-top:38px}
.immersive .hero-chinese{font-size:clamp(65px,6.65vw,112px);line-height:1.24}
.immersive .hero-english{line-height:1.24}

.immersive .showcase{overflow:clip}
.immersive .showcase-stage{--work-copy-left:15vw;will-change:transform}
.immersive .showcase-top{top:11.5%;left:var(--work-copy-left);right:8vw}
.immersive .showcase-top h2{font-weight:600}
.immersive .project-ruler{top:11.5%;height:64%;max-height:none;left:calc(12.2vw - 22px)}
.immersive .project-copy{top:17%;width:49%;mix-blend-mode:normal}
.immersive .project-copy h3,.immersive .showcase-ai-7-days .project-copy h3{font-size:clamp(29px,2.65vw,46px);font-weight:500;line-height:1.25}
.immersive .project-image-window{left:26%;width:min(60vw,108vh);right:auto;top:55%;aspect-ratio:16/9}
.immersive .project-image{will-change:transform,clip-path}
.immersive .project-copy .project-category{margin-top:16px}
.immersive .project-text-link{margin-top:12px;gap:24px}
.immersive .showcase-bottom{left:26%;right:14%;bottom:6%}
.immersive .all-projects{padding:12px 20px;gap:15px;font-weight:500}
.all-projects{position:relative;isolation:isolate;overflow:hidden;transition:color .28s,border-color .28s,box-shadow .3s}
.all-projects::before{content:'';position:absolute;inset:-1px;background:#fff;border-radius:inherit;z-index:-1;transform:translateY(105%);transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.all-projects b{transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.all-projects:is(:hover,:focus-visible){color:#163428;border-color:#fff;box-shadow:0 8px 28px #00000012}
.all-projects:is(:hover,:focus-visible)::before{transform:translateY(0)}
.all-projects:is(:hover,:focus-visible) b{transform:translateX(5px)}
.project-cursor{background:none;scale:1;opacity:1;transition:none;display:block}
.project-cursor.is-visible{scale:1}
.cursor-disc{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-radius:50%;background:#fff;color:#17352b;opacity:0;transform:scale(0);transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .18s;transform-origin:center;box-shadow:0 6px 28px #0000000c}
.project-cursor.is-visible .cursor-disc{opacity:1;transform:scale(1)}

.paper-section,.faq,.footer{background:#f3f4ed}
.intro,.services,.faq{position:relative;isolation:isolate}
.intro::before,.faq::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 0%,#b5c99b38,transparent 60%)}
.intro{padding-top:clamp(85px,10vw,145px);padding-bottom:90px;z-index:3}
.intro-grid{grid-template-columns:1.05fr 1fr;gap:7%;max-width:1240px;margin:60px auto 0}
.intro h2{font-weight:500;letter-spacing:-.045em}
.intro-copy p{color:#536452}
.services{padding-bottom:clamp(80px,9vw,130px)}
.services-heading h2,.faq-heading h2{font-weight:500;letter-spacing:-.045em}
.services-heading{margin-top:45px}
.service-columns{gap:32px}
.service-columns article{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}
.service-number{font-size:clamp(54px,6.5vw,100px);font-weight:400}
.service-number span{font-size:30px}
.service-columns h3{font-weight:550}
.service-columns p{margin-top:24px;color:#536452}
.faq-heading,.faq-list{max-width:980px}
.faq{padding-block:100px}
.faq-list summary{transition:background .25s,color .25s;padding-inline:12px}
.faq-list summary:hover{background:#e6ebdc}

.immersive .method{background:transparent;height:420svh}
.immersive .method-stage{height:100svh;min-height:0;padding:0;background:transparent}
.immersive .method-background{display:none}
.flow-fallback.immersive .method-stage{background:#e1e7d4}
.flow-fallback.immersive .method-background{display:block;filter:blur(12px)}
.immersive .method-content{position:absolute;inset:0;padding:8vh var(--gutter);mix-blend-mode:normal;color:var(--method-ink,#19352c)}
.immersive .method-grid{display:block;margin:0}
.immersive .method-heading{position:absolute;left:var(--gutter);top:50%;width:31%;transform:translateY(-50%)}
.immersive .method-heading h2{font-size:clamp(58px,6.15vw,102px);font-weight:550;letter-spacing:-.05em;line-height:1.19}
.immersive .method-heading p{font-size:14px;line-height:1.9;margin-top:28px}
.immersive .method-count{margin-top:28px}
.immersive .method-window{position:absolute;left:43%;right:var(--gutter);top:11%;bottom:10%;height:auto;min-height:0;overflow:hidden;mask-image:linear-gradient(transparent,#000 9%,#000 91%,transparent)}
.immersive .method-steps{top:0;height:100%}
.immersive .method-steps article{top:0;left:0;right:0;padding:0;border:0}
.immersive .method-steps article>span{font-size:11px;font-weight:550}
.immersive .method-steps h3{font-size:clamp(31px,3.3vw,56px);line-height:1.22;margin:17px 0;font-weight:550;letter-spacing:-.045em;white-space:nowrap}
.immersive .method-steps p{font-size:13px;max-width:370px;line-height:1.85}
.immersive .method-filled .method-content{color:#fff;mix-blend-mode:normal}

.studio,.contact{background:transparent;color:#fff;min-height:90svh;isolation:isolate}
.studio::before,.contact::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at center,#071b1466 0%,#071b1415 65%)}
.studio-orbit,.contact-orbit{display:none}
.studio .section-kicker,.contact .section-kicker{position:relative;z-index:2}
.studio{padding-block:8vh 5vh;display:flex;flex-direction:column;justify-content:space-between}
.studio-statement{padding:9vh 0;will-change:transform,opacity}
.studio-statement h2{font-size:clamp(52px,6.65vw,108px);font-weight:550;letter-spacing:-.045em;line-height:1.24;margin-block:35px}
.studio-statement h2 em{color:#d8ebba}
.studio-statement>p:last-child{font-size:15px}
.studio-statement>p:first-child{color:#d9e5d4}
.studio-bottom{color:#dce8d9}
.contact{padding-block:8vh 10vh;display:flex;flex-direction:column;justify-content:space-between}
.contact-content{padding:12vh 0 7vh}
.contact h2{font-size:clamp(42px,5.8vw,96px);font-weight:550;letter-spacing:-.045em}
.contact-cta{background:transparent;border:1px solid #dbe8b599;color:#fff;position:relative;isolation:isolate;overflow:hidden;padding:12px 15px 12px 30px;transition:color .3s,border-color .3s,box-shadow .3s}
.contact-cta::before{content:'';position:absolute;inset:-1px;z-index:-1;background:#e3efce;border-radius:inherit;transform:translateY(105%);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.contact-cta>span{border-color:#ffffff50}
.contact-cta:is(:hover,:focus-visible){color:#163428;border-color:#e3efce;box-shadow:0 0 45px #c8e5a42b}
.contact-cta:is(:hover,:focus-visible)::before{transform:translateY(0)}
.contact-cta:is(:hover,:focus-visible)>span{transform:rotate(-35deg);border-color:#17352b50}
.footer-wordmark{color:#d1dec0}

@media(max-width:959px){
  .hero-center{top:48%}.hero-summary{position:static;margin-top:30px}
  .studio,.contact{min-height:750px}
  .studio-statement{padding:95px 0}
  .method-heading h2{font-weight:550}
}
@media(max-width:600px){
  .hero-center{top:46%}.hero-chinese{font-size:clamp(39px,10.9vw,66px)}
  .studio,.contact{min-height:680px;padding-block:55px}
  .studio-statement h2{font-size:clamp(38px,10vw,54px)}
  .studio-statement>p:last-child{font-size:13px}
  .contact h2{font-size:clamp(29px,7.8vw,45px)}
  .contact-content{padding-block:65px 40px}
  .intro{padding-block:65px}.intro-grid{margin-top:40px}
  .service-columns article{padding-top:24px}.service-number{font-size:72px}
  .faq{padding-block:70px}.faq-list summary{padding-inline:0}
  .project-cursor{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .all-projects,.all-projects::before,.all-projects b,.cursor-disc,.contact-cta,.contact-cta::before,.contact-cta>span{transition:none}
  .hero-chinese>span,.hero-english>span{will-change:auto}
}
.flow-fallback.immersive .method-content{color:#19352c}
.flow-fallback.immersive .method-filled .method-content{color:#fff}
/* Keep type legible on both sides of the growing light/dark flow. */
.immersive .method-content{color:#fff;mix-blend-mode:difference}
.immersive .method-filled .method-content{color:#fff;mix-blend-mode:normal}
.flow-fallback.immersive .method-content{color:#19352c;mix-blend-mode:normal}
.flow-fallback.immersive .method-filled .method-content{color:#fff}
/* Blend the complete transparent process stage with the shared canvas beneath it. */
main{z-index:auto}
.immersive .method-stage{mix-blend-mode:difference}
.immersive .method-content{mix-blend-mode:normal}
.immersive .method-filled,.flow-fallback.immersive .method-stage{mix-blend-mode:normal}
/* Centre the headline itself on compact screens as well. */
@media(max-width:959px){
  .hero{height:100svh}
  .hero-center{top:50%}
  .hero-summary{position:absolute;top:100%;left:0;right:0;margin-top:30px}
  .showcase-count{display:none}
}
body:not(.immersive) .showcase-count{display:none}
.immersive .showcase-ai-7-days .project-image{background:#000}

/* Evening review: the caption, ruler and cover share one upper edge. */
.immersive .showcase-stage{--work-window-width:min(60vw,104svh);--work-window-height:calc(var(--work-window-width)*.5625);--work-window-top:calc(50svh - var(--work-window-height)*.5);--work-copy-left:15vw}
.immersive .project-image-window{left:27%;width:var(--work-window-width);top:var(--work-window-top);transform:translateY(var(--work-enter-y))}
.immersive .showcase-ankole .project-image img{object-fit:cover;object-position:center}
.immersive .showcase-top{top:var(--work-window-top)}
.immersive .showcase-top h2{font-size:12px;font-weight:550}
.immersive .showcase-top h2 span{font-size:9px}
.immersive .project-copy{top:calc(var(--work-window-top) + 41px);width:43%;text-shadow:0 1px 6px #0009}
.immersive .showcase-qingke .project-copy{mix-blend-mode:normal;color:#fff;text-shadow:0 1px 6px #0009}
.immersive .project-copy h3,.immersive .showcase-ai-7-days .project-copy h3{font-size:clamp(29px,2.48vw,42px);font-weight:450;line-height:1.25;letter-spacing:-.025em}
.immersive .project-copy .project-category{font-size:10px;letter-spacing:.1em;margin-top:20px}
.immersive .project-text-link{display:none}
.immersive .showcase-qingke .project-image::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,#00151ccc 0%,#00151c65 20%,transparent 49%)}
.immersive .project-ruler{top:var(--work-window-top);height:var(--work-window-height);left:calc(12.2vw - 22px)}
.ruler-ticks i{width:2px;height:2px;opacity:.76;border-radius:1px}
.ruler-ticks .is-major{width:8px;height:2px;opacity:1}
.ruler-marker{left:6px;width:7px;height:8px}
.ruler-stop::after{height:2px;width:8px}
.immersive .showcase-bottom{left:0;right:0;bottom:4.5svh;justify-content:center}
.immersive .all-projects{font-size:11px;padding:13px 21px}
/* Latin letters need their own tracking; the Chinese display setting closes ct/ts. */
.hero-english{letter-spacing:0;font-kerning:normal}

/* Keep the Ankole caption on the dark side of its approved light-background cover. */
@media(min-width:768px){.immersive .showcase-ankole .project-display-title{max-width:4.3em}}

/* Touch exhibition: one native-scroll stage, independent of desktop layout. */
.mobile-work-hint{display:none}
.mobile-showcase .showcase{
  height:calc(100svh + var(--mobile-work-travel)*100svh);
  background:transparent;
  overflow:clip;
}
.mobile-showcase .showcase-stage{
  --mobile-image-width:min(calc(100vw - 64px),640px,60svh);
  --mobile-image-height:calc(var(--mobile-image-width)*.5625);
  --mobile-image-top:calc(52svh - var(--mobile-image-height)*.5);
  --mobile-content-left:calc((100vw - var(--mobile-image-width))*.5 + 12px);
  position:sticky;top:0;height:100svh;min-height:0;padding:0;
  isolation:isolate;overflow:hidden;
}
.mobile-showcase .showcase-stage::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,#00151048,transparent 55%,#00151035);
}
.mobile-showcase .showcase-top{
  position:absolute;top:calc(var(--mobile-image-top) - 169px);
  left:var(--mobile-content-left);right:22px;margin:0;z-index:3;
  text-shadow:0 1px 5px #001b13;
}
.mobile-showcase .showcase-top h2{font-size:12px;font-weight:550}
.mobile-showcase .showcase-top h2 span{display:block;margin:5px 0 0;font-size:8px;letter-spacing:.08em}
body.mobile-showcase .showcase-count{display:block;font-size:10px}
.mobile-showcase .showcase-projects{position:absolute;inset:0;pointer-events:none}
.mobile-showcase .showcase-project{
  position:absolute;inset:0;display:block;margin:0;padding:0;background:none;
  pointer-events:none;
}
.mobile-showcase .project-copy{
  position:absolute;top:calc(var(--mobile-image-top) - 120px);
  left:var(--mobile-content-left);right:22px;display:flex;flex-direction:column;
  pointer-events:none;text-shadow:0 1px 5px #001b13cc;will-change:transform,opacity;
}
.mobile-showcase .project-copy h3{order:0;font-size:32px;line-height:1.18;letter-spacing:-.03em;white-space:normal;font-weight:500}
.mobile-showcase .project-name{display:block}
.mobile-showcase .project-display-title{display:block;font-size:20px;line-height:1.4;letter-spacing:0;margin-top:4px}
.mobile-showcase .project-copy .project-category{order:1;font-size:9px;letter-spacing:.06em;margin:10px 0 0}
.mobile-showcase .project-en,.mobile-showcase .project-description,.mobile-showcase .project-text-link,.mobile-showcase .qingke-cover-label{display:none}
.mobile-showcase .project-image-window{
  position:absolute;top:var(--mobile-image-top);left:var(--mobile-content-left);
  width:var(--mobile-image-width);height:var(--mobile-image-height);margin:0;
  overflow:hidden;pointer-events:none;
}
.mobile-showcase .project-image{position:absolute;inset:0;display:block;pointer-events:auto;will-change:transform}
.mobile-showcase .project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.mobile-showcase .project-image-arrow{
  display:grid;place-items:center;right:10px;bottom:10px;width:44px;height:44px;
  font-size:24px;background:#fff;color:#173a30;opacity:1;
}
.mobile-showcase .project-image:focus-visible{outline:2px solid white;outline-offset:-3px}
.mobile-showcase .showcase-project[inert] .project-image{pointer-events:none}
.mobile-showcase .project-ruler{
  display:block;position:absolute;z-index:4;
  left:calc(var(--mobile-content-left) - 44px);top:calc(var(--mobile-image-top) - 114px);
  width:44px;height:calc(var(--mobile-image-height) + 114px);color:#fff;
}
.mobile-showcase .ruler-label{display:none}
.mobile-showcase .ruler-stop:focus-visible{outline-offset:-2px}
.mobile-showcase .showcase-bottom{
  position:absolute;left:0;right:0;bottom:max(30px,env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:16px;z-index:5;
}
.mobile-showcase .mobile-work-hint{display:block;font-size:10px;letter-spacing:.08em;color:#ffffffe0;text-shadow:0 1px 5px #001b13}
.mobile-showcase .all-projects{
  min-height:46px;gap:15px;padding:11px 21px;border:1px solid #ffffff80;
  border-radius:40px;font-size:12px;line-height:1.2;
}
.mobile-showcase .all-projects b{font-size:20px;margin-left:0}
.mobile-showcase .project-cursor{display:none}
@media(max-height:650px){
  .mobile-showcase .showcase-stage{--mobile-image-top:max(232px,calc(54svh - var(--mobile-image-height)*.5))}
  .mobile-showcase .showcase-top{top:calc(var(--mobile-image-top) - 144px)}
  .mobile-showcase .project-copy{top:calc(var(--mobile-image-top) - 98px)}
  .mobile-showcase .project-copy h3{font-size:26px}
  .mobile-showcase .project-display-title{font-size:17px}
  .mobile-showcase .project-copy .project-category{font-size:8px;margin-top:7px}
  .mobile-showcase .project-ruler{top:calc(var(--mobile-image-top) - 95px);height:calc(var(--mobile-image-height) + 95px)}
  .mobile-showcase .showcase-bottom{bottom:max(20px,env(safe-area-inset-bottom));gap:10px}
}

/* Barbie uses the shared full-width cover window; keep the box centered. */
.immersive .showcase-barbie .project-image img{object-fit:cover;object-position:center}
