:root{--paper:#f5f2ea;--paper2:#efeadd;--ink:#161513;--ink-soft:#4a4742;--line:#16151324;--line-strong:#16151352;--accent:#5b4636;--accent2:#33424e;--edge:clamp(20px, 4vw, 56px);--edge-l:max(var(--edge), env(safe-area-inset-left));--edge-r:max(var(--edge), env(safe-area-inset-right))}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--paper)}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;overflow-x:hidden}a{color:inherit;text-decoration:none}.wrap{max-width:1400px;padding:0 var(--edge-r) 0 var(--edge-l);margin:0 auto}.en{letter-spacing:.03em;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:500}.serif{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif}.display{font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-style:italic;font-weight:500}h1,h2,h3{font-weight:900}.nav{z-index:50;padding:max(22px, calc(env(safe-area-inset-top) + 14px)) var(--edge-r) 22px var(--edge-l);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav .logo{letter-spacing:.04em;align-items:center;gap:10px;font-size:15px;display:flex}.nav .logo-mark{flex-shrink:0;width:auto;height:26px;display:block}.nav .logo-text{align-items:baseline;gap:10px;display:flex}.nav .logo .zh{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:17px;font-weight:700}.nav .logo .en{letter-spacing:.1em;text-transform:uppercase;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11px;font-weight:500}.nav ul{gap:clamp(18px,2.4vw,34px);list-style:none;display:flex}.nav ul a{letter-spacing:.08em;text-transform:uppercase;padding-bottom:3px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12.5px;font-weight:500;position:relative}.nav ul a:after{content:"";transform-origin:0;height:1px;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav ul a:hover:after{transform:scaleX(1)}.nav .cta{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:8px 18px;font-size:12px;transition:background .25s,color .25s}.nav-toggle{cursor:pointer;z-index:60;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:34px;height:34px;padding:0;display:none}.nav-toggle span{width:22px;height:1px;transition:transform .25s,opacity .25s;display:block}.nav-toggle.open span:first-child{transform:translateY(6px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.nav ul li.nav-cta-mobile{display:none}.nav-home{background:linear-gradient(#f5f2eaeb 0%,#f5f2ea00 100%)}.nav-home .logo,.nav-home ul a{color:var(--ink)}.nav-home .logo .en{color:var(--ink-soft)}.nav-home ul a:after{background:var(--ink)}.nav-home .cta{border:1px solid var(--line-strong);color:var(--ink)}.nav-home .cta:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.nav-home .nav-toggle span{background:var(--ink)}.nav-works{border-bottom:1px solid var(--line);background:linear-gradient(#f5f2eaf5 0%,#f5f2eae0 80% 100%)}.nav-works .logo,.nav-works ul a{color:var(--ink)}.nav-works .logo .en{color:var(--ink-soft)}.nav-works ul a.active{color:var(--accent)}.nav-works ul a:after{background:var(--ink)}.nav-works .cta{border:1px solid var(--line-strong);color:var(--ink)}.nav-works .cta:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.nav-works .nav-toggle span{background:var(--ink)}.nav-home.nav-scrolled,.nav-works.nav-scrolled{background:var(--paper);border-bottom:1px solid var(--line)}.nav-project.nav-scrolled{background:var(--ink);border-bottom:1px solid #f5f2ea26}.nav-project{background:linear-gradient(#1615138c 0%,#16151300 100%)}.nav-project .logo{color:var(--paper)}.nav-project .logo .en{color:#f5f2eab3}.nav-project ul a{color:#f5f2ead9}.nav-project ul a:after{background:var(--paper)}.nav-project .cta{color:var(--paper);border:1px solid #f5f2ea80}.nav-project .cta:hover{background:var(--paper);color:var(--ink)}.nav-project .nav-toggle span{background:var(--paper)}@media (max-width:840px){.nav-toggle{display:flex}.nav .cta{display:none}.nav ul{padding:8px var(--edge-r) 26px var(--edge-l);opacity:0;visibility:hidden;flex-direction:column;align-items:stretch;gap:0;margin:0;transition:transform .25s,opacity .25s,visibility 0s linear .25s;position:absolute;top:100%;left:0;right:0;transform:translateY(-6px)}.nav ul.open{opacity:1;visibility:visible;transition:transform .25s,opacity .25s;transform:translateY(0)}.nav ul li{width:100%;padding:14px 0}.nav ul li.nav-cta-mobile{padding-top:18px;display:block;border-bottom:none!important}.nav ul li.nav-cta-mobile .cta{display:inline-block}.nav-home ul,.nav-works ul{background:var(--paper);border-bottom:1px solid var(--line)}.nav-home ul li,.nav-works ul li{border-bottom:1px solid var(--line)}.nav-home ul li:last-child,.nav-works ul li:last-child{border-bottom:none}.nav-project ul{background:var(--ink);border-bottom:1px solid #f5f2ea26}.nav-project ul li{border-bottom:1px solid #f5f2ea26}.nav-project ul li:last-child{border-bottom:none}}footer{border-top:1px solid var(--line);padding:32px 0 40px}footer .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}footer .en{letter-spacing:.05em;color:var(--ink-soft);font-size:11px}footer .social{gap:22px;display:flex}footer .social a{letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--line-strong);padding-bottom:2px;font-size:11px}footer .social a:hover{color:var(--accent);border-color:var(--accent)}.ph1{background:linear-gradient(135deg,#3c3630 0%,#221f1b 100%)}.ph2{background:linear-gradient(135deg,#2c3a44 0%,#161c20 100%)}.ph3{background:linear-gradient(135deg,#4a4038 0%,#241f1a 100%)}.ph4{background:linear-gradient(135deg,#333d3a 0%,#181c1b 100%)}.ph5{background:linear-gradient(135deg,#453a3a 0%,#201a1a 100%)}.ph6{background:linear-gradient(135deg,#2f3540 0%,#15181d 100%)}.ph7{background:linear-gradient(135deg,#3a3f4a 0%,#1a1c22 100%)}.ph8{background:linear-gradient(135deg,#43392f 0%,#221c16 100%)}.ph9{background:linear-gradient(135deg,#38423a 0%,#191f1a 100%)}.ph10{background:linear-gradient(135deg,#4a3540 0%,#23181e 100%)}.grain{opacity:.35;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:absolute;inset:0}.grain2{opacity:.28;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:absolute;inset:0}.hero{width:100%;height:100vh;min-height:640px;position:relative;overflow:hidden}.hero .frame{object-fit:cover;background:radial-gradient(90% 70% at 30% 20%,#786e5f8c,#0000 60%),radial-gradient(80% 60% at 75% 80%,#28343ca6,#0000 60%),linear-gradient(155deg,#2a2722 0%,#1c1a17 45%,#14171a 100%);width:100%;height:100%;position:absolute;inset:0}.hero .vignette{background:linear-gradient(#0a090800 66%,#0a09088c 100%),linear-gradient(#0a090859 0%,#0a090800 24%);position:absolute;inset:0}.hero-note{top:max(18px, env(safe-area-inset-top));right:var(--edge-r);z-index:2;letter-spacing:.04em;color:#f5f2ea8c;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:10.5px;font-weight:500;position:absolute}.hero-content{z-index:2;padding:0 var(--edge-r) 48px var(--edge-l);color:var(--paper);justify-content:space-between;align-items:flex-end;gap:24px;display:flex;position:absolute;bottom:0;left:0;right:0}.hero-content h1{letter-spacing:.005em;max-width:640px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(24px,2.8vw,32px);font-weight:900;line-height:1.55}.hero-meta{letter-spacing:.1em;text-transform:uppercase;color:#f5f2eab3;text-align:right;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11px;font-weight:500;line-height:2}.hero-tagline{letter-spacing:.01em;color:#f5f2eabf;text-transform:none;margin-top:16px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:clamp(14px,1.3vw,17px);font-style:italic;font-weight:500}.hero-scroll{z-index:2;letter-spacing:.16em;color:#f5f2ea8c;text-transform:uppercase;flex-direction:column;align-items:center;gap:8px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:10px;font-weight:500;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.hero-scroll .bar{background:#f5f2ea66;width:1px;height:26px;overflow:hidden}.hero-scroll .bar span{background:var(--paper);width:100%;height:100%;animation:1.8s infinite scrolldown;display:block}@keyframes scrolldown{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.intro{padding-top:120px;padding-bottom:80px}.intro .grid{border-top:1px solid var(--line);grid-template-columns:1fr 1.4fr;gap:60px;padding-top:36px;display:grid}.intro .label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11px;font-weight:500}.intro .copy{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(19px,2.1vw,26px);font-weight:300;line-height:1.75}.intro .en-line{color:var(--ink-soft);letter-spacing:.01em;margin-top:20px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:13px;font-weight:300;line-height:1.85}.facts{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:64px;display:grid}.facts .cell{background:var(--paper);padding:26px 22px}.facts .num{font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:clamp(26px,2.8vw,36px);font-weight:700}.facts .num.small{letter-spacing:.01em;font-size:clamp(14px,1.3vw,18px);font-weight:600;line-height:1.5}.facts .cap{color:var(--ink-soft);letter-spacing:.02em;margin-top:8px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11.5px;font-weight:500}.clients{background:var(--ink);padding:52px 0 56px;overflow:hidden}.clients .head{padding:0 var(--edge-r) 28px var(--edge-l);justify-content:space-between;align-items:baseline;display:flex}.clients .head h3{color:var(--paper);letter-spacing:.02em;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:17px;font-weight:700}.clients .head .en{letter-spacing:.1em;text-transform:uppercase;color:#f5f2ea80;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:10.5px;font-weight:500}.marquee-viewport{width:100%;overflow:hidden}.marquee-track{align-items:center;gap:40px;width:max-content;animation:48s linear infinite marquee-scroll;display:flex}.marquee-track:hover{animation-play-state:paused}.marquee-track span.brand{letter-spacing:.08em;text-transform:uppercase;color:#f5f2eac7;white-space:nowrap;flex:none;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:13px;font-weight:600}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}.marquee-viewport{overflow-x:auto}}@media (max-width:600px){.marquee-track span.brand{font-size:11px}.marquee-track{gap:28px}}.services{padding-top:100px;padding-bottom:100px}.section-head{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:baseline;margin-bottom:6px;padding-bottom:18px;display:flex}.section-head h2{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(24px,2.8vw,32px);font-weight:900}.section-head .en{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11px;font-weight:500}.svc-col-wrap{grid-template-columns:1fr 1fr;gap:0 48px;margin-top:8px;display:grid}.svc-col-wrap.svc-5{grid-template-columns:repeat(5,1fr);gap:0 22px}.svc-group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line-strong);margin-bottom:4px;padding:20px 0 10px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11px;font-weight:600;line-height:1.6}.svc-row{border-bottom:1px solid var(--line);cursor:default;justify-content:space-between;align-items:center;padding:16px 4px;transition:padding-left .25s;display:flex}.svc-row:hover{padding-left:10px}.svc-row .name{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(16px,1.6vw,20px);font-weight:300}.svc-row .tag{letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:10.5px;font-weight:500}.svc-5 .svc-row .name{font-size:14px;line-height:1.5}.work{padding-top:60px;padding-bottom:70px}.work-grid{grid-template-columns:repeat(3,1fr);gap:28px 24px;margin-top:44px;display:grid}.tile{flex-direction:column;gap:12px;min-width:0;display:flex}.tile .frame-img{border:1px solid var(--line);height:clamp(300px,29vw,560px);position:relative;overflow:hidden}.tile .frame-img .ph{object-fit:cover;width:100%;height:100%;transition:transform .6s;display:block;position:absolute;inset:0}.tile:hover .frame-img .ph{transform:scale(1.04)}.tile .cap .proj{transition:color .2s}.tile:hover .cap .proj{color:var(--accent)}.tile .cap{justify-content:space-between;align-items:baseline;display:flex}.tile .cap .proj{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14.5px;font-weight:700}.tile .cap .kind{letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:10px;font-weight:500}.tile.wide{grid-column:span 2}.placeholder-note{color:var(--ink-soft);border-top:1px dashed var(--line);margin-top:36px;padding-top:16px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11px;font-weight:300}.team{background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:64px;padding-bottom:90px}.team-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:44px;display:grid}.team-grid.cols-4{grid-template-columns:repeat(4,1fr)}.member{background:var(--paper2);min-width:0;padding:26px 24px}.member .role-en{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:10px;font-weight:500}.member .role-zh{margin-top:10px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:19px;font-weight:700}.member .role-zh .en{color:var(--ink-soft);margin-left:6px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:12px;font-weight:400}.member .credit{color:var(--ink-soft);letter-spacing:.02em;margin-top:12px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:10.5px;font-weight:300;line-height:1.7}.member-solo{background:var(--paper2);border:1px solid var(--line);max-width:320px;padding:26px 24px}.team-grid-partners{background:0 0;border:none;grid-template-columns:repeat(auto-fit,minmax(240px,320px));justify-content:flex-start;gap:20px}.team-grid-partners .member-solo{grid-column:unset}.member-clickable{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;appearance:none;border:none;display:block}.member-photo{aspect-ratio:2/3;object-fit:cover;object-position:top center;filter:grayscale();width:100%;margin-bottom:16px;transition:filter .25s,transform .4s;display:block}.member-clickable:hover .member-photo{filter:grayscale(0);transform:scale(1.02)}.member-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#161513c7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.member-modal{background:var(--paper);grid-template-columns:300px 1fr;gap:0;width:100%;max-width:860px;max-height:88vh;display:grid;position:relative;overflow-y:auto}.member-modal-photo{object-fit:cover;width:100%;height:100%;min-height:320px;display:block}.member-modal-body{padding:40px 36px}.member-modal-quote{color:var(--ink-soft);margin-bottom:18px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;font-style:italic;font-weight:700}.member-modal-body h3{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:24px;font-weight:900}.member-modal-body h3 .en{color:var(--ink-soft);margin-left:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500}.member-modal-role{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:8px 0 20px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11px;font-weight:600}.member-modal-body p{color:var(--ink);margin-bottom:14px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.85}.member-modal-credits-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:22px 0 10px;font-size:10.5px}.member-modal-credits{list-style:none}.member-modal-credits li{color:var(--ink-soft);padding-left:14px;font-size:12.5px;line-height:1.9;position:relative}.member-modal-credits li:before{content:"—";color:var(--line-strong);position:absolute;left:0}.member-modal-close{z-index:2;background:var(--paper);border:1px solid var(--line-strong);cursor:pointer;width:34px;height:34px;color:var(--ink);border-radius:50%;font-size:20px;line-height:1;position:absolute;top:12px;right:14px}.member-modal-close:hover{background:var(--ink);color:var(--paper)}@media (max-width:640px){.member-modal{grid-template-columns:1fr;max-height:92vh}.member-modal-photo{min-height:220px}.member-modal-body{padding:28px 22px}}.final{text-align:center;padding-top:130px;padding-bottom:110px}.final h2{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(28px,4vw,46px);font-weight:900;line-height:1.4}.final .sub{color:var(--ink-soft);margin-top:18px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:14px;font-weight:300}.final .cta-btn{border:1px solid var(--ink);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin-top:40px;padding:15px 42px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:13px;font-weight:600;transition:background .25s,color .25s;display:inline-block}.final .cta-btn:hover{background:var(--ink);color:var(--paper)}.contact-form{text-align:left;max-width:640px;margin:44px auto 0}.cf-grid{grid-template-columns:1fr 1fr;gap:22px 28px;display:grid}.cf-field-full{grid-column:1/-1}.cf-field{flex-direction:column;gap:8px;display:flex}.cf-field label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:10.5px;font-weight:500}.cf-field input,.cf-field select,.cf-field textarea{color:var(--ink);border:none;border-bottom:1px solid var(--line-strong);background:0 0;border-radius:0;padding:8px 2px;font-family:inherit;font-size:14px;transition:border-color .2s}.cf-field select{appearance:none;cursor:pointer;background-image:none}.cf-field textarea{resize:vertical;line-height:1.6}.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{border-bottom-color:var(--ink);outline:none}.cf-field input[aria-invalid=true],.cf-field textarea[aria-invalid=true]{border-bottom-color:#a3402f}.cf-error{color:#a3402f;font-size:11.5px}.contact-form .cf-submit{background:var(--ink);color:var(--paper);cursor:pointer;border:none;margin-top:34px}.contact-form .cf-submit:hover{background:var(--accent);color:var(--paper)}.cf-note{color:var(--ink-soft);margin-top:14px;font-size:11.5px;line-height:1.6}.cf-sent{color:var(--ink);margin-top:10px;font-size:12.5px;font-weight:600}@media (max-width:640px){.cf-grid{grid-template-columns:1fr;gap:18px}.contact-form{text-align:left}}@media (max-width:900px){.intro .grid{grid-template-columns:1fr;gap:24px}.facts{grid-template-columns:repeat(2,1fr)}.svc-col-wrap{grid-template-columns:1fr}.svc-col-wrap.svc-5{grid-template-columns:repeat(2,1fr);gap:0 28px}.work-grid{grid-template-columns:repeat(2,1fr)}.tile.wide{grid-column:span 2}.tile .frame-img{aspect-ratio:4/5;height:auto}.tile.wide .frame-img{aspect-ratio:16/10}.team-grid,.team-grid.cols-4{grid-template-columns:repeat(2,1fr)}.hero-content{flex-direction:column;align-items:flex-start;gap:14px}.hero-meta{text-align:left}}@media (max-width:640px){.work-grid{grid-template-columns:1fr}.tile.wide{grid-column:span 1}.svc-col-wrap.svc-5{grid-template-columns:1fr;gap:0}}@media (max-width:560px){.team-grid,.team-grid.cols-4{grid-template-columns:1fr}}.works-head{padding-top:168px;padding-bottom:56px}.breadcrumb{letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase;margin-bottom:22px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11px}.breadcrumb a{border-bottom:1px solid var(--line-strong)}.breadcrumb a:hover{color:var(--accent)}.works-head h1{max-width:820px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(32px,5vw,58px);font-weight:900;line-height:1.25}.works-head .sub-en{color:var(--ink-soft);margin-top:14px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:clamp(15px,1.4vw,19px);font-style:italic;font-weight:500}.works-head .kicker{border-top:1px solid var(--line);letter-spacing:.02em;color:var(--ink-soft);max-width:640px;margin-top:28px;padding-top:22px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:12.5px;line-height:1.9}.cat-tabs{border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong);background:var(--line-strong);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:0;display:grid}.cat-tab{background:var(--paper);border:none;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);text-align:left;cursor:pointer;min-width:0;padding:26px 22px;font-family:inherit;transition:background .25s}.cat-tab:hover{background:var(--paper2)}.cat-tab.active{background:var(--ink);color:var(--paper)}.cat-tab .cn{font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:clamp(22px,2.6vw,32px);font-weight:700;display:block}.cat-tab .zh{margin-top:6px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;display:block}.cat-tab .count{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:12px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:10.5px;font-weight:500;display:block}.cat-tab.active .count{color:#f5f2eaa6}.work-list{padding-top:56px;padding-bottom:100px}.list-note{color:var(--ink-soft);letter-spacing:.02em;max-width:640px;margin-bottom:36px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12.5px;line-height:1.9}.list-note .en{letter-spacing:.01em;color:var(--ink-soft);margin-top:6px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:12.5px;font-style:italic;font-weight:500;display:block}.proj-grid{grid-template-columns:repeat(3,1fr);gap:36px 28px;display:grid}#panel-reels .proj-grid{grid-template-columns:repeat(5,1fr);gap:28px 20px}#panel-reels .proj-card .frame{aspect-ratio:9/16}.proj-card{min-width:0;display:block}.proj-card .frame{aspect-ratio:16/9;margin-bottom:14px;position:relative;overflow:hidden}.proj-card .frame .ph{object-fit:cover;width:100%;height:100%;transition:transform .6s;display:block;position:absolute;inset:0}.proj-card:hover .frame .ph{transform:scale(1.04)}.proj-card .frame .play{border:1px solid #f5f2eabf;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:absolute;bottom:16px;left:18px}.proj-card .frame .play:after{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid #f5f2eae6;margin-left:2px}.proj-card .meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;display:flex}.proj-card .name{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;font-weight:700}.proj-card .client{color:var(--ink-soft);margin-top:4px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11px;font-weight:400}.proj-card .kw{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:10px;font-weight:500}.cat-panel{display:none}.cat-panel.active{display:block}@media (max-width:900px){.cat-tabs,.proj-grid{grid-template-columns:repeat(2,1fr)}#panel-reels .proj-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.proj-grid{grid-template-columns:1fr}#panel-reels .proj-grid{grid-template-columns:repeat(2,1fr);gap:20px 12px}.works-head{padding-top:130px;padding-bottom:40px}}.p-hero{aspect-ratio:16/9;cursor:pointer;background:#0d0c0b;width:100%;max-height:88vh;display:block;position:relative;overflow:hidden}.p-hero.is-vertical{aspect-ratio:9/16;width:auto;max-width:100%;height:min(80vh,760px);max-height:80vh;margin:0 auto}.p-hero .ph{object-fit:cover;width:100%;height:100%;transition:transform .8s;display:block;position:absolute;inset:0}.p-hero:hover .ph{transform:scale(1.02)}.p-hero .vignette{background:linear-gradient(#0a090800 60%,#0a090899 100%),linear-gradient(#0a090866 0%,#0a090800 26%);position:absolute;inset:0}.p-hero .tag{top:96px;right:var(--edge-r);z-index:2;letter-spacing:.1em;color:var(--paper);text-transform:uppercase;border:1px solid #f5f2ea8c;padding:6px 14px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11px;font-weight:500;position:absolute}.p-hero .play-wrap{left:var(--edge-l);z-index:2;align-items:center;gap:16px;display:flex;position:absolute;bottom:96px}.p-hero.is-vertical .tag{right:20px}.p-hero.is-vertical .play-wrap{left:20px}.p-hero .play-btn{border:1px solid #f5f2eabf;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;transition:background .25s,transform .25s;display:flex}.p-hero .play-btn:after{content:"";border-left:14px solid var(--paper);border-top:9px solid #0000;border-bottom:9px solid #0000;margin-left:4px}.p-hero:hover .play-btn{background:#f5f2ea1f;transform:scale(1.06)}.p-hero .play-label{letter-spacing:.08em;text-transform:uppercase;color:var(--paper);font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11px;font-weight:500}.p-hero .play-label .zh{letter-spacing:.02em;text-transform:none;margin-bottom:4px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;display:block}.p-hero-multi{background:var(--line-strong);grid-template-columns:repeat(2,1fr);gap:2px;display:grid}.p-hero-multi.is-vertical{grid-template-columns:repeat(4,1fr)}.p-hero-multi.is-vertical.count-1{grid-template-columns:1fr}.p-hero-multi.is-vertical.count-2{grid-template-columns:repeat(2,1fr)}.p-hero-multi.is-vertical.count-3{grid-template-columns:repeat(3,1fr)}.p-hero-multi.count-1:not(.is-vertical){grid-template-columns:1fr}.p-hero-multi-item{aspect-ratio:16/9;cursor:pointer;background:#0d0c0b;display:block;position:relative;overflow:hidden}.p-hero-multi.is-vertical .p-hero-multi-item{aspect-ratio:9/16}.p-hero-multi-item .ph{object-fit:cover;width:100%;height:100%;transition:transform .8s;display:block;position:absolute;inset:0}.p-hero-multi-item:hover .ph{transform:scale(1.04)}.p-hero-multi-item .vignette{background:linear-gradient(#0a090800 55%,#0a0908bf 100%);position:absolute;inset:0}.p-hero-multi-item .play-wrap{z-index:2;position:absolute;bottom:56px;left:20px}.p-hero-multi-item .play-btn{border:1px solid #f5f2eabf;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .25s,transform .25s;display:flex}.p-hero-multi-item .play-btn:after{content:"";border-left:10px solid var(--paper);border-top:6px solid #0000;border-bottom:6px solid #0000;margin-left:3px}.p-hero-multi-item:hover .play-btn{background:#f5f2ea1f;transform:scale(1.06)}.sub-video-caption{z-index:2;position:absolute;bottom:16px;left:20px}.sub-video-title{color:var(--paper);font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:700}.sub-video-client{letter-spacing:.04em;color:#f5f2eabf;margin-top:2px;font-size:10.5px}.second-video-link{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line-strong);padding-bottom:3px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11.5px;transition:color .2s,border-color .2s;display:inline-block}.second-video-link:hover{color:var(--accent);border-color:var(--accent)}.p-info{border-bottom:1px solid var(--line);grid-template-columns:1.1fr .9fr;gap:60px;padding-top:52px;padding-bottom:40px;display:grid}.p-info h1{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(26px,3.2vw,40px);font-weight:900;line-height:1.3}.p-info .client-line{color:var(--ink-soft);letter-spacing:.02em;margin-top:10px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:13.5px;font-weight:400}.p-info .kw{letter-spacing:.04em;margin-top:26px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:12px;font-weight:600}.p-info .kw span{color:var(--ink-soft);font-weight:400}.p-info .desc{max-width:520px;margin-top:16px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;font-weight:400;line-height:1.95}.p-info .side{border-left:1px solid var(--line);padding-left:40px}.p-info .side .row{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:16px 0;display:flex}.p-info .side .row:first-child{padding-top:0}.p-info .side .label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:10.5px}.p-info .side .val{text-align:right;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13.5px;font-weight:700}.section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11px}.p-info .section-label{margin-bottom:14px}.p-gallery{padding-top:52px;padding-bottom:90px}.p-gallery .section-label{margin-bottom:22px}.gal-grid{background:var(--line-strong);border:1px solid var(--line-strong);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.gal-grid.is-vertical{grid-template-columns:repeat(6,1fr)}.gal-cell{aspect-ratio:16/9;background:var(--paper);position:relative;overflow:hidden}.gal-grid.is-vertical .gal-cell{aspect-ratio:9/16}.gal-cell .ph{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.gal-cell .num{color:#f5f2ead9;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:13px;font-style:italic;font-weight:600;position:absolute;bottom:10px;left:12px}.gal-grid-fluid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.gal-grid-fluid .gal-cell{aspect-ratio:4/5}.g1{background:linear-gradient(135deg,#2c3a44 0%,#161c20 100%)}.g2{background:linear-gradient(135deg,#3c3630 0%,#221f1b 100%)}.g3{background:linear-gradient(135deg,#333d3a 0%,#181c1b 100%)}.g4{background:linear-gradient(135deg,#453a3a 0%,#201a1a 100%)}.g5{background:linear-gradient(135deg,#2f3540 0%,#15181d 100%)}.g6{background:linear-gradient(135deg,#4a4038 0%,#241f1a 100%)}.p-ai-note{padding-top:0;padding-bottom:20px}.p-ai-note p{color:var(--ink-soft);border-left:2px solid var(--line-strong);max-width:640px;padding-left:20px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.9}.p-ai-note a{color:var(--ink);border-bottom:1px solid var(--line-strong);white-space:nowrap;padding-bottom:1px}.p-ai-note a:hover{color:var(--accent);border-color:var(--accent)}.sticky-cta{z-index:40;background:var(--ink);color:var(--paper);opacity:0;pointer-events:none;border-radius:999px;align-items:baseline;gap:8px;padding:14px 20px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:700;transition:opacity .25s,transform .25s,background .2s;display:flex;position:fixed;bottom:24px;right:24px;transform:translateY(12px);box-shadow:0 8px 24px #16151338}.sticky-cta.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.sticky-cta:hover{background:var(--accent)}.sticky-cta .en{letter-spacing:.04em;color:#f5f2eabf;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:11px;font-weight:500}@media (max-width:560px){.sticky-cta{padding:12px 16px;font-size:12px;bottom:16px;right:16px}.sticky-cta .en{display:none}}.p-next{border-top:1px solid var(--line-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:44px;padding-bottom:60px;display:flex}.p-next a{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line-strong);padding-bottom:3px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:11.5px;transition:color .2s,border-color .2s}.p-next a:hover{color:var(--accent);border-color:var(--accent)}.p-next .next-name{color:var(--ink);margin-top:8px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:20px;font-weight:700;display:block}@media (max-width:900px){.p-info{grid-template-columns:1fr;gap:28px}.p-info .side{border-left:none;border-top:1px solid var(--line);padding-top:24px;padding-left:0}.gal-grid{grid-template-columns:repeat(2,1fr)}.gal-grid.is-vertical{grid-template-columns:repeat(3,1fr)}.p-hero-multi.is-vertical,.p-hero-multi.is-vertical.count-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.gal-grid{grid-template-columns:1fr}.gal-grid.is-vertical{grid-template-columns:repeat(2,1fr)}.p-hero-multi,.p-hero-multi.is-vertical,.p-hero-multi.is-vertical.count-1,.p-hero-multi.is-vertical.count-2,.p-hero-multi.is-vertical.count-3{grid-template-columns:1fr}.p-hero .tag{top:calc(env(safe-area-inset-top) + 62px);right:var(--edge-r);padding:5px 11px;font-size:10px}.p-hero .play-wrap{left:var(--edge-l);gap:10px;bottom:14px}.p-hero .play-btn{width:44px;height:44px}.p-hero .play-btn:after{border-top-width:6px;border-bottom-width:6px;border-left-width:10px;margin-left:3px}.p-hero .play-label{font-size:10px}.p-hero .play-label .zh{margin-bottom:2px;font-size:12px}.p-hero.is-vertical{height:min(70vh,620px)}.p-hero.is-vertical .tag{right:16px}.p-hero.is-vertical .play-wrap{left:16px}}.insights-cat-tabs{grid-template-columns:repeat(3,1fr)}.article-grid{grid-template-columns:repeat(3,1fr);gap:36px 28px;display:grid}.article-card{min-width:0;display:block}.article-card .frame{aspect-ratio:16/9;margin-bottom:14px;position:relative;overflow:hidden}.article-card .frame .ph{width:100%;height:100%;position:absolute;inset:0}.article-card .article-cat-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--paper);border:1px solid #f5f2ea99;padding:4px 10px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:10px;font-weight:500;position:absolute;bottom:14px;left:16px}.article-card .meta .name{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;font-weight:700;line-height:1.5;transition:color .2s}.article-card:hover .meta .name{color:var(--accent)}.article-card .meta .excerpt{color:var(--ink-soft);margin-top:8px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.8}.article-card .meta .sub{color:var(--ink-soft);letter-spacing:.04em;margin-top:10px;font-size:11px}.article-page{max-width:780px;padding-top:60px;padding-bottom:40px}.article-meta-top{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:22px 0 10px;font-size:11.5px}.article-title{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(26px,3.6vw,42px);font-weight:900;line-height:1.35}.article-excerpt{color:var(--ink-soft);max-width:620px;margin-top:18px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15.5px;line-height:1.9}.article-hero{aspect-ratio:16/9;margin-top:32px;position:relative;overflow:hidden}.article-body{color:var(--ink);margin-top:40px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;line-height:2}.article-body p{margin:0 0 22px}.article-body h2{border-top:1px solid var(--line);margin:46px 0 18px;padding-top:6px;font-size:clamp(20px,2.4vw,26px);font-weight:900}.article-body ul{margin:0 0 22px;padding-left:22px}.article-body li{margin-bottom:10px;line-height:1.85}.article-body strong{font-weight:700}.article-body em{color:var(--accent);font-style:italic}.process-steps{flex-direction:column;padding-top:20px;padding-bottom:70px;display:flex}.process-step{border-top:1px solid var(--line);grid-template-columns:140px 1fr;gap:32px;padding:44px 0;display:grid}.process-step:last-child{border-bottom:1px solid var(--line)}.process-step-num{color:var(--line-strong);font-size:clamp(40px,5vw,64px);line-height:1}.process-step-body h2{margin-bottom:20px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(20px,2.4vw,28px);font-weight:900}.process-step-body h2 .en{color:var(--ink-soft);margin-left:10px;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans TC,sans-serif;font-size:14px;font-style:italic;font-weight:500}.process-step-row{margin-bottom:16px}.process-step-row:last-child{margin-bottom:0}.process-step-row .label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;font-size:10.5px}.process-step-row p{max-width:640px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14.5px;line-height:1.9}.ai-flow-section{padding-top:30px;padding-bottom:90px}.ai-flow-intro{color:var(--ink-soft);max-width:680px;margin:18px 0 40px;font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14.5px;line-height:1.9}.ai-flow-track{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(5,1fr);gap:2px;display:grid}.ai-flow-node{text-align:left;background:var(--paper);cursor:pointer;font:inherit;color:var(--ink);border:none;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 16px;transition:background .2s;display:flex}.ai-flow-node:hover{background:var(--paper2)}.ai-flow-node.active{background:var(--ink);color:var(--paper)}.ai-flow-node-num{color:var(--line-strong);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:20px;font-weight:900}.ai-flow-node.active .ai-flow-node-num{color:#f5f2ea59}.ai-flow-node-label{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.4}.ai-flow-node-label .en{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:10.5px;font-weight:500;display:block}.ai-flow-node.active .ai-flow-node-label .en{color:#f5f2ea99}.ai-flow-node-tag{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-strong);border-radius:999px;padding:3px 9px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:9.5px;font-weight:600}.ai-flow-node-ai .ai-flow-node-tag{border-color:var(--accent2);color:var(--accent2)}.ai-flow-node-human .ai-flow-node-tag{border-color:var(--ink-soft);color:var(--ink-soft)}.ai-flow-node.active .ai-flow-node-tag{color:#f5f2ead9;border-color:#f5f2ea66}.ai-flow-detail{border:1px solid var(--line);border-top:none;grid-template-columns:1fr 1fr;gap:0;display:grid}.ai-flow-detail-col{padding:26px 28px}.ai-flow-detail-col:first-child{border-right:1px solid var(--line)}.ai-flow-detail-col .label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;font-size:10.5px}.ai-flow-detail-col p{font-family:Noto Sans TC,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.85}@media (max-width:900px){.article-grid{grid-template-columns:repeat(2,1fr)}.process-step{grid-template-columns:1fr;gap:12px}.ai-flow-track{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.insights-cat-tabs,.article-grid,.ai-flow-track,.ai-flow-detail{grid-template-columns:1fr}.ai-flow-detail-col:first-child{border-right:none;border-bottom:1px solid var(--line)}}
