@font-face{font-family:VT323;src:url('fonts/VT323-Regular.woff2') format('woff2');font-display:swap}:root{--terminal:VT323,"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",monospace;--plastic:#d6c9b6;--plastic-light:#ece2cf;--plastic-dark:#aa9b86}
.computer-column{min-width:0;align-self:center}.computer-scene{width:100%;height:570px;position:relative;perspective:1400px;touch-action:pan-y}.computer-stage{position:absolute;left:50%;top:50%;width:580px;height:570px;transform:translate(-50%,-50%) scale(var(--scene-scale,1));transform-origin:center;perspective:1300px}.computer-rig{position:absolute;top:75px;left:145px;width:310px;height:340px;transform-style:preserve-3d;transform:rotateX(-7deg) rotateY(-18deg);transition:transform 1.1s cubic-bezier(.2,.7,.2,1);will-change:transform}.computer-scene:hover .computer-rig{transform:rotateX(-3deg) rotateY(-8deg) translateZ(18px)}.desk-shadow{position:absolute;left:90px;top:420px;width:400px;height:90px;border-radius:50%;background:#3f352c32;filter:blur(21px);transform:rotate(-8deg);pointer-events:none}.solid{position:absolute;transform-style:preserve-3d;width:var(--w);height:var(--h)}.face{position:absolute;left:50%;top:50%;backface-visibility:hidden;border:1px solid #a89984}.face.front,.face.back{width:var(--w);height:var(--h)}.face.left,.face.right{width:var(--d);height:var(--h)}.face.top,.face.bottom{width:var(--w);height:var(--d)}.face.front{transform:translate(-50%,-50%) translateZ(calc(var(--d)/2));background:var(--plastic);box-shadow:inset 3px 3px 2px #fff9,inset -3px -3px 2px #77644d35}.face.back{transform:translate(-50%,-50%) rotateY(180deg) translateZ(calc(var(--d)/2));background:#aa9b86}.face.left{transform:translate(-50%,-50%) rotateY(-90deg) translateZ(calc(var(--w)/2));background:#b8aa95}.face.right{transform:translate(-50%,-50%) rotateY(90deg) translateZ(calc(var(--w)/2));background:linear-gradient(90deg,#bbae99,#a99b86)}.face.top{transform:translate(-50%,-50%) rotateX(90deg) translateZ(calc(var(--h)/2));background:var(--plastic-light)}.face.bottom{transform:translate(-50%,-50%) rotateX(-90deg) translateZ(calc(var(--h)/2));background:#8d806e}.monitor{--w:310px;--h:340px;--d:178px;top:0;left:0}.monitor>.front{border-radius:8px}.monitor>.top,.monitor>.left,.monitor>.right{border-radius:4px}.crt-bezel{position:absolute;left:18px;right:18px;top:19px;height:230px;padding:13px;border-radius:14px;background:#7f7464;box-shadow:inset 5px 5px 10px #3f352c90,2px 2px 0 #f1e7d4,-1px -1px 0 #a2927c}.crt-screen{position:relative;height:100%;width:100%;overflow:hidden;border-radius:10px;background:#b5bba8;color:#292c25;box-shadow:inset 0 0 15px #19201ecc;font-family:var(--terminal);font-size:16px;line-height:1.05;text-shadow:1px 0 #bf49491a,-1px 0 #30818024}.os-menu{position:absolute;inset:0 0 auto;height:25px;display:flex;align-items:center;gap:8px;border-bottom:2px solid #34382b;background:#e8e8cf;padding:0 10px;z-index:1}.os-menu strong{font-weight:400}.os-clock{margin-left:auto}.desktop-grid{position:absolute;inset:25px 0 0;background-image:radial-gradient(#525a4866 .6px,transparent .7px);background-size:3px 3px}.memo-window{position:absolute;top:43px;left:14px;right:14px;bottom:18px;border:2px solid #353b2c;background:#eeeeda;box-shadow:4px 4px 0 #4e554b88}.memo-title{height:24px;border-bottom:2px solid #353b2c;display:flex;align-items:center;justify-content:space-between;padding:0 7px;font-size:16px;background:repeating-linear-gradient(0deg,transparent 0 3px,#535d4b 3px 4px)}.memo-title span{background:#eeeeda;padding:0 7px}.memo-title i{width:9px;height:9px;background:#eeeeda;border:1px solid #353b2c}.memo-body{padding:11px 12px 2px;font-size:23px;line-height:.97;height:94px;overflow:hidden}.typing-cursor{font-size:19px;animation:cursor-blink .9s steps(1) infinite}.memo-foot{position:absolute;bottom:4px;right:6px;font-size:12px;letter-spacing:.03em}.crt-scanlines,.crt-rgb,.crt-glass{position:absolute;inset:0;pointer-events:none;z-index:5}.crt-scanlines{background:repeating-linear-gradient(0deg,transparent 0 2px,#1a24151c 2px 3px);opacity:.65}.crt-scanlines:after{content:"";position:absolute;inset:-30% 0 0;height:35%;background:linear-gradient(transparent,#fffff018,transparent);animation:scan-pass 7s linear infinite}.crt-rgb{background:repeating-linear-gradient(90deg,#d23d3d12 0 1px,#45a65a0d 1px 2px,#3d55d216 2px 3px);opacity:.55}.crt-glass{border-radius:10px;box-shadow:inset 0 0 18px #15251880;background:linear-gradient(130deg,#fff2,transparent 48%)}.computer-brand{position:absolute;left:26px;top:270px;display:flex;gap:9px;align-items:center;font:14px var(--terminal);color:#5a5043}.rainbow-badge{display:block;width:18px;height:22px;border-radius:4px 4px 7px 7px;transform:rotate(-4deg);background:linear-gradient(#83a362 0 17%,#d7b354 17% 34%,#ca874f 34% 51%,#b76457 51% 68%,#8d7097 68% 84%,#6a93a4 84%);box-shadow:0 0 0 1px #514d4038}.disk-slot{position:absolute;left:177px;top:276px;width:104px;height:12px;background:#5c554c;border:3px solid #b5a68e;box-shadow:0 1px 0 #ece2cf}.disk-slot span{position:absolute;left:10px;top:1px;width:63px;height:2px;background:#262722}.case-sticker{position:absolute;left:112px;top:298px;width:57px;height:34px;background:#ece5d8;color:#675246;font:16px/.8 var(--editorial);text-align:center;padding:4px;transform:rotate(-10deg);box-shadow:1px 2px 2px #3f352c30;border:1px solid #b6a18c}.case-sticker em{font-style:italic}.power-light{position:absolute;right:34px;bottom:17px;width:5px;height:5px;background:#b3bd81;box-shadow:0 0 5px #e6e2a4;border-radius:50%}.power-label{position:absolute;right:46px;bottom:13px;font:11px var(--terminal);color:#665847}.side-vents{position:absolute;top:32px;left:25px;right:22px;height:166px;background:repeating-linear-gradient(0deg,transparent 0 7px,#5e594c 7px 9px,#dfd4bc 9px 10px);opacity:.55}.rear-vents{position:absolute;inset:30px 35px 70px;background:repeating-linear-gradient(0deg,transparent 0 9px,#5e594c 9px 12px)}.serial-sticker{position:absolute;bottom:30px;left:28px;font:15px/1 var(--terminal);background:#e2d9c9;color:#635848;padding:10px;transform:rotate(5deg)}.monitor-foot{--w:282px;--h:23px;--d:155px;top:341px;left:14px}.keyboard{--w:376px;--h:143px;--d:24px;left:-33px;top:383px;transform:translateZ(150px) rotateX(65deg);transform-origin:center 0}.keyboard>.front{border-radius:5px}.keyboard-recess{position:absolute;inset:11px 12px 25px;background:#9e927d;box-shadow:inset 2px 3px 4px #3f352c80;display:flex;flex-direction:column;gap:5px;padding:6px;transform-style:preserve-3d}.key-row{display:flex;gap:4px;flex:1;transform-style:preserve-3d}.key{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;background:linear-gradient(140deg,#f5eddb,#d5c9b4);border:1px solid #a1947f;border-radius:3px;font:11px/1 var(--terminal);color:#675b4a;box-shadow:0 3px 0 #ad9e87,1px 4px 2px #554d4066;transform:translateZ(4px);animation:key-press 3.9s infinite}.key:nth-child(3n){animation-delay:-.7s;animation-duration:3.2s}.key:nth-child(4n+1){animation-delay:-1.9s;animation-duration:4.7s}.key:nth-child(5n+2){animation-delay:-2.3s;animation-duration:2.8s}.key-row:nth-child(2) .key{animation-delay:-1.1s}.key-row:nth-child(3) .key{animation-delay:-2.8s}.key-row:nth-child(4) .key{animation-delay:-.3s}.key.wide{flex:1.7}.key.space{flex:7}.keyboard-label{position:absolute;bottom:6px;right:16px;font:12px/1 var(--terminal);letter-spacing:.1em;color:#776853}.computer-caption{display:flex;justify-content:space-between;align-items:center;gap:18px;max-width:510px;margin:0 auto;padding-top:15px;border-top:1px solid #3f352c32;font:15px/1.2 var(--terminal);letter-spacing:.025em}.computer-caption button{display:inline-flex;gap:8px;align-items:center;white-space:nowrap;min-height:44px;padding:6px 0;border:0;background:none;font:16px var(--terminal);text-decoration:underline;text-underline-offset:4px}.computer-caption button:hover{color:#806452}.hero-baseline{position:absolute;bottom:27px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #3f352c32;padding-top:22px;color:#695547;font-size:16px}.retro-hero .hero-scroll{position:static;width:auto;height:auto;border:0;border-radius:0;font:16px var(--terminal);color:var(--brown);display:flex;gap:18px;align-items:center}.retro-hero .hero-scroll:hover{background:none;transform:translateY(2px)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lang-zh .retro-hero h1{font-family:"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",sans-serif;font-size:clamp(42px,4.5vw,70px);line-height:1.32;letter-spacing:-.02em}.lang-zh .retro-hero .hero-accent{font-style:normal}.lang-zh .memo-body{font-size:18px;line-height:1.22}.lang-zh .memo-title{font-size:13px}.lang-zh .retro-kicker{font-size:16px}.lang-zh .computer-caption{font-size:13px}
.key{animation-delay:calc(var(--row-delay,0s) + var(--key-delay,0s))!important}.key:nth-child(3n){--key-delay:-.7s}.key:nth-child(4n+1){--key-delay:-1.9s}.key:nth-child(5n+2){--key-delay:-2.3s}.key-row:nth-child(2){--row-delay:-1.1s}.key-row:nth-child(3){--row-delay:-2.8s}.key-row:nth-child(4){--row-delay:-.3s}.key-row:nth-child(5){--row-delay:-1.6s}
@keyframes cursor-blink{0%,48%{opacity:1}49%,100%{opacity:0}}@keyframes scan-pass{to{transform:translateY(420%)}}@keyframes key-press{0%,7%,13%,100%{transform:translateZ(4px);box-shadow:0 3px 0 #ad9e87,1px 4px 2px #554d4066}9%,11%{transform:translateZ(0px);box-shadow:0 1px 0 #ad9e87}}
.computer-scene:not(.is-typing) .key{animation-play-state:paused}.computer-scene.scene-paused *,.computer-scene.scene-paused *:before,.computer-scene.scene-paused *:after{animation-play-state:paused!important}.motion-off .computer-rig,.motion-off .computer-scene:hover .computer-rig{transform:rotateX(-7deg) rotateY(-18deg)!important;transition:none!important}.motion-off .typing-cursor{opacity:0}.motion-off .key{transform:translateZ(4px)!important}

@font-face{font-family:InterDNA;src:url('fonts/Inter-Variable-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Jost;src:url('fonts/Jost-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:EBGaramond;src:url('fonts/EBGaramond-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--white:#fff;--black:#000;--cream:#E6DCD3;--stone:#B4A79E;--mocha:#BDA18C;--brown:#3F352C;--ink:#24211e;--muted:#74716d;--blue:#8EA9C9;--sage:#9DAF9E;--sky:#F3F6FA;--line:#dedbd7;--type:InterDNA,"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",Arial,sans-serif;--editorial:EBGaramond,"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",Georgia,serif;--ease:cubic-bezier(.22,.75,.18,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--white);color:var(--ink);font:400 16px/1.65 var(--type);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--type);font-weight:500;letter-spacing:-.045em;line-height:1.15}h1{font-size:clamp(46px,5.9vw,88px)}h2{font-size:clamp(29px,3.2vw,46px)}h3{font-size:23px}em{font-style:normal;font-weight:inherit}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border-radius:0}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}[hidden]{display:none!important}:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:var(--mocha);color:var(--black)}.wrap{width:min(1320px,calc(100% - 100px));margin-inline:auto}.small-label,.eyebrow{font:500 11px/1.5 var(--type);letter-spacing:.1em;text-transform:uppercase}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid currentColor;padding:8px 0;font-size:14px}.text-link span:last-child{transition:transform .2s}.text-link:hover span:last-child{transform:translate(2px,-2px)}.button,.pill-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--ink);border-radius:40px;padding:13px 21px;min-height:49px;font-size:14px;line-height:1.4;background:var(--ink);color:white}.pill-link{background:none;color:inherit;border-color:#ffffff40}.button:hover{background:var(--brown)}.pill-link:hover{background:#ffffff14}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--ink);color:white;padding:12px 20px}.skip:focus{top:12px}
/* One quiet navigation system, with the original Pixel wordmark. */
.header{height:88px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:28px;position:sticky;top:0;z-index:50;background:#fffffff5;backdrop-filter:blur(14px);border-bottom:1px solid #0000000a}.logo-lockup{display:inline-flex;flex-direction:column;align-items:center;flex:none;width:126px;gap:3px;padding-block:2px;line-height:1;text-decoration:none}.brand-pixel{display:block;width:100%;height:auto;aspect-ratio:1000/360}.brand-caption{display:block;font:500 9px/1.4 var(--type);letter-spacing:1.4px;white-space:nowrap;text-align:center}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:38px;font-size:14px}.desktop-nav a{padding:9px 0}.desktop-nav a:hover,.desktop-nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}sup{font-size:10px;margin-left:4px}.header-actions{display:flex;align-items:center;gap:20px;margin-left:22px}.languages{display:flex;align-items:center;gap:8px;font-size:11px}.languages button{background:none;border:0;min-height:44px;min-width:27px;font-size:12px;padding:0;color:var(--muted)}.languages button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.languages span{color:var(--stone)}.menu-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:6px;border:1px solid var(--line);border-radius:50%;background:white}.menu-toggle span{width:17px;height:1px;background:currentColor}dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;background:white;color:var(--ink);padding:24px 28px}dialog::backdrop{background:#0007}.menu-head{display:flex;align-items:center;justify-content:space-between}.menu-close{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:none;font-size:27px}.mobile-nav{display:flex;flex-direction:column;gap:22px;margin:60px 0}.mobile-nav a{font:500 38px/1.2 var(--type);letter-spacing:-.045em}.menu-email{font-size:clamp(14px,3.8vw,17px);overflow-wrap:anywhere;border-bottom:1px solid currentColor}.menu-is-open{overflow:hidden}
/* The signature computer stays. Everything around it is pared back. */
.computer-hero{position:relative;min-height:790px;height:auto;max-height:none;padding-block:60px 80px;background:var(--sky);color:var(--ink);overflow:hidden;display:flex;align-items:center}.computer-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.hero-core{padding:55px 0 80px;position:relative;z-index:2}.hero-label{position:absolute;top:27px;left:50px;right:50px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;color:#646d79}.hero-kicker{font-size:12px;letter-spacing:.03em;margin-bottom:27px}.computer-hero h1{font:500 clamp(45px,4.6vw,72px)/1.1 var(--type);letter-spacing:-.055em;max-width:620px}.hero-description{max-width:400px;font-size:17px;line-height:1.7;margin-top:28px}.hero-links{display:flex;align-items:center;gap:28px;margin-top:31px}.hero-links .button{background:var(--ink);border-color:var(--ink);color:white}.hero-links .text-link{font-size:14px}.hero-foot{position:absolute;bottom:25px;left:50px;right:50px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.06em;color:#646d79}.hero-scroll{display:flex;align-items:center;gap:26px}.hero-scroll span:last-child{font-size:18px}.computer-column{min-width:0;padding-bottom:0;--scene-scale:.94}.computer-scene{height:calc(680px * var(--scene-scale))}.computer-stage{top:0;transform:translateX(-50%) scale(var(--scene-scale));transform-origin:50% 0}.computer-caption{max-width:460px;font:10px/1.5 var(--type);letter-spacing:.04em}.computer-caption button{font:12px var(--type);gap:10px}.memo-foot{font-size:12px}.intro-strip{display:flex;align-items:center;justify-content:space-between;gap:65px;padding-block:50px;border-bottom:1px solid var(--line)}.intro-strip>p{max-width:790px;font-size:22px;line-height:1.5;letter-spacing:-.025em}.intro-strip .text-link{white-space:nowrap;flex:none}
/* Essential services: generous rows, short definitions, three tonal accents. */
.services-teaser{padding-block:78px 90px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:34px}.section-heading .small-label{display:none}.section-heading>p{font-size:16px;max-width:430px;color:var(--muted)}.service-row{display:grid;grid-template-columns:18px minmax(250px,1fr) 1.2fr 24px;gap:27px;align-items:center;border-top:1px solid var(--line);padding:34px 0}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row>span{font-size:0;width:14px;height:14px;border-radius:50%;background:var(--blue)}.service-row:nth-of-type(2)>span{background:var(--sage)}.service-row:nth-of-type(3)>span{background:var(--mocha)}.service-row h3{font:500 29px/1.25 var(--type);letter-spacing:-.04em}.service-row p{font-size:16px;line-height:1.5;color:var(--muted);max-width:550px}.service-row b{font-size:22px;font-weight:400;transition:transform .2s}.service-row:hover b{transform:translate(3px,-3px)}
/* Compact home selection. The complete set has its own page. */
.featured-work{background:var(--black);color:white;padding-block:62px 55px}.featured-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:28px}.featured-heading h2{font-size:18px;font-weight:400;letter-spacing:-.02em}.featured-heading .pill-link{font-size:13px;min-height:44px;padding:11px 17px;gap:24px}.featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.featured-image{position:relative;aspect-ratio:1.6;overflow:hidden;background:#181818;border-radius:3px}.featured-image img{width:100%;height:100%;object-fit:contain;transition:transform .6s var(--ease)}.featured-image>span{position:absolute;right:10px;bottom:10px;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#000d;color:white;font-size:16px}.featured-card a:hover img{transform:scale(1.035)}.featured-card h3{font-size:16px;font-weight:500;letter-spacing:-.025em;line-height:1.35;margin-top:16px}.featured-card p{font-size:12px;color:#aaa;margin-top:5px}.featured-note{font-size:11px;color:#999;margin-top:30px}.work-section{padding-block:65px 75px}.work-section .section-heading{align-items:end;margin-bottom:38px}.work-section h1{font-size:64px}.work-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0 30px;border-top:1px solid var(--line)}.filters{display:flex;flex-wrap:wrap;gap:7px}.filters button{border:1px solid transparent;border-radius:30px;background:none;padding:9px 14px;font-size:12px;min-height:42px}.filters button[aria-pressed=true]{background:var(--ink);color:white}.filters button:hover{border-color:var(--ink)}#result-count{font-size:12px;white-space:nowrap;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 28px}.project-card{min-width:0}.project-image{display:block;position:relative;aspect-ratio:1.6;overflow:hidden;border:1px solid var(--line);border-radius:3px;background:#fafafa}.project-image img{width:100%;height:100%;object-fit:contain;transition:transform .65s var(--ease)}.project-image:hover img{transform:scale(1.03)}.project-open{position:absolute;bottom:14px;right:14px;background:#fff;color:#111;min-height:38px;border:1px solid #0002;border-radius:30px;display:flex;gap:20px;align-items:center;padding:9px 13px;font-size:11px}.project-info{padding-top:17px;display:flex;align-items:start;justify-content:space-between;gap:20px}.project-info h3{font-size:20px;letter-spacing:-.035em}.project-info p{font-size:12px;margin-top:5px;color:var(--muted)}.project-no{font-size:10px;color:var(--muted)}.project-line{font-size:14px;margin-top:10px}.project-info a:hover{text-decoration:underline;text-underline-offset:5px}.collection-note{display:flex;justify-content:space-between;gap:40px;border-top:1px solid var(--line);margin-top:55px;padding-top:25px}.collection-note p{font-size:12px;color:var(--muted);max-width:600px}
/* Reference-inspired FAQs, adapted to the studio's actual services. */
.faq-section{padding-block:75px 85px}.faq-heading{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:32px}.faq-heading h2{font-size:33px}.faq-heading p{font-size:15px;color:var(--muted);max-width:360px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:65px;align-items:start}.faq-grid details{border-top:1px solid var(--line)}.faq-grid summary{display:flex;gap:25px;justify-content:space-between;align-items:center;padding:26px 0;list-style:none;font-size:18px;letter-spacing:-.025em;line-height:1.5;color:var(--muted);cursor:pointer}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary:after{content:'⌄';font-size:23px;line-height:1;transition:transform .2s}.faq-grid details[open] summary,.faq-grid summary:hover{color:var(--ink)}.faq-grid details[open] summary:after{transform:rotate(180deg)}.faq-grid details>p{padding:0 27px 28px 0;font-size:15px;line-height:1.7;max-width:590px;color:#55514d}
/* Contact is monochrome at rest; transient work images stay behind the CTA. */
.contact-section{position:relative;isolation:isolate;overflow:hidden;background:#000;color:#fff;min-height:490px;margin:0 12px;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:70px 0;scroll-margin-top:98px}.contact-content{position:relative;z-index:2;text-align:center;pointer-events:none}.contact-content a{pointer-events:auto}.contact-content>.small-label{font-size:10px;letter-spacing:.11em;color:#aaa}.contact-content h2{font-size:clamp(35px,4.2vw,62px);font-weight:500;line-height:1.12;letter-spacing:-.05em;max-width:770px;margin:25px auto 0;text-shadow:0 2px 20px #000}.contact-content>p{font-size:16px;line-height:1.65;color:#aaa;margin-top:24px;text-shadow:0 2px 8px #000}.contact-cta{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid #ffffff40;border-radius:50px;min-height:52px;background:#0009;padding:13px 24px;font-size:14px;margin-top:30px;backdrop-filter:blur(4px)}.contact-cta:hover{background:#fff;color:#000}.contact-direct{display:flex;justify-content:center;gap:27px;flex-wrap:wrap;font-size:12px;color:#aaa;margin-top:33px}.contact-direct a:hover{color:white;text-decoration:underline;text-underline-offset:4px}.contact-trail{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;opacity:.83}.contact-trail:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,#000a,transparent 72%);z-index:20;pointer-events:none}.trail-image{position:absolute;width:230px;height:auto;aspect-ratio:1.6;object-fit:cover;border-radius:3px;box-shadow:0 15px 45px #0008;opacity:0;filter:grayscale(1);transform:translate(-50%,-50%) rotate(var(--rotation,0deg)) scale(.85);transition:opacity .5s ease,filter .6s ease,transform .75s var(--ease);will-change:transform,opacity}.trail-image.is-visible{opacity:1;filter:grayscale(0);transform:translate(-50%,-50%) rotate(var(--rotation,0deg)) scale(1)}.contact-section:not(.is-interacting) .trail-image{opacity:0;filter:grayscale(1);transform:translate(-50%,-50%) rotate(var(--rotation,0deg)) scale(.92)}
.footer{display:grid;grid-template-columns:1fr 1fr;gap:38px;padding-block:45px 24px}.footer-wordmark{width:180px;gap:5px;align-self:start}.footer-wordmark .brand-caption{font-size:11px;letter-spacing:2px}.footer-links{display:flex;justify-content:end;align-items:center;flex-wrap:wrap;gap:24px;font-size:12px}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.footer-fine{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;font-size:10px;color:var(--muted)}.footer-fine button{border:0;padding:0;background:none;font-size:10px}.footer-fine a:hover,.footer-fine button:hover{color:var(--ink)}
/* Inner pages share the same typography, spacing and white canvas. */
.page-hero{padding-block:65px 55px}.page-hero h1{margin-top:23px;max-width:1080px;font-size:clamp(44px,5.5vw,78px)}.page-hero>p{font-size:18px;line-height:1.7;margin-top:25px;max-width:660px;color:#625c56}.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding-bottom:30px}.service-card{border-top:1px solid var(--line);padding-top:24px}.service-card>span{font-size:11px;color:var(--muted)}.service-card h2{font-size:28px;line-height:1.2;margin-top:22px;letter-spacing:-.035em;min-height:68px}.service-card>p{font-size:15px;line-height:1.7;color:#625c56;margin-top:20px;min-height:102px}.service-card ul{list-style:none;margin:24px 0;padding:0;border-top:1px solid var(--line)}.service-card li{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.55}.service-card>.text-link{font-size:13px}.quote-section{background:#EEF3F8;color:var(--ink);padding-block:70px}.quote-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.quote-intro h2{font-size:43px;margin:23px 0;line-height:1.15}.quote-intro>p{font-size:16px;color:#625c56;max-width:390px}.quote-intro>a{overflow-wrap:anywhere;display:block;font-size:18px;margin-top:27px}.quote-intro>a+a{margin-top:9px}.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:23px}.quote-fields label{display:flex;flex-direction:column;gap:9px;font-size:12px}.quote-fields input,.quote-fields select,.quote-fields textarea,.quote-ready textarea{width:100%;padding:13px;font:15px/1.5 var(--type);background:#fff;border:1px solid #d8d3cd;border-radius:3px;color:var(--ink)}.quote-fields input,.quote-fields select{min-height:49px}.quote-fields textarea{min-height:125px;resize:vertical}.quote-full{grid-column:1/-1}.quote-form-note{font-size:11px;line-height:1.6;color:#74716d;margin:20px 0}#quote-form .button{background:var(--ink);color:white;border-color:var(--ink);font-size:13px}.quote-ready{margin-top:28px;border-top:1px solid var(--line);padding-top:25px}.quote-ready h3{font-size:23px;margin-bottom:13px}.quote-ready>p{font-size:14px}.quote-ready textarea{min-height:200px;margin-top:17px}.quote-ready-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:20px}.quote-ready-actions button{background:none;border:0;font-size:13px}.about-lede{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:0 45px;align-items:start}.about-lede h2{font-size:35px;line-height:1.25}.about-lede p{font-size:18px;line-height:1.7;max-width:520px;color:#625c56}.about-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding-block:30px 70px}.about-principles article{border-top:1px solid var(--line);padding-top:25px}.about-principles span{font-size:11px;color:var(--muted)}.about-principles h3{font-size:24px;margin:23px 0 16px}.about-principles p{font-size:15px;color:#625c56;max-width:360px}.about-founder{background:#EDF2EE;padding-block:58px}.about-founder>.wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.about-founder h2{font-size:55px;margin-top:15px}.about-founder p{font-size:18px;max-width:570px}.about-founder .text-link{margin-top:23px}.process-section{display:grid;grid-template-columns:1fr 1.1fr;gap:85px;padding-block:70px}.process-section h2{font-size:36px;margin-top:24px;line-height:1.2}.process-list details{border-bottom:1px solid var(--line)}.process-list summary{display:flex;align-items:center;gap:23px;padding:24px 0;list-style:none;cursor:pointer}.process-list summary::-webkit-details-marker{display:none}.process-list summary>span{font-size:11px;color:var(--muted)}.process-list h3{font:500 24px/1.3 var(--type);letter-spacing:-.035em}.process-list summary>b{font-size:23px;font-weight:400;margin-left:auto}.process-list details[open] summary>b{transform:rotate(45deg)}.process-list details p{font-size:15px;color:#625c56;padding:0 20px 25px 36px}.value-page-body{padding-bottom:70px}.value-points{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding-top:25px;border-top:1px solid var(--line)}.value-points article>span{font-size:11px;color:var(--muted)}.value-points h3{font-size:23px;margin:25px 0 15px}.value-points p{font-size:15px;color:#625c56}.value-page-body>.text-link{margin-top:35px}.case-intro{padding-top:40px}.case-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin:45px 0 30px}.case-heading h1{font-size:clamp(40px,5vw,75px);margin-top:18px}.case-heading>p{font-size:18px;max-width:540px;color:#625c56}.case-actions{display:flex;align-items:center;gap:27px;margin-bottom:40px}.preview-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--ink);color:white;font-size:10px;letter-spacing:.05em}.preview-bar button{padding:8px 13px;border:0;border-radius:30px;font-size:12px;background:none;color:#bbb}.preview-bar button[aria-pressed=true]{background:white;color:#111}.case-stage{height:750px;max-height:85vh;min-height:440px;position:relative;overflow:hidden;background:#ddd}.case-stage iframe{position:absolute;top:0;left:0;max-width:none;border:0;background:white;transform-origin:top left}.case-note{font-size:12px;max-width:780px;margin-top:16px;color:var(--muted)}.case-next{padding-block:55px}.case-next a{display:flex;justify-content:space-between;gap:30px;font:500 42px/1.2 var(--type);letter-spacing:-.045em;border-top:1px solid var(--line);margin-top:20px;padding-top:25px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:15px 20px;z-index:80;max-width:90%}
.lang-zh h1,.lang-zh h2,.lang-zh h3{font-family:InterDNA,"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",sans-serif;letter-spacing:-.02em;line-height:1.35}.lang-zh .computer-hero h1{font-size:clamp(34px,4.1vw,65px)}.lang-zh .service-row h3{font-size:27px}.lang-zh .computer-caption{font:11px var(--type)}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .contact-trail{display:none}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header{padding-inline:28px}.desktop-nav{gap:27px}.header-actions{margin-left:10px}.computer-hero{min-height:660px}.computer-hero h1{font-size:5.1vw}.computer-column{--scene-scale:.79}.computer-caption{font-size:9px}.intro-strip{gap:35px}.intro-strip>p{font-size:20px}.service-row{grid-template-columns:16px 1fr 1.2fr 20px;gap:20px}.service-row h3{font-size:26px}.service-row p{font-size:15px}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.featured-card h3{font-size:18px}.faq-grid{column-gap:40px}.quote-layout{gap:45px}.service-cards{gap:25px}.service-card h2{font-size:24px}.service-card>p{font-size:14px;min-height:120px}.footer-links{gap:18px}.about-lede,.process-section{gap:50px}}
@media(max-width:760px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 40px)}.header{height:78px;padding:0 20px;gap:15px}.desktop-nav{display:none}.header-actions{margin-left:auto;gap:15px}.menu-toggle{display:flex}.brand.logo-lockup{width:118px}.computer-hero{height:auto;min-height:0;max-height:none;display:block;padding-block:0}.computer-layout{grid-template-columns:1fr;gap:0}.hero-core{text-align:center;padding:83px 0 8px}.hero-label{left:20px;right:20px;top:25px;justify-content:center;font-size:9px}.hero-label span:last-child{display:none}.hero-kicker{font-size:11px;margin-bottom:23px}.computer-hero h1{font-size:clamp(37px,7.8vw,57px);line-height:1.12;max-width:560px;margin:auto}.hero-description{font-size:15px;max-width:350px;margin:23px auto 0}.hero-links{justify-content:center;gap:24px;margin-top:25px}.hero-links .button{font-size:13px;padding:13px 18px;gap:23px}.hero-links .text-link{font-size:13px}.computer-column{padding-bottom:85px}.computer-column{--scene-scale:.78}.computer-caption{max-width:380px;font:9px var(--type);gap:12px}.computer-caption button{font-size:11px}.hero-foot{bottom:25px;left:20px;right:20px;font-size:9px}.hero-foot>span{display:none}.hero-scroll{width:100%;justify-content:space-between}.intro-strip{display:block;padding-block:33px}.intro-strip>p{font-size:19px;line-height:1.55}.intro-strip .text-link{margin-top:21px;font-size:13px}.services-teaser{padding-block:48px 55px}.section-heading{gap:20px;margin-bottom:25px}.section-heading h2{font-size:30px}.section-heading .text-link{font-size:12px;gap:15px;white-space:nowrap}.service-row{grid-template-columns:13px 1fr 20px;gap:15px;padding:26px 0}.service-row>span{width:11px;height:11px}.service-row h3{font-size:24px}.service-row p{grid-column:2;font-size:14px}.service-row b{grid-column:3;grid-row:1;font-size:20px}.featured-work{padding-block:40px}.featured-heading{margin-bottom:22px}.featured-heading h2{font-size:17px}.featured-grid{gap:26px 18px}.featured-card h3{font-size:15px;margin-top:12px}.featured-card p{font-size:11px}.featured-image>span{width:25px;height:25px;font-size:13px;bottom:8px;right:8px}.featured-note{margin-top:25px;font-size:10px}.work-section{padding-block:42px 50px}.work-section h1{font-size:42px}.work-section .section-heading{display:block}.work-section .section-heading>p{margin-top:22px;font-size:15px}.work-controls{display:block;padding-bottom:24px}.filters{gap:5px}.filters button{font-size:11px;padding:8px 11px}.work-controls>span{display:block;margin-top:13px}.project-grid{grid-template-columns:1fr;gap:32px}.project-info h3{font-size:20px}.project-line{font-size:13px}.project-open{right:11px;bottom:11px;font-size:10px;min-height:34px;padding:8px 11px}.collection-note{display:block;margin-top:35px;padding-top:20px}.collection-note p{margin-top:14px;font-size:11px}.faq-section{padding-block:48px 55px}.faq-heading{display:block;margin-bottom:24px}.faq-heading h2{font-size:28px}.faq-heading>p{font-size:14px;margin-top:20px}.faq-grid{grid-template-columns:1fr;gap:0}.faq-grid summary{font-size:16px;padding-block:23px;gap:20px}.faq-grid details>p{font-size:14px;padding-right:10px}.contact-section{margin:0 8px;min-height:430px;padding-block:55px;scroll-margin-top:88px}.contact-content{width:calc(100% - 40px)}.contact-content h2{font-size:38px;line-height:1.14;margin-top:22px}.contact-content>p{font-size:14px;margin-top:22px}.contact-cta{font-size:13px;padding:12px 21px;min-height:47px;margin-top:26px}.contact-direct{gap:12px;flex-direction:column;font-size:11px;margin-top:25px}.footer{grid-template-columns:1fr;gap:29px;padding-block:34px 23px}.footer-wordmark{width:165px}.footer-links{justify-content:start;gap:22px;font-size:12px}.footer-fine{gap:16px;font-size:10px;padding-top:20px}.page-hero{padding-block:43px}.page-hero h1{font-size:43px;margin-top:20px}.page-hero>p{font-size:16px;margin-top:23px}.service-cards{grid-template-columns:1fr;gap:35px;padding-bottom:10px}.service-card h2{font-size:27px;min-height:0;margin-top:15px}.service-card>p{font-size:15px;min-height:0;max-width:580px;margin-top:18px}.service-card ul{margin-block:20px}.quote-section{padding-block:45px}.quote-layout{grid-template-columns:1fr;gap:35px}.quote-intro h2{font-size:35px;margin-block:20px}.quote-intro>p{font-size:15px}.quote-fields{grid-template-columns:1fr;gap:20px}.quote-full{grid-column:auto}.quote-intro>a{font-size:18px}.about-lede{grid-template-columns:1fr;gap:23px;padding-bottom:35px}.about-lede h2{font-size:29px}.about-lede p{font-size:16px}.about-principles{grid-template-columns:1fr;gap:29px;padding-block:10px 45px}.about-principles h3{font-size:23px;margin-block:17px 12px}.about-principles p{font-size:15px;max-width:540px}.about-founder{padding-block:43px}.about-founder>.wrap{grid-template-columns:1fr;gap:24px}.about-founder h2{font-size:44px}.about-founder p{font-size:16px}.process-section{grid-template-columns:1fr;gap:25px;padding-block:45px}.process-section h2{font-size:30px;margin-top:19px}.process-list h3{font-size:22px}.process-list summary{padding-block:21px}.process-list details p{font-size:14px}.value-page-body{padding-bottom:45px}.value-points{grid-template-columns:1fr;gap:30px}.value-points h3{margin-top:17px}.case-intro{padding-top:30px}.case-heading{grid-template-columns:1fr;gap:23px;margin-block:30px 25px}.case-heading h1{font-size:44px}.case-heading>p{font-size:16px}.case-actions{flex-wrap:wrap;gap:18px;margin-bottom:28px}.case-preview{width:calc(100% - 20px)}.preview-bar{padding:8px 10px}.preview-bar button{font-size:11px}.case-stage{height:620px;min-height:400px;max-height:80vh}.case-note{font-size:11px}.case-next{padding-block:40px}.case-next a{font-size:32px}.lang-zh .computer-hero h1{font-size:clamp(31px,6.4vw,45px)}.lang-zh .service-row h3{font-size:23px}.lang-zh .contact-content h2{font-size:33px}}
@media(max-width:450px){.computer-column{--scene-scale:.65}.hero-core{padding-top:80px}.computer-hero h1{font-size:clamp(32px,8.3vw,38px)}.hero-description{max-width:315px;font-size:14px}.hero-links{gap:21px}.computer-caption{max-width:100%}.featured-grid{grid-template-columns:1fr;gap:26px}.featured-card h3{font-size:18px}.featured-card p{font-size:12px}.contact-content h2{font-size:33px}}
@media(hover:none),(pointer:coarse){.contact-trail{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.contact-trail{display:none}}

/* Team experience and a direct invitation to discuss the brief. */
.team-background{background:#EDF2EE;padding-block:60px}.team-background h2{font-size:clamp(32px,3.5vw,48px);margin-top:20px}.team-credentials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:38px}.team-credentials article{border-top:1px solid #cbd7cd;padding-top:23px}.team-credentials h3{font-size:23px;line-height:1.3}.team-credentials p{font-size:15px;color:#536057;line-height:1.7;margin-top:17px}.team-standards{font-size:16px;max-width:850px;border-top:1px solid #cbd7cd;margin-top:36px;padding-top:25px}.about-invitation{border-top:1px solid var(--line);padding-block:44px 65px;display:flex;justify-content:space-between;align-items:center;gap:45px}.about-invitation h2{font-size:clamp(29px,3vw,40px)}.about-invitation p{max-width:610px;margin-top:20px;font-size:16px;color:var(--muted)}.about-invitation .button{flex:none}.contact-direct a{overflow-wrap:anywhere}
@media(max-width:760px){.team-background{padding-block:44px}.team-credentials{grid-template-columns:1fr;gap:27px;margin-top:28px}.team-credentials h3{font-size:23px}.team-credentials p{max-width:560px;margin-top:12px}.team-standards{font-size:15px;margin-top:28px}.about-invitation{display:block;padding-block:34px 45px}.about-invitation p{font-size:15px}.about-invitation .button{margin-top:25px}}

/* Keep the caption in normal flow below the full projected 3D scene. */
.computer-caption{position:relative;isolation:isolate;flex-wrap:wrap;row-gap:4px;line-height:1.5}
.computer-caption>span{flex:1 1 150px;min-width:0}
.computer-caption button{flex:0 0 auto;margin-left:auto}
/* A touch-accessible work strip replaces the decorative mouse trail. */
.contact-work{display:none;max-width:640px;margin:38px auto 0;padding-top:25px;border-top:1px solid #ffffff26;pointer-events:auto;text-align:left}
.contact-work>.small-label{font-size:9px;color:#aaa;letter-spacing:.08em;margin-bottom:12px}
.contact-work-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#666 #222;padding:6px 4px 16px}
.contact-work-card{display:block;flex:0 0 74%;max-width:260px;min-width:0;scroll-snap-align:start;border-radius:3px}
.contact-work-card img{width:100%;aspect-ratio:1.6;height:auto;object-fit:contain;border-radius:3px;background:#181818;filter:grayscale(1);transition:filter .35s ease}
.contact-work-card>span{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:12px;line-height:1.4;color:#ccc}
.contact-work-card:focus-visible{outline-offset:3px}
.contact-work-card:is(:hover,:focus-visible,:active) img{filter:grayscale(0)}
.motion-off .contact-work{display:block}
.motion-off .contact-trail{display:none}
@media(max-width:760px),(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.contact-work{display:block}.contact-trail{display:none}}
