:root{--yellow:#f4bd31;--white:#f7f8f8;--muted:#aaa;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#000;color:var(--white);font-family:Arial,"Microsoft JhengHei",sans-serif;line-height:1.6}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--yellow);outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h2{font-size:clamp(35px,3.7vw,62px);line-height:1.08;letter-spacing:-1.7px;font-weight:800}h3{line-height:1.45}sup{font-size:.65em;line-height:0;position:relative;top:-.1em}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--yellow);color:#000;padding:12px}.skip-link:focus{top:10px}.grid-lines{position:fixed;inset:0;pointer-events:none;z-index:1;display:flex;justify-content:space-evenly}.grid-lines i{width:1px;background:#ffffff12;height:100%;position:relative}.grid-lines i:after{content:"";position:absolute;top:-120%;width:5px;height:5px;left:-2px;border-radius:50%;background:#ffffff50;box-shadow:0 100px #ffffff40,0 140px #ffffff25,0 340px #ffffff50,0 480px #ffffff40,0 600px #ffffff30,0 760px #ffffff40,0 970px #ffffff50;animation:line-flow 25s linear infinite}.grid-lines i:nth-child(2):after{animation-delay:-12s;animation-duration:30s}.grid-lines i:nth-child(3):after{animation-delay:-20s}.site-header{position:fixed;inset:42px 0 auto 42px;z-index:30;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.site-header>*{pointer-events:auto}.brand{display:block;color:var(--yellow);width:44px}.brand svg{display:block;width:44px;height:53px}.brand>span{display:none;color:#fff;border-bottom:1px solid;font-size:12px}.scrolled .brand svg{display:none}.scrolled .brand>span{display:block;width:max-content}.menu-toggle{border:0;background:var(--yellow);color:#000;display:flex;align-items:center;gap:30px;padding:6px 15px;font-size:14px;min-height:36px}.menu-icon{width:22px;height:12px;border-top:1px solid;border-bottom:1px solid;position:relative}.menu-icon:after{content:"";position:absolute;left:0;top:4px;width:100%;border-top:1px solid}.menu-toggle[aria-expanded=true] .menu-icon{border-bottom:0;transform:rotate(45deg);height:1px}.menu-toggle[aria-expanded=true] .menu-icon:after{top:-1px;transform:rotate(90deg)}.quote-link{position:fixed;right:3%;bottom:6%;z-index:25;width:106px;height:94px;display:grid;place-content:center;text-align:center;line-height:1.5;font-family:"Microsoft JhengHei",sans-serif;font-weight:700;background:var(--white);color:#000;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);transition:background .25s,transform .25s}.quote-link:hover{background:var(--yellow);transform:translateY(-4px)}.hero{height:100svh;min-height:650px;max-height:1150px;position:relative;display:grid;align-items:center;overflow:hidden}.hero-collage{position:absolute;inset:-2%;display:flex;flex-direction:column;opacity:.37}.collage-row{display:flex;height:33.333%;width:118%;animation:collage-drift 30s ease-in-out infinite alternate}.collage-row:nth-child(2){margin-left:-14%;animation-direction:alternate-reverse;animation-duration:36s}.collage-row:nth-child(3){margin-left:-3%;animation-duration:40s}.collage-row img{height:100%;width:25%;object-fit:cover;flex-shrink:0}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#0002 35%,#0003);pointer-events:none}.hero-content{position:relative;z-index:2;width:fit-content;max-width:92%;margin:auto}.hero h1{font-size:clamp(48px,6.5vw,110px);line-height:1.18;white-space:nowrap;letter-spacing:-3px}.hero-phrase{color:var(--yellow);font-family:"Microsoft JhengHei",sans-serif;font-size:.62em;letter-spacing:1px}.hero-content>p{font-size:clamp(14px,1.4vw,22px);letter-spacing:2.2px;color:#bcbcbc}.section-nav{display:flex;gap:20px;margin-top:34px;justify-content:center}.section-nav a{font-size:14px;line-height:1.5;transition:color .2s}.section-nav a:hover,.section-nav a.active{color:var(--yellow)}.section-nav small{display:block;font-size:11px;letter-spacing:1px}.section-nav .cn{font-size:12px}.scroll-hint{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);z-index:2;letter-spacing:3px;font-size:9px}.scroll-hint span{display:block;text-align:center;font-size:22px;animation:bob 2s infinite}.section{position:relative;z-index:2;width:87.5%;max-width:1500px;margin:0 auto;padding-top:180px}.eyebrow{font-size:14px;margin-bottom:16px}.works-heading{display:flex;align-items:flex-end;gap:50px;margin-bottom:65px}.filters{display:flex;gap:35px}.filters label{font-size:12px;color:#999;width:145px;display:grid;gap:7px}.filters select{width:100%;background:#000;color:white;border:0;border-bottom:1px solid #777;border-radius:0;padding:5px 0;font-size:15px}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);background:#0b0b0b}.work-card{padding:0;border:0;position:relative;overflow:hidden;background:#111;aspect-ratio:1.82;display:block;width:100%;color:white}.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .5s;filter:brightness(.8)}.work-card:hover img{transform:scale(1.055);filter:brightness(1)}.work-card .work-caption{position:absolute;inset:auto 0 0;padding:35px 16px 12px;background:linear-gradient(transparent,#000b);text-align:left;opacity:0;transform:translateY(8px);transition:.3s}.work-card:hover .work-caption,.work-card:focus-visible .work-caption{opacity:1;transform:none}.filter-status{font-size:12px;color:#aaa;min-height:24px;margin-top:10px}.team-rows{margin-top:75px}.team-row{display:flex;gap:24px;margin-bottom:50px;position:relative}.team-row>*{width:26%;aspect-ratio:1.07;object-fit:cover}.team-row:nth-child(2){justify-content:flex-end}.team-row:nth-child(2)>*{width:26%}.team-row:not(:last-child):after{content:"";position:absolute;left:23%;bottom:-26px;width:45%;height:1px;background:#ffffff60;transform:rotate(25deg);transform-origin:left;z-index:-1}.team-row:nth-child(2):after{left:10%;transform:rotate(-20deg)}.department{border:6px solid var(--white);padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:#0008}.department>p{font-size:14px}.department h3{font-size:clamp(23px,2.7vw,44px)}.department div p{font-size:13px}.service-system{position:relative;max-width:1200px;aspect-ratio:1.39;margin:60px auto 0}.service-total{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:27%;aspect-ratio:1;border-radius:50%;background:#fff;color:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;outline:1px solid white;outline-offset:10px}.service-total span{font-weight:bold;font-size:clamp(13px,1.5vw,23px)}.service-total strong{font-size:clamp(70px,9vw,140px);line-height:1.15;color:var(--yellow);letter-spacing:-5px}.service-orbit{position:absolute;inset:0;animation:orbit 65s linear infinite}.service-orbit svg{position:absolute;width:100%;height:100%;overflow:visible}.service-orbit polygon{fill:none;stroke:#ddd;stroke-width:.7}.service-node{position:absolute;width:14%;aspect-ratio:1;background:#fff;border-radius:50%;color:#000;display:grid;place-items:center;transform:translate(-50%,-50%);font-size:clamp(14px,1.5vw,24px);text-align:center}.service-node span{animation:counter-orbit 65s linear infinite}.service-node:nth-of-type(1){left:26%;top:13.89%}.service-node:nth-of-type(2){left:76%;top:9.72%}.service-node:nth-of-type(3){left:92%;top:49.3%}.service-node:nth-of-type(4){left:75%;top:87.5%}.service-node:nth-of-type(5){left:28%;top:90.28%}.service-node:nth-of-type(6){left:8%;top:52.78%}.office-strip{display:flex;width:90%;margin:65px auto 100px}.office-strip img{width:33.333%;aspect-ratio:1.8;object-fit:cover}.recruit-columns{display:grid;grid-template-columns:1fr 1fr;gap:15%;width:72%;margin:auto}.recruit-manifesto{border:6px solid white;padding:26px;aspect-ratio:1.05;display:flex;flex-direction:column;justify-content:space-between}.recruit-manifesto>p{font-size:13px;line-height:1.4}.recruit-manifesto h3{font-size:clamp(17px,1.5vw,24px);font-weight:500;line-height:1.8}.yellow-button{display:flex;justify-content:space-between;align-items:center;width:130px;padding:5px 12px;border:1px solid var(--yellow);background:var(--yellow);color:#000;font-size:14px;line-height:1.6;transition:background .25s,color .25s}.yellow-button:hover{background:var(--yellow);color:#fff}.join-button{margin-top:35px}.benefits{font-size:14px}.benefits h3{font-weight:400;font-size:14px;margin-bottom:7px}.benefits>div{margin-top:12px;margin-bottom:30px}.benefits ul{list-style:none;padding:0;margin:0}.benefits li{padding-left:18px;position:relative;margin-bottom:8px}.benefits li:before{content:"◆";position:absolute;left:0}.contact-banner{width:90%;margin:65px auto 95px}.contact-columns{width:66%;margin:auto;display:grid;grid-template-columns:280px 1fr;gap:16%}.contact-process{display:flex;flex-direction:column;align-items:center;gap:48px}.process-circle{width:250px;aspect-ratio:1;border-radius:50%;background:#fff;color:#111;text-align:center;display:flex;flex-direction:column;justify-content:center;padding:27px;position:relative}.process-circle h3{color:#d4a422;font-size:18px;line-height:1.5;margin-bottom:12px}.process-circle p{font-size:13px;line-height:1.8}.process-circle:not(:last-child):after{content:"↓";position:absolute;color:#fff;top:100%;left:50%;height:48px;line-height:48px;font-size:32px;font-weight:200}.contact-right{padding-top:15px;min-width:0}.text-field{display:flex;align-items:center;border-bottom:1px solid #888;gap:12px;padding:20px 0 6px;margin-bottom:17px;color:#999}.text-field>span{white-space:nowrap;font-size:16px}.text-field input{background:none;border:0;color:#fff;min-width:0;width:100%;outline-offset:0;padding:6px}.contact fieldset{border:0;margin:35px 0 65px;padding:0}.contact legend{color:#999;font-size:16px;margin-bottom:13px}.needs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px}.needs label{font-size:13px;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:7px}.needs input{accent-color:var(--yellow);margin:0;width:13px;height:13px}.send-button{margin-left:auto}.contact address{font-style:normal;margin-top:100px;font-size:13px;width:max-content;max-width:130%}.contact address h3{font-size:19px;margin-bottom:10px}.contact address a:hover{color:var(--yellow)}#form-status{font-size:13px;color:var(--yellow);margin-top:16px;min-height:22px}footer{margin-top:150px;background:#c9c9c9;text-align:center;color:#000;padding:22px 15px;font-size:10px;position:relative;z-index:2}.menu-overlay{position:fixed;inset:0;background:#000;z-index:28;align-items:center;justify-content:center}.menu-overlay:not([hidden]){display:flex}.menu-intro{max-width:90%}.menu-intro>p{font-size:clamp(30px,4vw,64px);font-weight:bold;letter-spacing:-1px}.menu-intro em{font-style:normal;color:var(--yellow);font-size:.72em}.menu-intro>small{letter-spacing:2px;color:#999}dialog{border:1px solid #555;padding:20px;background:#080808;color:#fff;max-width:min(1000px,92vw);max-height:90svh}dialog::backdrop{background:#000d}dialog img{max-height:70svh;margin:auto;object-fit:contain}dialog h2{font-size:24px;margin-top:18px;letter-spacing:0}.dialog-close{position:absolute;right:20px;top:20px;border:0;background:var(--yellow);color:#000;width:44px;height:44px;font-size:30px;z-index:1}.reveal{transition:clip-path .85s cubic-bezier(.22,.61,.36,1),opacity .8s,transform .8s}.js-motion .reveal:not(.is-visible){clip-path:inset(0 100% 0 0);opacity:0;transform:translateY(20px)}.js-motion .process-circle:not(.is-visible){clip-path:none;transform:translateY(40px)}.phrase-exit{opacity:0;transform:translateY(-10px)}#rotating-text{display:inline-block;transition:opacity .3s,transform .3s}@keyframes line-flow{to{top:110%}}@keyframes collage-drift{to{transform:translateX(-8%)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes counter-orbit{to{transform:rotate(-360deg)}}@keyframes bob{50%{transform:translateY(6px)}}
@media(min-width:1600px){.section{padding-top:210px}.team-row>*{width:27%}.team-row:nth-child(2)>*{width:27%}}
@media(max-width:1000px) and (min-width:701px){.section-nav{gap:12px}.section-nav a{font-size:11px}.section-nav .cn{font-size:10px}.team-row>*{width:30%}.department{padding:16px}.department>p{font-size:11px}.department div p{font-size:10px}.contact-columns{width:85%;gap:10%;grid-template-columns:230px 1fr}.process-circle{width:220px}.needs{gap:10px 6px}.needs label{font-size:11px}.contact address{max-width:100%;width:auto}.works-heading{gap:25px}.filters{gap:16px}.filters label{width:115px}.recruit-columns{width:85%;gap:10%}.hero h1{font-size:6.3vw}}
@media(max-width:700px){html{scroll-padding-top:70px}.site-header{top:20px;left:24px}.brand,.brand svg{width:33px;height:42px}.scrolled .brand svg{display:block}.scrolled .brand>span{display:none}.menu-toggle{padding:9px 12px;min-height:32px}.menu-toggle>span:first-child{display:none}.menu-icon{width:20px}.quote-link{width:74px;height:65px;font-size:11px;right:12px;bottom:22px}.hero{height:100svh;min-height:680px;max-height:900px}.hero-collage{inset:0;opacity:.43}.collage-row{height:33.333%;width:220%;animation-duration:38s}.collage-row img{width:50%}.collage-row:nth-child(2){margin-left:-55%}.collage-row:nth-child(3){margin-left:-15%}.hero-content{width:100%;max-width:100%;padding:0 6%;margin-top:29svh;align-self:start}.hero h1{font-size:clamp(60px,16vw,104px);line-height:1.05;letter-spacing:-2px;white-space:normal}.hero-phrase{display:block;font-size:clamp(20px,5.3vw,36px);line-height:1.8;letter-spacing:0;margin-top:42px;white-space:nowrap}.hero-content>p{position:absolute;top:clamp(68px,18vw,116px);font-size:11px;letter-spacing:1px}.hero .section-nav{position:absolute;top:calc(100svh - 29svh - 44px);left:0;width:100%;gap:0;margin:0;min-height:44px;background:#ccc;color:#000}.hero .section-nav a{flex:1;text-align:center;display:flex;align-items:center;justify-content:center;font-size:0;padding:8px 2px}.hero .section-nav a:nth-child(3){background:var(--yellow)}.hero .section-nav small,.hero .section-nav .en{display:none}.hero .section-nav .cn{font-size:10px;font-weight:700}.scroll-hint{display:none}.section{width:82%;padding-top:115px}.eyebrow{font-size:10px;margin-bottom:10px}h2{font-size:clamp(30px,8.6vw,49px);letter-spacing:-1.3px;line-height:1.1}.works-heading{display:block;margin-bottom:24px}.filters{margin-top:24px;gap:24px}.filters label{font-size:10px;width:43%}.filters select{font-size:13px}.works-grid{grid-template-columns:repeat(2,1fr);margin-left:-5%;margin-right:-5%}.work-card:last-child{grid-column:1/-1;width:50%}.filter-status{font-size:10px}.team-rows{margin-top:35px}.team-row{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:0}.team-row>*,.team-row:nth-child(2)>*{width:100%;aspect-ratio:1;min-width:0}.team-row:nth-child(2) article{grid-column:2;grid-row:1}.team-row:nth-child(2) img{grid-column:1;grid-row:1}.team-row:nth-child(3)>img:last-child{grid-column:2}.team-row:not(:last-child):after{display:none}.department{border:3px solid white;padding:11px}.department>p{font-size:8px;line-height:1.3}.department h3{font-size:20px}.department div p{font-size:8px;line-height:1.5}.service-system{aspect-ratio:auto;margin-top:60px;display:flex;flex-direction:column;align-items:center}.service-total{position:relative;left:auto;top:auto;transform:none;width:220px;max-width:85%;flex-shrink:0;outline-offset:7px}.service-total span{font-size:17px}.service-total strong{font-size:100px}.service-orbit{position:relative;inset:auto;animation:none;display:grid;grid-template-columns:1fr 1fr;gap:28px 30px;margin-top:58px;width:min(100%,285px)}.service-orbit svg{display:none}.service-node,.service-node:nth-of-type(n){position:static;width:100%;transform:none;font-size:17px;animation:bob 5s ease-in-out infinite}.service-node:nth-of-type(even){animation-delay:-2.5s}.service-node span{animation:none}.office-strip{width:122%;margin:35px -11% 42px}.office-strip img{aspect-ratio:1.45}.recruit h2{max-width:280px}.recruit-columns{display:flex;flex-direction:column;width:86%;gap:40px;position:relative;padding-bottom:62px}.recruit-manifesto{border-width:4px;padding:20px;aspect-ratio:1}.recruit-manifesto>p{font-size:11px}.recruit-manifesto h3{font-size:19px;font-weight:700;line-height:1.65}.join-button{position:absolute;bottom:0;left:0;margin-top:0;width:115px;font-size:12px}.benefits{font-size:12px}.benefits h3{font-size:12px}.benefits li{padding-left:15px;margin-bottom:6px}.benefits>div{margin-bottom:26px}.contact-banner{width:100%;margin:30px auto 65px}.contact-columns{display:flex;flex-direction:column;width:100%;gap:45px}.contact-process{gap:45px}.process-circle{width:235px;padding:28px}.process-circle h3{font-size:18px}.process-circle p{font-size:12px}.contact-right{padding:0}.text-field{padding-top:12px}.text-field>span{font-size:14px}.needs{gap:12px 8px}.needs label{font-size:11px}.contact fieldset{margin-bottom:38px}.contact legend{font-size:13px}.contact address{margin-top:70px;max-width:100%;width:auto;text-align:center;font-size:10px}.contact address h3{font-size:16px}.send-button{width:115px;font-size:12px;margin:0 auto}.contact{padding-bottom:0}footer{margin-top:70px;font-size:8px;padding:18px 30px}.menu-intro{width:85%}.menu-intro>p{font-size:38px}.menu-intro em{display:block;font-size:20px;margin-top:12px}.menu-intro>small{font-size:10px}.menu-overlay .section-nav{display:flex;flex-direction:column;gap:18px;margin-top:40px}.menu-overlay .section-nav a{font-size:20px}.menu-overlay .section-nav small{display:inline-block;width:32px}.menu-overlay .section-nav .cn{font-size:14px;margin-left:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal:not(.is-visible){opacity:1;transform:none;clip-path:none}}

.contact-process .process-circle:nth-child(2){transition-delay:.18s}.contact-process .process-circle:nth-child(3){transition-delay:.36s}
.service-orbit.organic-motion,.service-orbit.organic-motion .service-node,.service-orbit.organic-motion .service-node span{animation:none;}
.service-orbit.organic-motion .service-node{will-change:transform;}
.captcha-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.captcha-row .text-field{flex:1 1 140px;min-width:0;margin:0}
#captcha-area img{max-width:150px;max-height:65px;background:#fff}
#refresh-captcha,#filter-status button{background:transparent;color:var(--yellow);border:1px solid #777;padding:6px 10px;font-size:12px}
#captcha-status{font-size:12px;color:var(--yellow);margin-bottom:22px}
button:disabled{cursor:wait;opacity:.5}
@media(max-width:700px){.hero-collage .collage-row:first-child img:nth-child(1){order:2}.hero-collage .collage-row:first-child img:nth-child(2){order:-1}}

/* Reference revisions, September 18. Noto Serif TC is the Traditional Chinese Source Han Serif family. */
@font-face{font-family:"Bee Serif";src:url("assets/fonts/NotoSerifTC.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap}
:root{--serif:"Bee Serif","Source Han Serif TC","Noto Serif TC",serif}
.hero-phrase,.department h3,.recruit-manifesto h3,.process-circle h3,.service-node,.service-total>span,.quote-link,.contact address h3{font-family:var(--serif)}
.menu-overlay{inset:42px 125px auto auto;background:var(--yellow);width:auto;max-width:calc(100vw - 185px);min-height:36px;z-index:31;padding:0 24px;color:#000}
.menu-overlay .section-nav{display:flex;flex-direction:row;align-items:center;justify-content:center;margin:0;gap:0;min-height:36px}
.menu-overlay .section-nav a{font-size:12px;white-space:nowrap;padding:6px 0;line-height:1.4}
.menu-overlay .section-nav a+a:before{content:"/";margin:0 10px;color:#000}
.menu-overlay .section-nav small,.menu-overlay .section-nav .cn{display:none}
.menu-overlay .section-nav .en{display:inline}
.menu-overlay .section-nav a:hover,.menu-overlay .section-nav a.active{color:#fff}
.filters{gap:52px;position:relative;z-index:5}
.filters .filter-control{display:block;position:relative;width:145px}
.filter-trigger{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #888;border-radius:0;background:transparent;color:white;padding:6px 4px;font-size:15px;cursor:pointer}
.filter-trigger.is-placeholder{color:#929292}
.filter-options{position:absolute;top:100%;left:0;min-width:100%;width:max-content;max-width:220px;max-height:300px;overflow-y:auto;background:#000b;padding:8px 0;z-index:5}
.filter-options button{display:block;border:0;border-radius:0;width:100%;background:transparent;text-align:left;color:#fff;font-family:var(--serif);font-size:16px;font-weight:600;line-height:1.5;padding:1px 12px;white-space:nowrap}
.filter-options button:hover,.filter-options button:focus-visible{background:#555;outline:none}
.filter-options button[aria-selected=true]{color:var(--yellow)}
.team-rows{position:relative;isolation:isolate}
.team-row:not(:last-child):after{display:none}
.team-connectors{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:visible}
.team-connectors polyline{fill:none;stroke:#aaa;stroke-width:1;vector-effect:non-scaling-stroke}
.contact-right .text-field{padding:0;margin:0 0 22px;gap:0;border-bottom:1px solid #888}
.contact-right .text-field input{font-size:17px;line-height:1.5;padding:14px 10px 10px;width:100%;height:48px}
.contact-right input::placeholder{color:#858585;opacity:1}
.contact fieldset{position:relative;padding-left:66px;margin:38px 0 58px;min-width:0}
.contact legend{position:absolute;left:10px;top:0;font-size:17px;line-height:22px;margin:0;padding:0}
.needs{gap:12px 15px;grid-template-columns:repeat(3,minmax(0,1fr))}
.needs label{font-size:14px;gap:7px;line-height:20px}
.needs input{appearance:none;flex:none;width:12px;height:12px;background:#fff;border:1px solid #bbb;border-radius:0;position:relative;cursor:pointer}
.needs input:checked{background:var(--yellow);border-color:var(--yellow)}
.needs input:checked:after{content:"";position:absolute;left:3px;top:0;width:3px;height:7px;border:solid #000;border-width:0 2px 2px 0;transform:rotate(45deg)}
.contact-right .captcha-row .text-field{margin-bottom:0}
.contact .send-button{margin-left:auto;margin-right:0;background:#ffbf00;width:124px}
.contact address{max-width:100%;width:auto;text-align:left;margin-top:90px}
.contact address h3{font-weight:700}
@media(max-width:1000px){.needs{gap:12px 9px}.needs label{font-size:12px}.contact fieldset{padding-left:48px}}
@media(max-width:700px){
 .menu-overlay{top:58px;right:0;max-width:100%;padding:0 12px;width:max-content}
 .menu-overlay .section-nav{gap:0;flex-direction:row;margin:0}
 .menu-overlay .section-nav a{font-size:10px;padding:9px 0}
 .menu-overlay .section-nav a+a:before{margin:0 6px}
 .menu-overlay .section-nav small,.menu-overlay .section-nav .cn{display:none}
 .filters{gap:28px}.filters .filter-control{width:calc(50% - 14px)}
 .filter-trigger{font-size:14px}.filter-options button{font-size:14px;padding:3px 8px}
 .team-connectors{display:none}
 .contact-right .text-field input{font-size:16px}
 .contact fieldset{padding-left:42px;margin:32px 0 40px}
 .contact legend{font-size:14px;left:4px}
 .needs{gap:12px 6px}.needs label{font-size:11px;gap:5px}.needs input{width:11px;height:11px}
 .contact address{font-size:11px}.contact address h3{font-size:17px}
}

.filter-options button[hidden]{display:none}
@media(min-width:701px){.menu-overlay{top:50px}}

@media(min-width:701px){.scrolled .menu-overlay{top:42px}}

/* Desktop hover navigation and mobile slide-down menu. */
.menu-overlay{display:flex;right:0;visibility:hidden;opacity:0;transform:translateX(100%);pointer-events:none;transition:transform .38s cubic-bezier(.22,.61,.36,1),opacity .25s,visibility 0s .38s}
.menu-overlay.is-open{visibility:visible;opacity:1;transform:translateX(0);pointer-events:auto;transition-delay:0s}
.menu-toggle{transition:opacity .2s}
.menu-expanded .menu-toggle{opacity:0;visibility:hidden;pointer-events:none}
.menu-close{display:none}
@media(max-width:700px){
 .menu-overlay,.scrolled .menu-overlay{inset:0;width:100%;max-width:none;height:100dvh;min-height:100svh;padding:70px 24px;z-index:60;transform:translateY(-100%);background:var(--yellow);overflow-y:auto;overscroll-behavior:contain;justify-content:center;align-items:center}
 .menu-overlay.is-open{transform:translateY(0)}
 .menu-overlay .section-nav{flex-direction:column;gap:22px;align-items:center;justify-content:center;margin:0;min-height:0}
 .menu-overlay .section-nav a{font-size:clamp(23px,6vw,34px);font-weight:700;line-height:1.3;padding:8px 16px}
 .menu-overlay .section-nav a+a:before{content:none}
 .menu-overlay .section-nav a:focus-visible,.menu-close:focus-visible{outline-color:#000}
 .menu-close{display:flex;align-items:center;gap:12px;position:absolute;right:22px;top:max(20px,env(safe-area-inset-top));border:0;background:none;color:#000;padding:8px;font-size:14px;min-height:44px}
 .menu-close span{font-size:32px;line-height:1}
 .mobile-bottom-nav{position:fixed;inset:auto 0 0;z-index:35;width:100%;margin:0;display:flex;gap:0;align-items:stretch;justify-content:space-between;background:#ccc;color:#000;padding-bottom:env(safe-area-inset-bottom);min-height:48px}
 .mobile-bottom-nav a{flex:1;display:flex;justify-content:center;align-items:center;text-align:center;padding:14px 2px;line-height:1.4}
 .mobile-bottom-nav small,.mobile-bottom-nav .en{display:none}
 .mobile-bottom-nav .cn{font-size:10px;font-weight:700}
 .mobile-bottom-nav a.active,.mobile-bottom-nav a:hover{background:var(--yellow);color:#000}
 .quote-link{bottom:calc(70px + env(safe-area-inset-bottom))}
 body{padding-bottom:calc(48px + env(safe-area-inset-bottom))}
}

/* Continuous background rows and fast mask reveals. */
.hero-collage .collage-row{width:200%;margin-left:0;animation:collage-right 24s linear infinite}
.hero-collage .collage-row:nth-child(2){animation-name:collage-left;animation-duration:26s}
.hero-collage .collage-row:nth-child(3){animation-duration:28s}
.hero-collage .collage-row img{width:12.5%;max-width:none}
@keyframes collage-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes collage-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.reveal{transition-duration:.45s,.45s,.45s;clip-path:inset(0)}
.js-motion img.reveal:not(.is-visible),.js-motion .work-card.reveal:not(.is-visible),.js-motion .office-strip.reveal:not(.is-visible){opacity:1;transform:none;clip-path:inset(100% 0 0 0)}
#project-dialog[open] img{animation:image-mask-in .45s cubic-bezier(.22,.61,.36,1) both}
@keyframes image-mask-in{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
.service-orbit .orbit-mesh{fill:none;stroke:#fff;stroke-width:.7;vector-effect:non-scaling-stroke;opacity:.8}
.service-total{z-index:2}
@media(max-width:700px){.hero-collage .collage-row{width:400%}}
@media(prefers-reduced-motion:reduce){.hero-collage .collage-row,#project-dialog[open] img{animation:none}.reveal{transition:none}}

/* Follow the footer edge without changing its original appearance. */
.quote-link{bottom:max(6%,var(--quote-footer-clearance,0px))}
@media(max-width:700px){.quote-link{bottom:max(calc(70px + env(safe-area-inset-bottom)),var(--quote-footer-clearance,0px))}}
@media(prefers-reduced-motion:reduce){.quote-link{transition:none}}

/* Service connectors, unclipped process arrows, and contact confirmation. */
.service-orbit polygon,.service-orbit .orbit-mesh{stroke:#666;opacity:1}
.contact-process{--process-gap:48px;gap:var(--process-gap)}
.contact-process .process-circle.reveal{clip-path:none;overflow:visible}
.process-circle:not(:last-child):after{left:50%;transform:translateX(-50%);width:40px;text-align:center;height:var(--process-gap);line-height:var(--process-gap)}
body.contact-success-open{overflow:hidden}
#contact-success{box-sizing:border-box;width:min(1200px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:64px 48px 80px;background:#050100;border:1px solid #777;color:#fff;text-align:center;overflow-y:auto}
#contact-success::backdrop{background:#000c}
#contact-success .success-close{position:absolute;top:12px;right:16px;width:44px;height:44px;background:transparent;border:0;color:#f8b500;font-size:32px;line-height:1}
#contact-success .success-logo{margin:0 auto 70px;width:80px}
#contact-success .success-logo svg{display:block;width:100%;height:auto;fill:#f8b500}
#contact-success h2{font-family:var(--serif);font-size:clamp(26px,3.4vw,44px);line-height:1.5;letter-spacing:0;color:#f8b500;margin:0 0 36px}
#contact-success p{font-size:20px;line-height:1.9;text-wrap:pretty}
#contact-success strong{font-size:24px;color:#f8b500;font-weight:800;white-space:nowrap}
#contact-success .success-call{margin-top:32px}
#contact-success h3{font-size:24px;margin:0 0 2px}
#contact-success .success-call a{color:#f8b500;font-size:24px;white-space:nowrap}
@media(max-width:1000px){#contact-success{padding:48px 32px}#contact-success .success-logo{margin-bottom:36px;width:64px}#contact-success p{font-size:17px}#contact-success strong{font-size:21px}}
@media(max-width:700px){.contact-process{--process-gap:45px}#contact-success{width:calc(100vw - 28px);max-height:calc(100dvh - 28px);padding:44px 22px 36px}#contact-success .success-logo{width:54px;margin-bottom:26px}#contact-success h2{font-size:26px;margin-bottom:24px}#contact-success p{font-size:15px;line-height:1.85}#contact-success strong{font-size:18px}#contact-success .success-call{margin-top:24px}#contact-success h3{font-size:20px}#contact-success .success-call a{font-size:20px}}

/* Work pages: nine desktop cards, eight mobile cards. */
.works-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:64px auto 0}
.works-pagination[hidden]{display:none}
.works-pagination button{background:none;border:0;color:#fff;font-size:24px;min-width:40px;min-height:44px;padding:4px 8px}
.works-pagination button[aria-current=page]{color:var(--yellow);text-decoration:underline;text-underline-offset:6px}
.works-pagination button:disabled{opacity:.3;cursor:default}
@media(max-width:700px){.works-grid .work-card:last-child{grid-column:auto;width:100%}.works-pagination{margin-top:32px;gap:2px}.works-pagination button{font-size:18px;min-width:36px}}

.process-title-break{display:none}
@media(max-width:700px){.process-title-separator{display:none}.process-title-break{display:block}}
