@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500&display=swap');
:root{--paper:#eeede8;--ink:#20211f;--blue:#2300ff;--muted:#74746e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:6px}button{border:0}::selection{background:var(--blue);color:white}.nav{height:100px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 4.2%;background:#eeede8ed;backdrop-filter:blur(18px);border-bottom:1px solid #20211f22}.wordmark{font-size:43px;font-weight:700;letter-spacing:-4px}.wordmark span{font-size:13px;letter-spacing:0;vertical-align:top;display:inline-block;margin:10px 0 0 7px}nav{display:flex;gap:46px}nav a{font-size:13px;line-height:1.6}nav em{display:block;color:var(--muted);font:italic 14px Georgia,serif}nav a:hover,nav a.active{color:var(--blue)}.resume{background:transparent;border-bottom:1px solid #222;padding:9px 0;font-size:12px}.hero{min-height:790px;height:calc(100svh - 100px);max-height:1100px;position:relative;padding:36px 4.2% 0;overflow:hidden}.intro{display:flex;align-items:start;justify-content:space-between;position:relative;z-index:3;pointer-events:none}.eyebrow,.index,.edition,.art-label,.art-top,.placeholder,.hint,.footer-bottom,.intro-note,.brand-line,.code-note,.paper>span{font-family:'DM Sans',sans-serif;letter-spacing:1.1px;font-size:10px}.eyebrow{padding-top:8px}.dot{display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:100%;margin-right:9px}.intro p{margin:0 14% 0 0;font-size:20px;line-height:1.8;font-weight:500}.intro p span{color:var(--muted)}.intro-note{line-height:1.8;letter-spacing:.5px}.intro-note span{color:var(--muted)}.hero-title{position:relative;z-index:2;pointer-events:none;margin-top:70px;width:65%}h1{font-weight:500;font-size:clamp(80px,9.5vw,155px);letter-spacing:-.075em;line-height:.92;margin:0}h1 i{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.07em}.edition{display:block;line-height:1.6;margin-top:35px;margin-left:5px;color:var(--muted)}#sculpture{position:absolute;inset:120px -3% 65px 31%;cursor:crosshair;z-index:1;touch-action:pan-y}#sculpture canvas{display:block}.art-label{position:absolute;right:5%;bottom:118px;z-index:3;line-height:1.8}.art-label small{display:block;letter-spacing:0;color:var(--muted);font-size:11px}.hero-bottom{position:absolute;left:4.2%;right:4.2%;bottom:0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #2223;height:70px;z-index:4}.hero-bottom>a{font-size:12px}.hero-bottom>a span{margin-left:40px}.controls{display:flex;gap:10px}.controls button{background:transparent;border:1px solid #2223;border-radius:30px;padding:9px 16px;font-size:11px}.controls button:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.hint{color:var(--muted);font-size:9px}.section{padding:110px 4.2%}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:46px}.index{color:var(--muted)}h2{font-size:42px;font-weight:500;line-height:1.3;letter-spacing:-2px;margin:18px 0 0}h2>span{display:block;font:italic 23px Georgia,serif;color:var(--muted);letter-spacing:-.5px;margin-top:8px}.section-top>p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 4px 3px 0}.commercial{border-top:1px solid #2223}.projects{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project{padding:0;text-align:left;background:transparent}.project-art{height:370px;position:relative;overflow:hidden;padding:25px;transition:transform .4s}.p-eureka .project-art{background:#dce6c4}.p-dreame .project-art{background:#282a2c;color:#f1ede4}.art-top{font-size:8px}.case-type{font-size:69px;font-weight:700;letter-spacing:-5px;position:absolute;left:36px;top:84px;line-height:1}.case-type span{display:block;font-size:34px;font-weight:400;letter-spacing:-1px;margin-top:20px}.case-type i{display:block;color:#d2c1a0;font:italic 39px Georgia,serif;letter-spacing:-1px;margin-top:16px}.placeholder{position:absolute;bottom:25px;left:25px;font-size:8px;opacity:.6;letter-spacing:.5px}.arrow{position:absolute;bottom:20px;right:25px;font-size:32px;transition:transform .3s}.project:hover .arrow{transform:translate(4px,-4px)}.project:hover .project-art{transform:translateY(-5px)}.project-info{display:flex;align-items:center;gap:15px;padding:19px 0}.project-info h3{font-size:18px;margin:0;font-weight:500}.project-info h3 small{font-size:11px;margin-left:8px;color:var(--muted)}.project-info>span{font-size:10px;color:var(--muted)}.project-info>span:last-child{margin-left:auto}.brand-line{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #2223;padding-top:28px;margin-top:28px}.brand-line>span:not(:first-child){font-size:24px;font-weight:600;letter-spacing:-1px}.brand-line small{font-size:10px;color:var(--muted)}.personal{background:#e3e3dd}.lab-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:9%}.loop-poster{height:485px;background:var(--blue);position:relative;overflow:hidden;color:#dfff78;padding:40px}.loop-poster>span{position:relative;z-index:2;font-size:92px;line-height:.84;font-weight:500;letter-spacing:-7px}.loop-poster>span i{font-family:Georgia,serif;font-weight:400}.loop-poster>b{position:absolute;bottom:25px;right:30px;font-size:40px;font-weight:400}.orbit{position:absolute;border:1px solid #cde38a99;border-radius:50%;width:400px;height:220px;bottom:8%;right:-12%;transform:rotate(-35deg);box-shadow:0 7px 0 -1px #2300ff,0 8px 0 #cde38a88,0 15px 0 -1px #2300ff,0 16px 0 #cde38a88,0 23px 0 -1px #2300ff,0 24px 0 #cde38a88}.o2{transform:rotate(-55deg);bottom:13%}.o3{transform:rotate(-75deg);bottom:18%}.lab-copy{padding-top:30px}.lab-copy>p{font-size:52px;line-height:1.4;letter-spacing:-3px;margin:28px 0}.lab-copy>p span{color:var(--blue)}.lab-description{font-size:13px;line-height:2;color:var(--muted)}.code-note{border-top:1px solid #2223;margin-top:34px;padding-top:24px;letter-spacing:0;color:var(--muted);line-height:2}.code-note code{display:block;color:var(--blue);font-size:13px;margin-top:7px}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid;padding-bottom:6px;margin-top:30px}.sketch-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:28px}.paper{min-height:360px;border:1px solid #2222;position:relative;padding:20px;background:#f5f3e9;transform:rotate(-2deg)}.paper-two{transform:rotate(2deg);background:#d9dce3}.paper>span{font-size:9px;color:var(--muted)}.drawn-flower{font:210px Georgia,serif;color:var(--blue);text-align:center;line-height:1.2}.hand-line{font:160px Georgia,serif;text-align:center;line-height:1.6;color:#4a5065;transform:rotate(-25deg)}.paper p{margin:0 0 10px;font-size:16px}.paper small{font-size:10px;color:var(--muted)}.interest{padding:18px 10px 0 30px;display:flex;flex-direction:column}.interest>p{font-size:36px;line-height:1.5;margin:30px 0}.interest i{font:italic 37px Georgia,'Songti SC',serif;color:var(--blue)}.interest-bottom{font-size:12px;margin-top:auto;line-height:2}.interest-bottom small{color:var(--muted);font-size:10px}footer{background:var(--blue);color:var(--paper);padding:60px 4.2% 22px}footer .index{color:#ffffff88}.footer-title{font-size:clamp(55px,9vw,140px);letter-spacing:-6px;padding:24px 0 50px;display:flex;gap:30px;align-items:center}.footer-title i{font:italic 1em Georgia,serif}.footer-title a{font-size:.8em;margin-left:auto}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff55;padding-top:24px;font-size:9px}dialog{padding:60px;max-width:720px;width:90%;border:1px solid #2222;background:var(--paper);color:var(--ink);max-height:85vh}dialog::backdrop{background:#17172788;backdrop-filter:blur(8px)}#close-dialog{float:right;background:none;font-size:12px}dialog h2{font-size:50px;margin:40px 0 20px}dialog p{font-size:15px;line-height:2;color:#666}dialog h3{font-size:14px;margin-top:30px}dialog .dialog-back{background:var(--blue);color:white;padding:12px 20px;margin-top:30px}body.modal-open{overflow:hidden}
@media(min-width:1600px){.hero-title{margin-top:100px}.project-art{height:450px}}@media(max-width:900px){nav{gap:24px}.intro p{margin-right:0;font-size:17px}.intro-note{display:none}.hero{height:780px;min-height:0}.hero-title{margin-top:75px}h1{font-size:100px}#sculpture{inset:140px -25% 70px 22%}.hint{display:none}.section{padding:75px 5%}.project-art{height:320px}.case-type{font-size:50px;left:25px}.case-type span{font-size:28px}.brand-line>span:not(:first-child){font-size:18px}.brand-line small{display:none}.lab-grid{gap:6%}.loop-poster{height:440px;padding:30px}.loop-poster>span{font-size:75px}.lab-copy>p{font-size:42px}.sketch-grid{gap:15px;grid-template-columns:1fr 1fr}.interest{grid-column:1/-1;padding:30px 0;flex-direction:row;gap:35px;align-items:center}.interest>p{font-size:28px;margin:0}.interest-bottom{margin:0 0 0 auto}}
@media(max-width:600px){.nav{height:82px;padding:0 6%}.wordmark{font-size:34px}.wordmark span{font-size:10px;margin-left:5px}nav{gap:15px}nav a{font-size:10px}nav em{font-size:10px}nav a:first-child{display:none}.resume{font-size:10px}.hero{height:790px;padding:25px 6% 0}.intro{display:block}.eyebrow{font-size:8px}.intro p{font-size:16px;margin-top:18px;line-height:1.7}.hero-title{margin-top:33px;width:100%}h1{font-size:76px}.edition{font-size:8px;margin-top:18px}#sculpture{inset:250px -25% 85px -20%;opacity:.95}.art-label{bottom:104px;right:6%;font-size:8px}.art-label small{font-size:9px}.hero-bottom{left:6%;right:6%;height:75px}.hero-bottom>a{font-size:10px}.hero-bottom>a span{margin-left:10px}.controls{gap:5px}.controls button{font-size:9px;padding:8px 10px}.section{padding:60px 6%}.section-top{display:block;margin-bottom:28px}h2{font-size:34px}h2>span{font-size:20px}.section-top>p{font-size:11px;margin-top:20px}.projects{grid-template-columns:1fr;gap:25px}.project-art{height:340px}.case-type{font-size:65px}.project-info h3{font-size:16px}.project-info>span{font-size:9px}.brand-line{flex-wrap:wrap;gap:20px}.brand-line>span:first-child{width:100%;font-size:8px}.lab-grid{grid-template-columns:1fr;gap:20px}.loop-poster{height:410px}.loop-poster>span{font-size:90px}.lab-copy{padding-top:10px}.lab-copy>p{font-size:43px}.sketch-grid{gap:15px}.paper{min-height:270px;padding:13px}.paper>span{font-size:7px}.drawn-flower{font-size:145px}.hand-line{font-size:105px}.paper p{font-size:14px}.paper small{font-size:8px}.interest{display:block}.interest>p{font-size:30px;margin:20px 0}.interest-bottom{display:block}.footer-title{letter-spacing:-3px;gap:15px;font-size:52px;flex-wrap:wrap;padding-bottom:35px}.footer-bottom{font-size:8px;gap:15px;flex-wrap:wrap}.footer-bottom>span:nth-child(2){display:none}dialog{padding:28px}dialog h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Reference-led cover: supplied artwork underneath a live, circular p5 layer. */
.reference-hero{height:auto;min-height:0;max-height:none;padding:0;overflow:hidden}.reference-stage{position:relative;width:100%;aspect-ratio:2048/841}.reference-art{display:block;width:100%;height:100%;object-fit:contain}.reference-stage #sculpture{inset:auto;left:36%;top:4%;width:31%;aspect-ratio:1;height:auto;z-index:2;border-radius:50%;overflow:hidden;mix-blend-mode:multiply}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.reference-bar{padding:20px 4.2%;border-top:1px solid #2222;display:flex;align-items:center;justify-content:space-between;font-size:11px}.reference-bar>span{color:var(--muted);font-size:10px;letter-spacing:1px}.cover-about{padding:44px 4.2%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #2222}.cover-about p{font-size:23px;line-height:1.7;margin:0}.cover-about>span:last-child{font-size:10px;line-height:2;letter-spacing:1px;color:var(--muted)}@media(max-width:600px){.reference-stage{width:150%;margin-left:-25%}.reference-bar{padding:18px 6%;flex-wrap:wrap;gap:14px}.reference-bar>span{order:3;width:100%;font-size:9px}.cover-about{padding:30px 6%;gap:20px;flex-wrap:wrap}.cover-about p{font-size:20px}.cover-about .index{width:100%}.cover-about>span:last-child{font-size:9px}.loop-poster>span{font-size:70px}}
/* Neutralize only the baked blue in the moon; the blue nebula is drawn live. */
.moon-monochrome{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:url(#moon-clean);clip-path:ellipse(16% 39% at 51% 43%);pointer-events:none}.reference-stage #sculpture{opacity:1}
/* Multi-page navigation */
.nav{isolation:isolate}.nav-group{position:relative}.nav-group-heading{display:flex;align-items:center;gap:8px}.menu-toggle{background:none;font-size:15px;padding:8px 5px}.mega-menu{position:absolute;top:calc(100% + 22px);left:50%;transform:translateX(-50%);width:650px;background:#f8f8f5;border:1px solid #2222;padding:26px;box-shadow:0 18px 40px #0000000d}.mega-menu:before{content:'';position:absolute;top:-28px;left:0;right:0;height:28px}.mega-menu[hidden]{display:none}.menu-caption{font-size:10px;letter-spacing:2px;display:flex;justify-content:space-between;color:#777;border-bottom:1px solid #2222;padding-bottom:18px;margin-bottom:12px}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px}.menu-grid a{display:flex;gap:10px;align-items:center;font-size:12px;padding:14px 0;border-bottom:1px solid #2221}.menu-grid a small{color:#aaa;font-size:9px}.menu-grid a span{margin-left:auto}.menu-grid a:hover{color:var(--blue)}.menu-all{display:block;font-size:11px;margin-top:22px}.nav a[aria-current]{color:var(--blue)}.site-footer{display:flex;justify-content:space-between;align-items:center;padding:28px 4.2%;font-size:10px;letter-spacing:1px}.site-footer span{opacity:.7}
/* About section: editable typesetting, reference-photo crop. */
.about-rebuild{position:relative;display:grid;grid-template-columns:20% 25% 1fr;gap:3%;padding:3% 3.3% 3%;background:var(--paper);color:#090909;isolation:isolate;min-height:530px;scroll-margin-top:100px}.about-rebuild:before{content:none;position:absolute;z-index:-1;inset:0 auto 0 0;width:29%;background:#f7f7f7;box-shadow:5px 0 14px #0000000c}.identity{display:flex;flex-direction:column;padding:0 0 8px}.folio-label{font-size:clamp(8px,.65vw,13px);letter-spacing:1px}.folio-label small{color:#999;font-size:inherit;margin-left:5px}.identity-name{margin:auto 0;position:relative}.identity-name h2{font-size:clamp(30px,2.8vw,60px);font-weight:600;letter-spacing:5px;white-space:nowrap;margin:0}.signature{position:relative;display:block;width:85%;aspect-ratio:290/105;overflow:hidden;margin-top:-18px;margin-left:16%;mix-blend-mode:multiply}.signature img{position:absolute;width:706.2%;max-width:none;left:-51.7%;top:-281%;filter:url(#signature-blue)}.identity-name p{font-size:clamp(9px,.95vw,19px);letter-spacing:1px;white-space:nowrap;margin-top:3px}.location{font-size:clamp(8px,.75vw,15px);color:#999;letter-spacing:1.5px}.bio-photo{position:relative;overflow:hidden;aspect-ratio:488/732;align-self:stretch;border-radius:2px}.bio-photo img{position:absolute;width:419.67%;max-width:none;left:-97.95%;top:-7.79%}.bio-content{padding-top:12px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}.bio-content h3{font-size:clamp(13px,1.15vw,25px);font-weight:700;letter-spacing:-.3px;line-height:1.5;margin:0 0 20px;display:flex;align-items:center;gap:8px;white-space:nowrap}.bio-content h3 span{font-weight:500}.bio-content h3:after{content:'';height:1px;background:#ccc;flex:1;margin-left:15px;min-width:20px}.bio-content p,.bio-contact a{font-size:clamp(10px,.76vw,16px);line-height:1.65;color:#626262;margin:0}.bio-top{display:grid;grid-template-columns:2.1fr 1fr;gap:5%}.bio-summary p{line-height:1.8}.bio-contact{padding-top:37px;position:relative}.bio-contact:before{content:'';position:absolute;width:1px;height:100px;background:#aaa;left:-15px;top:50px}.bio-contact h3:after{display:none}.bio-contact h3{margin-bottom:14px}.bio-contact a{display:block;margin-bottom:4px;overflow-wrap:anywhere}.bio-contact a:hover{color:var(--blue)}.bio-motto{position:absolute;top:3px;right:0;white-space:nowrap;color:#999;font-size:clamp(7px,.56vw,12px)}.bio-middle{display:grid;grid-template-columns:1fr 1.1fr;gap:6%}.experience{position:relative}.experience:before{content:'';position:absolute;left:-6%;top:12px;bottom:0;width:1px;background:#ccc}.bio-entry{display:flex;gap:16px;margin-top:25px}.bio-entry time{font-size:clamp(10px,.75vw,16px);color:#666;flex-shrink:0;line-height:1.6}.bio-entry h4{margin:0 0 4px;font-size:clamp(11px,.9vw,19px);line-height:1.5}.bio-skills h3{margin-bottom:22px}.bio-skills ul{display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0;list-style:none}.bio-skills li{background:#f4f4f6;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:clamp(9px,.73vw,16px);color:#666;padding:10px 8px;flex:1 1 17%;white-space:nowrap}.bio-skills li:nth-child(n+6){flex-basis:22%}.skill-icon{display:inline-grid;place-items:center;min-width:20px;height:22px;font-size:14px;border-radius:3px;letter-spacing:-1px}.fig{color:#8b4fff}.ai-star{font-size:25px;color:#000}.code{color:#222}.c4d{color:#2e287c}.p5{background:#ef1765;color:#fff;font-size:11px}.ps{background:#061e30;color:#38b1ff}.ai{background:#300600;color:#ffab2b}.pr{background:#21147b;color:#c4bdff}.ppt{background:#da4f28;color:#fff;border-radius:50%}
.collection-page{padding:70px 5% 100px;min-height:75vh}.collection-heading h1{font-size:64px;letter-spacing:-3px;line-height:1.2;margin-top:22px}.collection-heading h1 em{display:block;font:italic 28px Georgia,serif;color:var(--muted);letter-spacing:-.5px;margin-top:10px}.collection-note{font-size:12px;line-height:1.8;color:var(--muted);margin:30px 0 45px}.brand-index{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #2223;border-left:1px solid #2223}.brand-tile{position:relative;padding:28px;min-height:190px;border-right:1px solid #2223;border-bottom:1px solid #2223;transition:background .2s}.brand-tile>span{font-size:10px;color:#888}.brand-tile h2{font-size:28px;letter-spacing:-1px;margin:24px 0 10px}.brand-tile small{font-size:10px;color:#888}.brand-tile b{position:absolute;right:22px;top:23px;font-size:24px;font-weight:400}.brand-tile:hover{background:var(--blue);color:#fff}.brand-tile:hover small,.brand-tile:hover>span{color:#fff9}.brand-detail{padding-top:90px;scroll-margin-top:90px}.brand-detail h2{margin-top:12px}.brand-detail>p{font-size:13px;color:#777}.empty-case{padding:90px 25px;margin:25px 0 0;border:1px dashed #aaa;color:#999;text-align:center;font-size:12px}.art-slots{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px}.art-slot{scroll-margin-top:125px}.empty-art{aspect-ratio:4/3;background:#e5e5df;border:1px dashed #bdbdb5;margin-top:14px}.slot-caption{display:flex;justify-content:space-between;align-items:center}.slot-caption h2{font-size:18px;letter-spacing:0}.slot-caption>span{font-size:11px;color:#999}.collection-page>.play{padding:30px 0}
@media(min-width:1700px){.about-rebuild{min-height:760px}.bio-content{gap:40px}.bio-skills li{padding:15px 10px}.bio-entry{margin-top:34px}}
@media(max-width:1100px){.about-rebuild{grid-template-columns:30% 1fr;gap:25px;padding:35px 5%}.about-rebuild:before{width:36%}.identity{grid-column:1;grid-row:1}.bio-photo{grid-column:2;grid-row:1;aspect-ratio:488/550;max-height:480px}.bio-photo img{top:-10.36%}.identity-name h2{font-size:40px}.identity-name p{font-size:12px;white-space:normal}.bio-content{grid-column:1/-1;background:transparent;padding:30px 0 0}.bio-content h3{font-size:18px}.bio-content p,.bio-contact a,.bio-entry time{font-size:13px}.bio-entry h4{font-size:14px}.bio-skills li{font-size:12px}.folio-label,.location{font-size:10px}.signature{max-width:230px}.mega-menu{width:590px}.bio-motto{font-size:8px}}
@media(max-width:650px){nav{gap:10px}.nav-group-heading{gap:0}.menu-toggle{padding:8px 3px;font-size:12px}.mega-menu{position:fixed;left:4%;right:4%;top:82px;transform:none;width:auto;max-height:75svh;overflow:auto;padding:20px}.menu-grid{grid-template-columns:1fr 1fr;gap:0 15px}.menu-grid a{font-size:11px}.nav .resume{display:none}.about-rebuild{gap:18px;grid-template-columns:39% 1fr;padding:28px 6%}.about-rebuild:before{width:45%}.folio-label{font-size:7px;letter-spacing:0}.identity-name h2{font-size:27px;letter-spacing:2px}.identity-name p{font-size:10px;line-height:1.8}.signature{margin-left:0;margin-top:-5px;width:100%}.location{font-size:7px;letter-spacing:.5px}.bio-photo{aspect-ratio:488/732}.bio-photo img{top:-7.79%}.bio-content{padding-top:20px;gap:28px}.bio-top,.bio-middle{grid-template-columns:1fr;gap:28px}.bio-content h3{font-size:17px;margin-bottom:18px}.bio-content h3 span{font-size:15px}.bio-summary p{font-size:12px;line-height:1.9}.bio-contact{padding-top:26px}.bio-contact:before,.experience:before{display:none}.bio-motto{left:0;right:auto}.bio-contact h3{margin-bottom:12px}.bio-entry{margin-top:20px}.bio-skills li,.bio-skills li:nth-child(n+6){flex:1 1 44%;font-size:11px}.site-footer{font-size:8px;gap:20px;flex-wrap:wrap}.site-footer span{display:none}.collection-page{padding:45px 6% 70px}.collection-heading h1{font-size:40px;letter-spacing:-2px}.collection-heading h1 em{font-size:23px}.brand-index{grid-template-columns:1fr 1fr}.brand-tile{padding:20px;min-height:165px}.brand-tile h2{font-size:21px}.brand-tile b{font-size:19px;right:15px}.brand-tile small{font-size:9px}.brand-detail{padding-top:65px}.art-slots{grid-template-columns:1fr}.collection-note{font-size:11px}.empty-case{padding:65px 15px}.nav nav>a:first-child{display:block}.nav nav>a{font-size:9px}.nav-group-heading>a{font-size:9px}nav em{font-size:9px}.nav .wordmark{font-size:28px}}
.about-rebuild>*{min-width:0}.bio-photo{width:100%;height:auto;align-self:start}.bio-content{min-width:0}.bio-summary,.bio-contact,.education,.experience{min-width:0}.bio-content h3{white-space:normal}.bio-content h3 span{white-space:nowrap}@media(min-width:1101px){.bio-content p,.bio-contact a,.bio-entry time{font-size:clamp(11px,.76vw,16px)}}

.skill-asset{display:block;width:25px;height:25px;object-fit:contain;flex-shrink:0}.signature-original{aspect-ratio:563/196;overflow:visible}.signature-original img{position:static;width:100%;height:auto;max-width:100%;filter:none}.location{display:flex;align-items:center;gap:9px}.location img{width:13px;height:18px;object-fit:contain}@media(max-width:650px){.skill-asset{width:24px;height:24px}.location img{width:10px;height:14px}}

.bio-contact a,.bio-contact>p{display:flex;align-items:center;gap:9px}.bio-contact img{display:block;width:14px;height:16px;object-fit:contain;flex-shrink:0}
/* Third screen — service brands, matched to the supplied 4016 × 1654 layout. */
.service-screen{background:var(--paper);color:#050505;display:grid;grid-template-columns:23% 1fr;gap:6.2%;padding:1.7% 3.3% 3.3%;border-top:1px solid #eee;scroll-margin-top:100px}.service-intro{display:flex;flex-direction:column;align-items:flex-start}.service-folio{font-size:clamp(8px,.65vw,15px);letter-spacing:1px;margin-bottom:2.2vw}.service-folio small{font:inherit;color:#999;margin-left:5px}.service-intro h2{font-size:clamp(38px,3.95vw,160px);font-weight:750;letter-spacing:-.09vw;line-height:1.02;margin:0}.service-intro h2>span{font:500 .72em/1.35 'DM Sans','Microsoft YaHei',sans-serif;color:#050505;letter-spacing:-.08vw;margin-top:.8vw}.service-description{margin-top:3.15vw}.short-rule{width:2.6vw;min-width:26px;height:1px;background:#777;margin-bottom:1.45vw}.service-description p{font-size:clamp(11px,1.02vw,34px);line-height:1.55;color:#666;letter-spacing:0;margin:0}.service-signature{width:87%;height:auto;object-fit:contain;margin-top:2.4vw;max-height:9vw;object-position:left center}.service-main{padding-top:2.9vw;min-width:0}.service-logos-title{display:flex;align-items:center;gap:1.6vw;margin-bottom:1vw}.service-screen h3{font-size:clamp(12px,1.17vw,40px);font-weight:700;line-height:1.4;letter-spacing:-.03vw;margin:0;white-space:nowrap}.service-screen h3 span{font-weight:500;margin-left:.4vw}.service-screen i{display:block;flex:1;height:1px;background:#888;min-width:16px}.service-logos-title p{font-size:clamp(9px,.75vw,26px);color:#666;white-space:nowrap;margin:0}.service-logo-row{display:flex;align-items:stretch;padding:.8vw 0;border-bottom:1px solid #eeeeec;min-height:7.7vw}.service-logo-row:last-child{border-bottom:1px solid #888}.service-logo{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;border-right:1px solid #e5e5e5;padding:.7vw 1.5vw}.service-logo:last-child{border:0}.service-logo img{width:100%;height:3.2vw;object-fit:contain;max-width:11.5vw}.service-logo.logo-midea img{height:4.1vw;max-width:10vw}.service-logo.logo-eureka img{max-width:7.3vw}.service-logo.logo-bedsure img{max-width:10.2vw}.service-logo.logo-sihoo img{max-width:10vw}.service-logo-row:nth-child(2) .service-logo:nth-child(1),.service-logo-row:nth-child(2) .service-logo:nth-child(2){flex:1.2}.service-logo-row:nth-child(2) .service-logo:nth-child(3){flex:.8}.service-logo.logo-narwal img{max-width:11vw;height:2vw}.service-logo.logo-dreame img{height:2.1vw}.service-logo.logo-xgimi img{max-width:7vw}.service-logo.logo-ugreen img{max-width:9.2vw}.service-logo.logo-navimow img{max-width:10.5vw}.service-logo.logo-miyabi{flex:.8}.service-logo.logo-miyabi img{max-width:6.7vw}.service-logo.logo-ascentiz img{max-width:10vw}.service-logo.logo-wizmaker{flex:1.2}.service-logo.logo-wizmaker img{max-width:12vw}.service-logo.logo-klik img{height:3vw;max-width:6.2vw}.service-bottom{display:grid;grid-template-columns:1.28fr 1fr;gap:3.1%;padding-top:2.1vw}.service-bottom h3{display:flex;align-items:center;gap:.6vw}.service-bottom h3 span{margin-left:0}.service-bottom h3 i{margin-left:1vw}.service-background p{color:#666;font-size:clamp(10px,.76vw,28px);line-height:1.65;margin:1.6vw 0 0}.service-scope{position:relative}.service-scope:before{content:'';position:absolute;width:1px;top:.7vw;bottom:0;background:#888;left:-1.55vw}.service-scope ul{display:grid;grid-template-columns:1fr 1fr;gap:.5vw;padding:0;margin:.9vw 0 0;list-style:none}.service-scope li{display:flex;align-items:center;gap:.9vw;background:#f4f4f6;border-radius:.5vw;min-height:2.6vw;padding:.5vw 1.3vw;font-size:clamp(11px,1vw,34px);white-space:nowrap}.service-scope li:last-child{font-size:clamp(9px,.78vw,29px)}.service-scope li img{width:1.3vw;height:1.3vw;object-fit:contain;flex-shrink:0}.service-scope li span{flex:1;text-align:center}@media(max-width:1050px){.service-logos-title{flex-wrap:wrap}.service-logos-title p{width:100%;font-size:10px}.service-screen h3{font-size:13px}.service-bottom{grid-template-columns:1fr;gap:25px}.service-scope:before{display:none}.service-background p{font-size:11px}.service-scope li{min-height:40px;font-size:13px}.service-scope li:last-child{font-size:12px}.service-scope li img{width:20px;height:20px}.service-signature{max-height:14vw}.service-description p{font-size:12px}}
@media(max-width:650px){.service-screen{display:block;padding:35px 6% 45px}.service-folio{font-size:8px;margin-bottom:25px}.service-intro h2{font-size:46px;line-height:1;letter-spacing:-1px}.service-intro h2>span{font-size:30px;letter-spacing:0;margin-top:10px}.service-description{margin-top:25px}.short-rule{margin-bottom:18px}.service-description p{font-size:13px;line-height:1.8}.service-signature{width:65%;max-height:none;margin-top:20px}.service-main{padding-top:35px}.service-logos-title{gap:12px;margin-bottom:15px}.service-logos-title h3{font-size:14px}.service-logos-title p{font-size:10px;white-space:normal}.service-logo-row{min-height:70px;padding:10px 0}.service-logo{padding:5px 8px}.service-logo img{max-width:100%!important;height:25px!important}.service-logo.logo-midea img{height:35px!important}.service-logo.logo-klik img{height:28px!important}.service-logo.logo-narwal img{height:15px!important}.service-logo.logo-dreame img{height:15px!important}.service-bottom{padding-top:28px}.service-bottom h3{font-size:13px;gap:8px;white-space:normal}.service-bottom h3 span{white-space:nowrap}.service-background p{font-size:12px;margin-top:18px;line-height:1.8}.service-scope ul{gap:8px;margin-top:15px}.service-scope li{gap:8px;padding:10px;border-radius:7px;font-size:12px}.service-scope li:last-child{font-size:10px}.service-scope li img{width:20px;height:20px}}
/* Eureka page one: slim project rail, editable copy and four original captures. */
.eureka-case{background:#fbfafc}.case-panel{display:grid;grid-template-columns:48px 1fr;position:relative}.case-panel[hidden],.case-reserved[hidden]{display:none}.eureka-rail{display:flex;flex-direction:column;align-items:center;padding:28px 0 18px;background:radial-gradient(ellipse at 80% 60%,#8060ff 0,transparent 63%),linear-gradient(#08070b 0%,#141026 38%,#b4a2ff 76%,#efeafb 100%);gap:24px;overflow:hidden}.eureka-rail>span{font:36px Georgia,serif;color:#fff}.eureka-rail img{width:24px;height:24px;object-fit:contain}.eureka-rail small,.eureka-rail time{writing-mode:vertical-rl;color:#c5b6dd;font-size:8px;font-weight:400}.eureka-rail time{margin-top:auto;padding:24px 0}.eureka-rail img:last-child{margin-top:35px;width:30px;height:30px}.eureka-overview{padding:34px 6% 30px 3%;display:grid;grid-template-columns:27% 1fr;gap:4%;position:relative;isolation:isolate;overflow:hidden}.eureka-copy{padding-top:12px;display:flex;flex-direction:column;min-width:0}.case-brand{font-size:11px;letter-spacing:6px;margin-bottom:30px}.eureka-copy h1{font-size:clamp(22px,1.8vw,42px);font-weight:500;line-height:1.45;letter-spacing:-1px;margin:0}.eureka-copy h1>span{display:flex;align-items:center;gap:7px;white-space:nowrap}.eureka-copy h1 img{width:38%;height:auto;max-width:155px}.eureka-copy h1 em{font-style:normal;font-size:.94em;display:block;color:#68686e;letter-spacing:-.5px;white-space:nowrap}.case-description{margin-top:45px}.case-description .short-rule{display:block;width:22px;min-width:0;margin-bottom:25px}.case-description p{font-size:clamp(11px,.8vw,18px);line-height:1.7;color:#666;letter-spacing:0;margin:0}.case-tags{padding:0;list-style:none;display:flex;align-items:start;flex-direction:column;gap:12px;margin:28px 0}.case-tags li{display:flex;align-items:center;gap:6px;background:#eee8fc;border-radius:30px;padding:8px 13px;font-size:clamp(10px,.78vw,17px)}.case-tags img{width:17px;height:17px}.page-design{font-size:8px;letter-spacing:2px;color:#aaa;margin-top:auto;padding-top:40px}.eureka-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;position:relative;z-index:1;align-content:start}.eureka-card{padding:10px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000012;min-width:0}.eureka-card-title{display:flex;align-items:center;gap:10px;padding-bottom:7px}.eureka-card-title>span{background:#b69af8;color:white;border-radius:6px;font-size:18px;padding:1px 12px}.eureka-card-title h3{font-size:clamp(11px,.98vw,23px);color:#744679;font-weight:600;margin:0;line-height:1.4}.card-dots{display:flex;gap:5px;margin-left:auto}.card-dots i{width:7px;height:7px;background:#e2d2f8;border-radius:50%}.card-dots i:first-child{background:#9253ed}.eureka-card>img{display:block;width:100%;height:auto;aspect-ratio:1107/576;object-fit:contain;border:1px solid #ddd;border-radius:6px}.eureka-orbits{position:absolute;width:30%;height:auto;right:-10%;top:0;z-index:0;pointer-events:none}.case-pagination{display:flex;justify-content:space-between;align-items:center;padding:22px 5%;border-top:1px solid #ddd;font-size:11px}.case-page-links{display:flex;gap:9px}.case-page-links a{border:1px solid #ddd;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:11px}.case-page-links a[aria-current]{background:#7650dc;color:white;border-color:#7650dc}.case-pagination button{font-size:11px;background:none}.case-pagination button:disabled{color:#aaa;cursor:default}.case-reserved{min-height:65svh;padding:65px 6%}.case-reserved h2{font-size:38px;margin:25px 0 45px}.case-reserved>div{min-height:220px;display:grid;place-items:center;border:1px dashed #c9c0dc;color:#999;font-size:13px}@media(min-width:1600px){.eureka-overview{padding-top:45px;padding-bottom:45px}.eureka-card{padding:14px}.eureka-card-title>span{font-size:24px}.eureka-card-title{padding-bottom:10px}.eureka-card-grid{gap:25px 30px}.case-brand{font-size:14px;margin-bottom:40px}.case-description{margin-top:65px}.case-tags{gap:18px}.case-tags li{padding:10px 20px}.case-tags img{width:22px;height:22px}.eureka-rail{gap:35px}}
@media(max-width:1000px){.case-panel{grid-template-columns:34px 1fr}.eureka-overview{padding:30px 4%;grid-template-columns:1fr;gap:30px}.eureka-copy{display:block}.eureka-copy h1{font-size:28px}.eureka-copy h1 img{width:125px}.case-brand{display:block;margin-bottom:18px}.case-description{margin-top:22px;max-width:620px}.case-description p{font-size:12px}.case-description .short-rule{margin-bottom:16px}.case-tags{flex-direction:row;flex-wrap:wrap;margin:20px 0 0;gap:10px}.page-design{display:none}.eureka-rail>span{font-size:26px}.eureka-rail img{width:19px;height:19px}.eureka-card-title h3{font-size:13px}.eureka-card-title>span{font-size:18px}.eureka-card-grid{gap:18px}.eureka-rail img:last-child{width:23px}.eureka-orbits{width:45%}}
@media(max-width:600px){.case-panel{display:block}.eureka-rail{display:none}.eureka-overview{padding:30px 6%}.eureka-copy h1{font-size:24px}.eureka-copy h1 em{font-size:21px;white-space:normal}.eureka-copy h1 img{width:105px}.eureka-card-grid{grid-template-columns:1fr}.eureka-card-title h3{font-size:14px}.eureka-card-title>span{font-size:19px}.case-tags li{font-size:10px;padding:8px 10px}.case-pagination{flex-wrap:wrap;gap:18px;padding:20px 6%}.case-page-links{order:3;width:100%;justify-content:center}.case-pagination>a{font-size:10px}.eureka-orbits{width:65%;right:-25%}.case-reserved{padding:40px 6%}.case-reserved h2{font-size:30px}}
/* Eureka third page — layered screenshots with independent shadows. */
.annual-layout{position:relative;isolation:isolate;display:grid;grid-template-columns:21% 1fr;gap:2.5%;padding:35px 2.3% 30px 3%;overflow:hidden}.annual-copy{display:flex;flex-direction:column;padding-top:12px;min-width:0}.annual-copy .case-brand{margin-bottom:25px}.annual-copy h2{font-size:clamp(23px,1.95vw,44px);font-weight:550;line-height:1.45;letter-spacing:-.7px;margin:0}.annual-subtitle{font-size:clamp(10px,.78vw,18px);margin:12px 0 24px;line-height:1.7}.annual-copy>.short-rule{width:20px;min-width:0;margin:0 0 25px}.annual-intro-text p{color:#666;font-size:clamp(10px,.79vw,18px);line-height:1.65;margin:0 0 20px}.annual-copy .page-design{padding-top:24px}.annual-main{min-width:0;position:relative;z-index:1}.annual-section-title{border-left:2px solid #9550ed;padding-left:9px;font-size:clamp(13px,1.06vw,25px);color:#64646c;margin:0 0 18px;font-weight:650}.annual-examples{display:grid;grid-template-columns:.643fr 1fr;gap:12px}.annual-example{position:relative;isolation:isolate;background:#fff;border:1px solid #efedf2;border-radius:16px;padding:15px 14px 5px;min-width:0;overflow:visible}.annual-example h3{font-size:clamp(13px,1.07vw,25px);font-weight:650;margin:0 0 4px;line-height:1.45}.annual-example p{font-size:clamp(10px,.78vw,18px);color:#666;line-height:1.65;margin:0}.annual-example .solution-heading{margin-top:9px}.annual-number{position:absolute;width:26%;height:auto;top:0;right:0;z-index:-1;pointer-events:none}.example-two .annual-number{width:18%}.example-two>p{max-width:76%;margin-top:8px}.annual-comparison{position:relative;display:grid;grid-template-columns:1fr 1.08fr;gap:8%;margin-top:8px;align-items:stretch}.before,.after{min-width:0;border-radius:8px;background:#f7f3fe;padding:7px;display:flex;flex-direction:column;gap:5px}.after{background:#f8f1fc}.mini-pill{align-self:start;border-radius:20px;padding:1px 9px;background:#a166ee;color:#fff;font-size:clamp(8px,.55vw,14px);line-height:1.5;white-space:nowrap}.before>img{display:block;width:100%;height:auto;border-radius:7px}.after>img{display:block;width:100%;height:auto;flex:1;min-height:0;object-fit:fill;border-radius:7px}.scroll-stat{border:1px solid #fff;border-radius:7px;padding:5px 7px;background:#f5f2fd}.scroll-stat b{display:block;font-size:clamp(7px,.52vw,13px);color:#262050;white-space:nowrap}.scroll-stat strong{display:block;color:#5d00ef;font-size:clamp(23px,1.65vw,44px);line-height:1.1}.scroll-stat>span{display:block;color:#999;font-size:clamp(8px,.54vw,14px)}.stat-track{height:4px;background:#dfdaf1;border-radius:5px;margin-top:4px}.stat-track i{display:block;width:30%;height:100%;background:#8541ef;border-radius:5px}.comparison-arrow{position:absolute;top:51%;left:50%;transform:translate(-50%,-50%);width:25px;height:25px;background:#b59af6;color:white;border-radius:50%;display:grid;place-items:center;font-size:20px;border:2px solid white;z-index:2}.annual-image-stack{position:relative;width:100%;aspect-ratio:766/408;margin-top:12px}.stack-back{position:absolute;left:0;top:0;width:71%;height:auto;z-index:1;filter:drop-shadow(0 1px 5px #8a75bd30);border-radius:8px}.stack-front{position:absolute;left:0;bottom:0;width:100%;height:auto;z-index:3;filter:drop-shadow(0 2px 6px #8a75bd38);border-radius:8px}.research-flow{position:absolute;right:0;top:0;width:27%;height:63%;border-radius:9px;background:#f6f2ff;padding:12px 6px;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;gap:7px;z-index:2}.research-flow>span{display:flex;align-items:center;gap:10px;color:#666;font-size:clamp(10px,.76vw,18px);white-space:nowrap}.research-flow>span img{width:20px;height:19px;object-fit:contain}.research-flow .flow-down{width:10px;height:7px;object-fit:contain}.annual-results{display:grid;grid-template-columns:1fr 24%;gap:10px;margin-top:12px}.annual-metrics{display:grid;grid-template-columns:2.5fr .95fr 1fr 1.2fr;align-items:center;background:#f0eafb;border-radius:13px;padding:13px 15px;gap:10px}.metric-intro h3{font-size:clamp(12px,1vw,24px);margin:0 0 7px;white-space:nowrap}.metric-intro h3 em{color:#8433eb;font-style:normal}.metric-intro p{font-size:clamp(9px,.69vw,16px);line-height:1.5;color:#666;margin:0}.annual-metric{border-left:1px solid #d1c9de;padding-left:15px;position:relative;min-width:0}.annual-metric b{font-size:clamp(9px,.7vw,17px);display:block;position:relative;z-index:1}.annual-metric strong{color:#8433eb;font-size:clamp(14px,1.14vw,28px);display:block;white-space:nowrap;position:relative;z-index:1}.annual-metric small{font-weight:400;font-size:.65em}.annual-metric img{position:absolute;right:0;bottom:0;height:100%;width:auto;opacity:.65}.proposal-support{background:linear-gradient(110deg,#b68af4,#9b62ec);border-radius:13px;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px}.proposal-crown{color:#f7d87f;font-size:25px}.proposal-support b{display:block;font-size:clamp(10px,.78vw,18px);white-space:nowrap}.proposal-support div>span{font-size:clamp(10px,.76vw,18px);display:block;margin-top:3px}.proposal-support>img{width:24px;height:24px}.annual-orbits{position:absolute;right:-4%;top:0;width:24%;z-index:0;pointer-events:none}@media(min-width:1700px){.annual-layout{padding-top:45px;padding-bottom:45px}.annual-example{padding:22px 22px 6px}.annual-examples{gap:20px}.annual-comparison{margin-top:14px}.before,.after{padding:10px;gap:8px}.annual-image-stack{margin-top:20px}.annual-section-title{margin-bottom:30px}.annual-metrics{padding:20px}.annual-results{margin-top:20px;gap:16px}.comparison-arrow{width:36px;height:36px;font-size:28px}}
@media(max-width:1100px){.annual-layout{grid-template-columns:1fr;padding:30px 4%;gap:25px}.annual-copy{display:block}.annual-copy h2{font-size:28px}.annual-intro-text{display:grid;grid-template-columns:1fr 1fr;gap:25px}.annual-intro-text p{font-size:12px}.annual-copy .page-design{display:none}.annual-example p{font-size:11px}.annual-example h3{font-size:14px}.annual-image-stack{aspect-ratio:766/440}.annual-results{grid-template-columns:1fr 24%}.annual-metrics{padding:12px;gap:7px}.annual-metric{padding-left:8px}.metric-intro p{font-size:9px}.research-flow>span{gap:6px;font-size:10px}.research-flow>span img{width:17px;height:17px}}
@media(max-width:650px){.annual-layout{padding:28px 6%}.annual-copy h2{font-size:27px}.annual-subtitle{font-size:12px}.annual-intro-text{display:block}.annual-examples{grid-template-columns:1fr;gap:20px}.annual-section-title{font-size:16px}.annual-example{padding:18px 14px 8px}.annual-example h3{font-size:16px}.annual-example p{font-size:12px}.annual-comparison{gap:9%;margin-top:14px}.before,.after{padding:9px;gap:8px}.mini-pill{font-size:10px}.scroll-stat b{font-size:9px}.scroll-stat strong{font-size:29px}.scroll-stat>span{font-size:10px}.example-two>p{max-width:86%}.annual-image-stack{aspect-ratio:766/435;margin-top:17px}.research-flow{padding:8px 4px;gap:5px}.research-flow>span{font-size:10px;gap:6px}.research-flow>span img{width:18px;height:18px}.annual-results{grid-template-columns:1fr;margin-top:20px}.annual-metrics{grid-template-columns:repeat(3,1fr);padding:16px;gap:16px}.metric-intro{grid-column:1/-1}.metric-intro h3{font-size:16px}.metric-intro p{font-size:11px}.annual-metric b{font-size:11px}.annual-metric strong{font-size:19px}.proposal-support{padding:15px;justify-content:flex-start;gap:12px}.proposal-support b,.proposal-support div>span{font-size:13px}.proposal-support>img{margin-left:auto}.annual-orbits{width:55%;right:-20%}}
.annual-image-stack .research-flow{height:50%;padding:8px 5px;gap:4px}.after>img{object-fit:contain;background:#fff}.annual-image-stack .research-flow>span{gap:7px}.annual-image-stack .research-flow .flow-down{height:5px;width:9px}@media(max-width:650px){.annual-image-stack .research-flow{padding:6px 4px;gap:2px}.research-flow>span img{width:15px;height:15px}.research-flow>span{font-size:9px}}

.comparison-arrow-asset{display:block;object-fit:contain;background:transparent;border:0}
/* Keep nested menu links visible on phones; only the direct About link is omitted. */
@media(max-width:600px){.nav nav a:first-child{display:block}.nav nav>a:first-child{display:none}.nav .menu-grid a:first-child{display:flex}.nav-group-heading>a{white-space:nowrap}}
