@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;600&display=swap');
:root{color-scheme:dark;--bg:#0c0c08;--text:#e6e3d9;--muted:#b7b6ac;--line:#ffffff21;font-family:Georgia,'Noto Serif TC','PMingLiU',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-weight:400}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:1px solid #eee;outline-offset:8px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h2{font-size:clamp(38px,3.5vw,64px);line-height:1.3;font-weight:400;letter-spacing:-.035em}p{line-height:2.3}::selection{background:#d4c4a5;color:#10100a}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--bg);padding:15px}.skip:focus{top:10px}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;padding:42px 5%;pointer-events:none;color:#fff;mix-blend-mode:difference}.site-header a,.site-header button{pointer-events:auto}.identity{display:inline-flex;flex-direction:column;align-items:center;width:68px}.identity-zh{font-family:'Noto Serif TC',serif;font-size:36px;font-weight:600;line-height:1.05;letter-spacing:0}.identity-en{font-size:10px;letter-spacing:.05em;margin-top:8px}.header-right{display:flex;align-items:center;gap:clamp(60px,16vw,240px);font-size:12px}.current-service,.menu-toggle{padding:0;position:relative;line-height:2}.current-service:before,.menu-dot{position:absolute;top:-20px;left:50%;width:4px;height:4px;background:currentColor;border-radius:50%;content:''}.hero{height:100svh;min-height:640px;position:relative;isolation:isolate;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-media video{height:100%;width:100%;object-fit:cover;filter:saturate(.55) brightness(.72);transform:scale(1.035)}.hero-shade{z-index:-1;background:linear-gradient(90deg,#05080565,transparent 75%),linear-gradient(0deg,#0c0c0880,transparent 35%)}h1{position:absolute;left:17.5%;top:49%;font-size:clamp(19px,1.5vw,25px);font-weight:500;letter-spacing:.08em}.hero-bottom{position:absolute;bottom:35px;left:5%;right:5%;display:grid;grid-template-columns:14% 1fr auto auto;gap:45px;font-size:12px;align-items:center}.hero-bottom button{font-size:11px;padding:8px}.hero-bottom a{text-align:right}.story{position:relative;isolation:isolate}.story-backdrop{position:absolute;inset:0;z-index:-1;background:linear-gradient(#0c0c08 2%,#0c0c08b8 40%,#0c0c0880 80%,#0c0c08),url('/assets/work-brand-tag.png') center/cover no-repeat;background-attachment:fixed}.philosophy{position:relative;min-height:1450px;padding:510px 5% 180px;display:grid;grid-template-columns:14% 44% 42%}.vertical-label{writing-mode:vertical-rl;font-size:15px;line-height:1.3;letter-spacing:.02em;font-weight:400}.philosophy>.vertical-label{position:absolute;left:5%;top:520px}.floating-detail{position:absolute;top:130px;left:5%;width:20%;height:300px;object-fit:cover}.philosophy-copy{grid-column:2;z-index:2}.eyebrow{font-size:12px;letter-spacing:.08em;margin-bottom:26px}.philosophy h2 span{display:block;text-align:right;margin-right:15%}.body-copy{font-size:14px;line-height:2.5;letter-spacing:.08em;color:var(--muted);margin-top:30px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:16px;line-height:1.6;margin-top:90px;min-height:44px}.text-link:before{content:'';width:52px;height:1px;background:currentColor;transition:width .4s}.text-link:hover:before{width:75px}.text-link span{font-size:12px}.philosophy-images{position:relative;grid-column:3;margin-left:12%;margin-top:-190px}.image-tall{height:720px;filter:brightness(.75) saturate(.65)}.image-overlap{position:absolute;right:15%;top:-90px;width:54%;height:400px;filter:brightness(.85)}.services-intro{position:relative;min-height:1100px;padding:120px 5% 450px;display:grid;grid-template-columns:1fr 1fr}.services-intro>.vertical-label{position:absolute;left:5%;top:140px}.intro-copy{grid-column:2}.service-list{padding:20px 5% 0;background:var(--bg)}.service{display:grid;grid-template-columns:25% 40% 35%;min-height:675px;padding:70px 0;border-bottom:1px solid var(--line)}.service:last-child{border:0}.service-index{display:flex;flex-direction:column;justify-content:space-between;font-size:14px}.service-copy{padding-right:30%;display:flex;flex-direction:column;align-items:flex-start}.service-copy h3{font-size:17px;font-weight:400;margin:22px 0 28px;line-height:1.9;letter-spacing:.06em}.service-copy p{color:var(--muted);font-size:14px;line-height:2.15;letter-spacing:.07em}.service-copy .text-link{margin-top:auto;padding-top:50px}.service-image{width:72%;margin-left:auto;height:500px;overflow:hidden}.service-image img{filter:saturate(.65) brightness(.85);transition:transform 1.2s,filter 1.2s}.service-image:hover img{transform:scale(1.04);filter:none}.company{position:relative;isolation:isolate;min-height:1100px;padding:140px 5% 160px;text-align:center}.company-background{position:absolute;inset:0;z-index:-1;background:linear-gradient(#0c0c084d,#0c0c08e0),url('/assets/work-brand-tag.png') center/cover}.company>.vertical-label{position:absolute;left:5%;top:270px}.company-copy .identity{margin-bottom:65px}.company-copy h2{margin-bottom:25px}.company-copy p{font-size:14px;color:#d6d2c6;line-height:2.5;letter-spacing:.08em;margin-bottom:26px}.company-copy .text-link{margin-top:45px}.site-footer{padding:100px 5% 35px}.footer-inquiry{display:flex;align-items:center;gap:36px;font-size:clamp(38px,4vw,66px);margin:170px 0 190px}.footer-inquiry>span{width:25%;height:1px;background:var(--text);transition:width .4s}.footer-inquiry:hover>span{width:29%}.footer-inquiry small{font-size:13px;margin-left:auto}.footer-grid{display:grid;grid-template-columns:14% 18% 23% 1fr;font-size:12px;gap:20px}.footer-grid a{display:block;line-height:2.5}.footer-grid a:hover{color:#fff;text-decoration:underline;text-underline-offset:6px}.footer-grid p{margin-bottom:18px;color:var(--muted);font-size:10px}.footer-contact{text-align:right}.footer-bottom{margin-top:100px;display:grid;grid-template-columns:14% 1fr auto;gap:20px;font-size:11px}.menu{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;background:#12130e;color:var(--text);padding:9vh 17.5%;overflow:auto}.menu::backdrop{background:#12130e}.menu-close{position:absolute;right:5%;top:40px;font-size:12px;padding:10px}.menu nav{display:flex;flex-direction:column;gap:15px}.menu nav a{font-size:clamp(28px,4.5vw,58px);line-height:1.25}.menu nav a span{font-size:12px;margin-left:25px;color:var(--muted)}.menu nav a:hover{color:#fff}.menu-email{display:inline-block;margin-top:45px;font-size:13px}.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity 1.15s,transform 1.4s}.motion-ready .reveal.visible{opacity:1;transform:none}
@media(min-width:1800px){.philosophy{min-height:1600px}.service{min-height:760px}.service-image{height:580px}}
@media(max-width:760px){.site-header{padding:28px 6%}.identity{width:48px}.identity-zh{font-size:28px}.identity-en{font-size:8px}.header-right{gap:50px;font-size:10px}.current-service:before,.menu-dot{top:-12px}.hero{min-height:580px}.hero-media video{object-position:56% center}h1{left:12%;top:48%;font-size:18px;letter-spacing:.05em}.hero-bottom{left:6%;right:6%;bottom:25px;grid-template-columns:1fr auto;gap:16px;font-size:10px}.hero-bottom .time{grid-row:2;grid-column:1}.hero-bottom button{grid-row:2;grid-column:2;text-align:right;font-size:10px;padding:0}.hero-bottom a{grid-row:1;grid-column:2}.story-backdrop{background-attachment:scroll}.philosophy{display:block;min-height:0;padding:320px 8% 100px}.floating-detail{top:75px;left:8%;width:32%;height:185px}.philosophy>.vertical-label{top:325px;left:6%}.vertical-label{font-size:10px}.philosophy-copy{margin-left:13%}.eyebrow{font-size:10px;margin-bottom:20px}h2{font-size:38px}.philosophy h2 span{margin:0;text-align:left}.body-copy{font-size:12px;line-height:2.5;letter-spacing:.02em;margin-top:24px}.text-link{font-size:13px;margin-top:45px;gap:15px}.text-link:before{width:35px}.philosophy-images{margin:130px 0 0 20%;height:420px}.image-tall{height:420px}.image-overlap{height:220px;width:60%;right:12%;top:-65px}.services-intro{display:block;min-height:780px;padding:85px 8% 260px 20%}.services-intro>.vertical-label{top:90px;left:6%}.service-list{padding:0 6%}.service{min-height:0;grid-template-columns:13% 87%;padding:50px 0}.service-index{grid-row:1 / 3}.service-copy{padding-right:0}.service-copy h2{font-size:36px}.service-copy h3{font-size:15px;margin:15px 0 20px}.service-copy p{font-size:12px;letter-spacing:.04em}.service-copy .text-link{padding-top:25px;margin-top:0}.service-image{grid-column:2;width:82%;height:330px;margin:35px 0 0 auto}.company{min-height:900px;padding:100px 8%}.company>.vertical-label{left:6%;top:250px}.company-copy{padding:0 5%}.company-copy .identity{margin-bottom:45px}.company-copy p{font-size:12px;letter-spacing:.03em}.company-copy h2{font-size:38px}.site-footer{padding:65px 6% 30px}.footer-inquiry{flex-wrap:wrap;font-size:38px;gap:20px;margin:100px 0}.footer-inquiry>span{width:15%}.footer-inquiry small{width:100%;margin-left:calc(15% + 20px);font-size:11px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px;font-size:11px}.footer-contact{text-align:left;overflow-wrap:anywhere}.footer-grid p{font-size:9px}.footer-bottom{margin-top:65px;grid-template-columns:1fr auto;font-size:9px}.footer-bottom [data-clock]{grid-row:2;grid-column:1 / 3}.menu{padding:110px 10% 40px}.menu nav{gap:22px}.menu nav a span{font-size:10px;margin-left:14px}.menu-email{font-size:12px}.menu-close{top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion-ready .reveal{opacity:1;transform:none}}
/* Keep the marginal labels at the outside edge of their grid column. */
.service-index{align-items:flex-start}
.site-header{mix-blend-mode:normal;text-shadow:0 1px 14px #0009}
/* Overlay the opening film so the transparent header does not reveal a black strip. */
body>header{position:fixed;left:0;right:0}
