@font-face{font-family:MiSans;src:local('MiSans')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f7f7f2;color:#22241f;font-family:MiSans,'Microsoft YaHei',sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #315bff;outline-offset:5px}header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedfd7;background:#f7f7f2ed;position:sticky;top:0;z-index:20;backdrop-filter:blur(16px)}.logo{font-size:35px;font-weight:900;letter-spacing:-2px;line-height:.8}.logo>span{font-size:12px;vertical-align:top;letter-spacing:0;margin-left:4px}.logo small{display:block;font-size:8px;letter-spacing:3.1px;margin-top:9px}nav{display:flex;gap:38px;font-size:13px}nav span{font-size:9px;margin-left:4px;color:#777}.contact-link{font-size:12px;border-bottom:1px solid;padding:10px 0}.contact-link span{margin-left:28px}.hero{min-height:690px;display:grid;grid-template-columns:1fr 1.12fr;overflow:hidden;padding:54px 5% 38px;gap:20px}.hero-copy{padding:26px 0 0;position:relative;z-index:2}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;line-height:1.8}.eyebrow i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3154e8;margin-right:8px}h1{font-size:clamp(40px,4.6vw,72px);line-height:1.27;letter-spacing:-3px;font-weight:600;margin:35px 0 22px}.blue{color:#3154e8}h1 .blue{display:block}.intro{color:#777b72;font-size:13px;line-height:2}.primary{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;background:#3154e8;color:white;border:0;padding:18px 24px;font-size:12px;margin-top:25px;transition:background .2s,transform .2s}.primary:hover{background:#203bba;transform:translateY(-2px)}.primary span{font-size:20px}.hero-note{margin-top:66px;display:flex;justify-content:space-between;max-width:440px;font-size:8px;letter-spacing:1.5px;line-height:1.6;color:#868a7f}.scroll{align-self:end}.hero-art{position:relative;min-width:0}.giant-type{position:absolute;left:2%;top:2%;font-size:80px;font-weight:900;color:#e6e7dd;letter-spacing:-6px;writing-mode:vertical-rl;right:-15px;z-index:0}.hero-main{position:absolute;inset:8% 12% 6% 14%;border:1px solid #fff;background:#eeede8;border-radius:150px 150px 3px 3px;box-shadow:0 20px 45px #3e48310a;padding:0;overflow:hidden;transform:rotate(-4deg);transition:transform .4s}.hero-main:hover{transform:rotate(0)}.hero-main>img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.hero-label{position:absolute;bottom:0;left:0;right:0;background:#ffffffd9;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;text-align:left;font-size:9px;line-height:2}.hero-label strong{display:block;font-size:18px;font-weight:500}.hero-label b{font-size:25px;font-weight:400}.orbit-card{position:absolute;width:29%;border:6px solid #fff;padding:0;box-shadow:0 15px 40px #353a271a;background:white;transition:transform .3s}.orbit-card:hover{transform:rotate(0) scale(1.05)}.orbit-card img{width:100%;height:160px;object-fit:cover;display:block}.orbit-card span{display:flex;justify-content:space-between;font-size:10px;padding:12px 4px 5px}.small-one{top:7%;left:-6%;transform:rotate(-11deg)}.small-two{bottom:0%;right:-1%;transform:rotate(9deg)}.art-note{position:absolute;bottom:0;left:17%;font-size:9px;letter-spacing:2px;color:#868a7f}.ticker{background:#e9eddc;display:flex;justify-content:space-around;align-items:center;padding:23px 3%;gap:25px;font-size:12px;letter-spacing:2px;overflow:hidden;white-space:nowrap}.ticker i{font-size:24px;color:#3154e8;font-style:normal}.section{padding:95px 7%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px}h2{font-size:clamp(27px,3vw,42px);font-weight:500;line-height:1.45;letter-spacing:-1.5px;margin:16px 0}.section-head>p{font-size:12px;color:#81857c;line-height:1.9}.filter-row{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #dfe1d8;padding:25px 0;margin-bottom:32px}.filters{display:flex;gap:10px}.filters button{background:none;border:0;border-radius:30px;padding:11px 20px;font-size:12px;color:#777c72}.filters button.active{background:#252b22;color:white}.filters sup{font-size:8px;margin-left:8px}.search{display:flex;gap:10px;align-items:center;color:#74796e}.search input{width:150px;background:none;border:0;font-size:12px;outline-offset:6px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 24px}.case-card{padding:0;border:0;background:none;text-align:left}.card-image{height:360px;position:relative;overflow:hidden;background:#ebece5;border-radius:3px}.case-card:nth-child(3n+2) .card-image{background:#e5e9e3}.case-card:nth-child(3n) .card-image{background:#e8e7e4}.card-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .6s}.case-card:hover img{transform:scale(1.06)}.card-index{position:absolute;left:17px;top:17px;font-size:10px;color:#52584a}.card-arrow{position:absolute;right:16px;bottom:16px;width:35px;height:35px;background:#ffffffc9;display:grid;place-items:center;border-radius:50%;transition:background .2s}.case-card:hover .card-arrow{background:#3154e8;color:white}.card-caption{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.card-caption h3{font-size:17px;font-weight:500;margin:0}.card-caption>span{font-size:9px;letter-spacing:1px;color:#8b9084}.card-tags{font-size:10px;color:#8a8e82;margin:9px 0 0}.gallery-end{display:flex;justify-content:space-between;border-top:1px solid #dfe1d8;margin-top:45px;padding-top:22px;font-size:10px;color:#929789}.experience{background:#e9eddf;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.experience h2{font-size:48px;line-height:1.4;margin:27px 0}.experience h2 span{color:#657255}.experience p:not(.eyebrow){font-size:13px;color:#78826e;line-height:2}.feature-list{display:flex;gap:20px;font-size:10px;margin-top:42px;color:#717c67}.experience-art{height:500px;position:relative;display:block;border:0;background:#e3e7d8;overflow:hidden;background-image:linear-gradient(#c9d1be55 1px,transparent 1px),linear-gradient(90deg,#c9d1be55 1px,transparent 1px);background-size:35px 35px}.experience-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .5s}.experience-art:hover img{transform:scale(1.04)}.view-badge{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);background:#f7f7f2;padding:13px 20px;font-size:9px;letter-spacing:1px;white-space:nowrap}.corner{position:absolute;width:28px;height:28px;border-color:#75836a}.tl{top:20px;left:20px;border-top:1px solid;border-left:1px solid}.br{bottom:20px;right:20px;border-bottom:1px solid;border-right:1px solid}.about{display:grid;grid-template-columns:1fr 2fr 1fr;gap:20px;align-items:start}.about h2{margin-top:0}.about p:not(.eyebrow){font-size:13px;line-height:2;color:#62695c;max-width:410px}.about p.muted{color:#93988c;font-size:12px}.about-mark{font-size:190px;font-weight:700;line-height:1;color:#e1e6d5;align-self:center;justify-self:end;letter-spacing:-22px}.contact{background:#3154e8;color:white;padding-top:70px;padding-bottom:60px}.contact>div{display:flex;align-items:center;justify-content:space-between}.contact h2{font-size:48px}.contact-round{width:95px;height:95px;border:1px solid #ffffff75;border-radius:50%;display:grid;place-items:center;font-size:40px;transition:background .2s}.contact-round:hover{background:#ffffff22}.contact-info{border-top:1px solid #ffffff40;margin-top:36px;padding-top:25px}.contact-info a{font-size:20px;letter-spacing:1px}.contact-info span{font-size:11px;color:#c2ccff}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between}footer .logo{font-size:25px}footer>span,footer>a:last-child{font-size:10px;color:#868b80}dialog{width:min(1200px,94vw);max-height:92vh;overflow:auto;border:0;padding:0;background:#f7f7f2;color:#252922}dialog::backdrop{background:#151c19bd;backdrop-filter:blur(10px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid #ddd;font-size:10px;letter-spacing:1px;position:sticky;top:0;background:#f7f7f2;z-index:3}.dialog-top button{border:0;background:none;font-size:12px}.detail-body{padding:28px;display:grid;grid-template-columns:1.7fr 1fr;gap:35px}.viewer-tabs{display:flex;gap:20px;margin-bottom:15px}.viewer-tabs button{border:0;background:none;padding:8px 0;color:#8b9084;font-size:12px}.viewer-tabs .active{color:#3154e8;border-bottom:2px solid}#viewport{height:470px;position:relative;background:#45484b;overflow:hidden}#canvas-host{height:100%;width:100%}#canvas-host canvas{display:block;touch-action:none}#detail-cover{width:100%;height:100%;object-fit:contain;background:#eeece8}#load-status{position:absolute;inset:45% 20px auto;color:white;text-align:center;font-size:12px;pointer-events:none}.toolbar{display:flex;gap:8px;padding:15px 0;flex-wrap:wrap}.toolbar button,#animation-controls button{background:none;border:1px solid #d5d9ce;padding:8px 12px;font-size:11px}.toolbar button[aria-pressed=true]{background:#3154e8;border-color:#3154e8;color:white}.stats{display:flex;justify-content:space-between;font-size:10px;color:#828a78;padding:10px 0;border-top:1px solid #ddd}#animation-controls{font-size:11px;padding:10px 0}#animation-controls select{max-width:180px;margin:0 10px}.detail-copy{padding-top:35px}.detail-copy h2{font-size:32px}.detail-copy>p:not(.eyebrow){font-size:13px;line-height:2;color:#7b8371}.detail-copy dl{margin:30px 0;font-size:11px}.detail-copy dl>div{padding:15px 0;border-bottom:1px solid #dde1d7}.detail-copy dt{color:#939b88;margin-bottom:8px}.detail-copy dd{margin:0}.detail-copy a{font-size:12px;color:#3154e8}.detail-copy .detail-note{font-size:10px!important;margin-top:25px}#detail-media img,#detail-media video{width:100%;margin-bottom:15px}#empty{padding:60px;text-align:center;color:#858b7d}[hidden]{display:none!important}@media(min-width:1500px){main,header,footer{max-width:1800px;margin:auto}.hero{min-height:780px}.hero-art{max-width:720px}.orbit-card img{height:200px}}@media(max-width:1000px){header{padding:0 4%}nav{gap:20px}.hero{min-height:610px;padding-left:5%;padding-right:5%}.hero-main{inset:12% 4% 12% 6%}.small-one{left:-10%;top:8%}.small-two{right:-5%;bottom:7%}.orbit-card img{height:110px}.hero-note{margin-top:45px}.section{padding:70px 5%}.card-image{height:280px}.experience{gap:30px}.experience h2{font-size:38px}.experience-art{height:420px}.feature-list{gap:12px}.about{grid-template-columns:1fr 2fr}.about-mark{display:none}.detail-body{grid-template-columns:1.5fr 1fr;gap:20px}#viewport{height:400px}}@media(max-width:680px){header{height:76px}.logo{font-size:28px}nav{gap:15px}nav a{font-size:11px}nav a:last-child,.contact-link{display:none}.hero{display:flex;flex-direction:column;padding:28px 6% 35px;gap:10px}.hero-copy{padding-top:0}h1{font-size:46px;letter-spacing:-2px;margin:22px 0 15px}h1 .blue{display:inline}.hero-note{display:none}.intro{font-size:12px}.primary{padding:14px 20px;margin-top:15px}.hero-art{height:430px;margin-top:10px}.hero-main{inset:5% 16% 5% 16%}.giant-type{font-size:62px;right:15px}.small-one{left:0;top:7%;width:27%}.small-two{right:0;bottom:2%;width:28%}.orbit-card img{height:115px}.hero-label{padding:12px 18px}.hero-label strong{font-size:16px}.art-note{display:none}.ticker{justify-content:start;padding:17px 5%;font-size:10px}.section{padding:55px 6%}.section-head{display:block}.section-head>p{display:none}h2{font-size:27px}.filter-row{align-items:start;flex-direction:column;padding:15px 0;gap:20px}.filters{gap:3px}.filters button{padding:9px 14px;font-size:11px}.gallery{grid-template-columns:repeat(2,1fr);gap:28px 14px}.card-image{height:220px}.card-caption h3{font-size:14px}.card-caption>span{display:none}.card-tags{font-size:9px}.card-index{left:10px;top:12px}.card-arrow{width:26px;height:26px;right:10px;bottom:10px}.gallery-end{font-size:9px;gap:20px}.gallery-end span:last-child{max-width:160px;text-align:right}.experience{grid-template-columns:1fr;gap:30px}.experience h2{font-size:36px}.experience-art{height:380px}.about{display:block}.about>div{margin-top:25px}.contact h2{font-size:32px}.contact-round{width:60px;height:60px;font-size:30px;flex-shrink:0}.contact-info a{font-size:16px}.contact-info span{font-size:9px}footer{gap:15px}footer>span{font-size:8px}dialog{width:96vw;max-height:94vh}.detail-body{display:flex;flex-direction:column;padding:18px}.detail-copy{padding-top:10px}#viewport{height:390px}.detail-copy h2{font-size:27px}.dialog-top{padding:16px}.stats{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Case routes follow the reference portfolio's full-page reading flow. */
.case-page{max-width:1400px;margin:0 auto;padding:25px 5% 65px}.case-page .dialog-top{position:static;padding:18px 0;background:none}.case-page .dialog-top button{padding:12px 0;color:#6c7465}.case-page .detail-body{padding:28px 0 55px;grid-template-columns:minmax(0,1.9fr) minmax(240px,1fr);gap:45px}.case-page .detail-copy{padding-top:45px}.detail-copy h3{font-size:14px;font-weight:500;margin-top:30px}.case-page #viewport{height:540px}.case-page .viewer-tabs{gap:25px;flex-wrap:wrap}.related{padding-top:45px;border-top:1px solid #dfe1d8}.related .section-head{margin-bottom:30px}.related .section-head>a{font-size:12px;color:#3154e8}.related .gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.related .card-image{height:270px}.related h3{font-size:16px;font-weight:500}#media-panel{min-height:400px;background:#eeece8;padding:20px}#media-panel img,#media-panel video{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;margin-bottom:20px}#media-panel audio{width:100%}.media-empty{text-align:center;padding:140px 20px;color:#8a9082;font-size:13px}#model-panel:fullscreen{padding:20px;background:#f7f7f2;overflow:auto}#model-panel:fullscreen #viewport{height:calc(100vh - 145px)}header nav a[aria-current]{color:#3154e8}footer{border-top:1px solid #dedfd7}.case-page .toolbar button:disabled{opacity:.45;cursor:wait}@media(max-width:680px){.case-page{padding:15px 6% 45px}.case-page .detail-body{display:block;padding:20px 0 35px}.case-page #viewport{height:420px}.case-page .detail-copy{padding-top:20px}.case-page .viewer-tabs{gap:18px}.case-page .viewer-tabs button{font-size:11px}.related .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.related .card-image{height:210px}.related .section-head{display:flex}.related h2{font-size:23px}.case-page .dialog-top>span{font-size:8px}.contact-link{display:block;font-size:10px}.contact-link span{margin-left:8px}}

/* Character image browsing: a compact, natural-ratio masonry collection. */
.works.section{padding:55px 4% 65px}.works .section-head h2{font-size:32px}.works .section-head{align-items:center}.filter-row{position:sticky;top:94px;z-index:10;background:#f7f7f2f5;backdrop-filter:blur(12px);border:0;padding:18px 0 22px;flex-direction:row-reverse;margin-bottom:8px;gap:24px}.search{flex:1;background:#e9eae5;border-radius:30px;padding:16px 22px;font-size:20px}.search input{width:100%;font-size:14px;outline-offset:4px}.filters{flex-shrink:0}.filters button{padding:14px 20px}.gallery{display:block;column-count:4;column-gap:20px}.case-card{display:inline-block;width:100%;break-inside:avoid;margin:0 0 30px;vertical-align:top;border-radius:18px}.card-image,.related .card-image{height:auto!important;overflow:hidden;border-radius:18px;background:#eeece8}.card-image img{display:block;width:100%;height:auto;object-fit:contain;mix-blend-mode:normal;transform:none}.case-card:hover img{transform:none;filter:brightness(.88)}.card-index{display:none}.card-arrow{opacity:0;right:14px;bottom:14px;width:40px;height:40px;background:white;color:#222;transition:opacity .2s}.case-card:hover .card-arrow,.case-card:focus-visible .card-arrow{opacity:1}.card-caption{margin:13px 10px 0}.card-caption h3{font-size:15px;font-weight:600}.card-caption>span{display:none}.card-tags{margin:7px 10px 0;font-size:11px}.related .gallery{display:block;column-count:4}.related .case-card>h3{margin:12px 10px 0;font-size:14px}.gallery-end{margin-top:15px}.works .section-head>p{font-size:12px}.filters button.active{background:#222}.case-card:focus-visible{outline-offset:5px}@media(max-width:1100px){.gallery,.related .gallery{column-count:3}.filters button{padding:12px 16px}.filter-row{gap:15px}}@media(max-width:680px){.works.section{padding:35px 4%}.works .section-head h2{font-size:25px}.filter-row{top:76px;flex-direction:column;align-items:stretch;gap:12px;padding:12px 0}.search{padding:12px 18px}.search input{font-size:13px}.filters{justify-content:flex-start}.filters button{padding:9px 16px}.gallery,.related .gallery{column-count:2;column-gap:12px}.card-image,.related .card-image{border-radius:14px}.case-card{margin-bottom:24px}.card-caption{margin:10px 5px 0}.card-caption h3{font-size:13px}.card-tags{font-size:9px;margin-left:5px}.card-arrow{opacity:1;width:30px;height:30px;right:10px;bottom:10px}.related .case-card>h3{font-size:13px}.works .section-head .eyebrow{font-size:9px}}
.gallery,.related .gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1px;gap:0 20px;column-count:auto;align-items:start}.gallery>.case-card{margin:0;min-width:0}.card-image img{transition:filter .2s}@media(max-width:1100px){.gallery,.related .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.gallery,.related .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}}

/* Latest annotations: text-only hero, one-row search and in-page case dialogs. */
.hero{display:block;min-height:0;padding:50px 5% 45px}.hero-copy{padding:0}.hero h1{margin:24px 0 18px;font-size:clamp(40px,4.6vw,64px)}.hero h1 .blue{display:inline}.hero-note{margin-top:30px}.filter-row{flex-direction:row;align-items:center;gap:16px}.search{min-width:0}.search input{min-width:0}.filters{flex-shrink:0}.filters button{white-space:nowrap}.case-page{width:min(1220px,94vw);max-width:none;max-height:92vh;margin:auto;padding:0 28px 35px;overflow:auto;border:0;color:#252922;background:#f7f7f2}.case-page .dialog-top{position:sticky;top:0;z-index:5;background:#f7f7f2;padding:18px 0}.case-page .dialog-top>span:first-child{font-size:11px;color:#707868}.case-page .dialog-top button{padding:8px 0;font-size:12px;color:#252922}.case-page .detail-body{padding-top:22px;gap:32px}.case-page #viewport{height:460px}.case-page .related{padding-top:28px}.case-page .related .section-head{margin-bottom:22px}body:has(dialog[open]){overflow:hidden}@media(max-width:680px){.hero{padding:32px 6% 30px;gap:0}.hero h1{font-size:46px}.filter-row{flex-direction:row;align-items:center;gap:10px}.search{padding:13px 15px;gap:6px}.search input{font-size:12px}.filters button{padding:12px 14px;font-size:11px}.filters sup{margin-left:5px}.case-page{width:96vw;max-height:94vh;padding:0 16px 25px;border-radius:12px}.case-page .dialog-top{padding:12px 0}.case-page .detail-body{padding-top:14px}.case-page #viewport{height:390px}.case-page .viewer-tabs{gap:15px}.case-page .viewer-tabs button{font-size:11px}.case-page .detail-copy{padding-top:12px}.case-page .related h2{font-size:22px}.case-page .related .section-head>a{font-size:10px}}
