:root{--ink:#141414;--ink-soft:#2b2b29;--paper:#f6f5f3;--paper-2:#fff;--fog:#e8e6e1;--stone:#8f8b82;--line:#d4d1c9;--line-strong:#b9b5aa}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Noto Sans TC,Noto Sans,sans-serif;font-weight:300;line-height:1.9;overflow-x:hidden}h1,h2,h3{letter-spacing:.02em;font-family:auto;font-weight:600}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.mono{font-family:IBM Plex Mono,monospace}.eyebrow{letter-spacing:.01em;text-transform:none;color:#000;align-items:center;gap:14px;margin-bottom:28px;font-size:clamp(1.8rem,6vw,2rem);font-weight:600;display:flex}.eyebrow.on-dark{color:#f6f5f38c}.eyebrow.on-dark:before{background:#f6f5f359}.wrap{max-width:1180px;margin:0 auto;padding:0 40px}@media (width<=640px){.wrap{padding:0 22px}}header{z-index:100;background:#141414;border-bottom:2px solid #141414;padding:40px 0;transition:background .4s,border-color .4s,padding .4s;position:fixed;top:0;left:0;right:0}header.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f6f5f3eb;padding:14px 0}header .wrap{justify-content:space-between;align-items:center;max-width:100%;display:flex}.brand{align-items:center;gap:14px;width:240px;padding-right:30px;display:flex}.brand-mark{border:1px solid var(--ink);border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-family:Noto Serif TC,serif;font-size:16px;font-weight:700;display:flex}.brand-name{flex-direction:column;line-height:1.25;display:flex}.brand-name .zh{letter-spacing:.04em;font-family:Noto Serif TC,serif;font-size:15px;font-weight:600}.brand-name .en{letter-spacing:.14em;color:var(--stone);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:10px}nav{align-items:center;gap:44px;display:flex}nav .links{letter-spacing:.03em;gap:38px;font-size:16px;font-weight:400;display:flex}nav .links a{color:var(--ink-soft);padding-bottom:4px;position:relative}nav .links a:after{content:"";background:var(--ink);width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}nav .links a:hover:after,nav .links a:focus-visible:after{width:100%}.nav-cta{border:1px solid var(--ink);letter-spacing:.08em;padding:10px 22px;font-size:13px;transition:background .3s,color .3s}.nav-cta:hover,.nav-cta:focus-visible{background:var(--ink);color:var(--paper)}.menu-btn{cursor:pointer;background:0 0;border:none;padding:6px;display:none}.menu-btn span{background:var(--ink);width:22px;height:1px;margin:5px 0;transition:transform .3s,opacity .3s;display:block}@media (width<=860px){nav .links{display:none}nav.active .links{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--line);background:#f6f5f3f5;flex-direction:column;align-items:center;gap:28px;padding:38px 0;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 30px #0000000a}nav.active .menu-btn span:first-child{transform:translateY(6px)rotate(45deg)}nav.active .menu-btn span:nth-child(2){opacity:0}nav.active .menu-btn span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.nav-cta{display:none}.menu-btn{display:block}}.hero{min-height:100vh;color:var(--paper);text-align:center;background:#141414;flex-direction:column;justify-content:center;align-items:center;padding:140px 24px 100px;display:flex;position:relative;overflow:hidden}.hero-grid{opacity:1;pointer-events:none;background:url(/images/logo_bg.webp) 50%/100vh no-repeat;position:absolute;inset:0}.hero-mark{color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;white-space:nowrap;font-family:Noto Serif TC,serif;font-size:min(70vw,900px);font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-46%)}.corner{opacity:.5;width:26px;height:26px;position:absolute}.corner svg{width:100%;height:100%}.corner.tl{display:none;top:32px;left:32px}.corner.tr{display:none;top:32px;right:32px;transform:rotate(90deg)}.corner.bl{display:none;bottom:32px;left:32px;transform:rotate(-90deg)}.corner.br{display:none;bottom:32px;right:32px;transform:rotate(180deg)}.hero-content{z-index:2;max-width:900px;position:relative}.hero-eyebrow{letter-spacing:.3em;text-transform:uppercase;color:#f6f5f38c;margin-bottom:26px;font-family:IBM Plex Mono,monospace;font-size:12px}.hero h1{letter-spacing:.03em;color:#fff;font-family:Noto Serif TC,serif;font-size:clamp(22px,5.4vw,44px);line-height:1.45}.hero h1 .dash{padding:0 6px}.hero .sub{letter-spacing:.08em;color:#fff;margin-top:5px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:400}.hero .cta-row{flex-wrap:wrap;justify-content:center;gap:18px;margin-top:52px;display:flex}.btn{letter-spacing:.1em;border:1px solid #f6f5f380;padding:15px 34px;font-size:13px;transition:all .3s;display:inline-block}.btn.primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn.primary:hover,.btn.primary:focus-visible{color:var(--paper);background:0 0}.btn.ghost:hover,.btn.ghost:focus-visible{border-color:var(--paper);background:#f6f5f314}.scroll-cue{color:#fff;letter-spacing:.1em;flex-direction:column;align-items:center;gap:10px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.scroll-cue .line{background:#fff0;width:1px;height:40px;position:relative;overflow:hidden}.scroll-cue .line:after{content:"";background:#fff;width:100%;height:100%;animation:2.2s ease-in-out infinite drip;position:absolute;top:-40px;left:0}@keyframes drip{0%{transform:translateY(0)}to{transform:translateY(80px)}}section{padding:150px 0}@media (width<=640px){section{padding:96px 0}}.about-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:80px;display:grid}@media (width<=900px){.about-grid{grid-template-columns:1fr;gap:52px}}.about-zh{color:var(--ink);text-align:center;padding:0 0 5%;font-size:clamp(14px,2vw,18px);font-weight:400;line-height:30px}.about-zh strong{font-weight:700}.about-en{color:#000;border-left:1px solid var(--line);padding-left:32px;font-size:14px;font-weight:500;line-height:2.1}.about_images{align-items:center;gap:4%;width:100%;display:flex}.about_images img{object-fit:cover;flex:1;width:calc(50% - 2px);height:auto}h2.section-title{letter-spacing:.02em;margin-bottom:20px;font-size:clamp(28px,3.4vw,42px)}.divider{background:var(--ink);height:auto;min-height:0;position:relative;overflow:hidden}.divider .beam{width:100%;position:relative}.divider .beam picture,.divider .beam img{width:100%;height:auto;display:block}.divider .mark-zh{color:#f6f5f3e6;letter-spacing:.06em;font-family:Noto Serif TC,serif;font-size:clamp(70px,14vw,180px);font-weight:700;position:relative}.divider .mark-en{letter-spacing:.4em;text-transform:uppercase;color:#f6f5f366;text-align:center;margin-top:18px;font-family:IBM Plex Mono,monospace;font-size:12px;position:relative}.principles-intro{background:var(--ink);color:var(--paper);margin-top:-1px}@media (width<=768px){.principles-intro .eyebrow img{width:130px;height:auto}}.pi-grid{grid-template-columns:.9fr 1.1fr;align-items:end;gap:70px;display:grid}@media (width<=900px){.pi-grid{grid-template-columns:1fr;gap:56px}}.pi-num{align-items:self-end;gap:20px;font-family:Noto Serif TC,serif;font-size:clamp(90px,11vw,150px);font-weight:700;line-height:.85;display:flex}.pi-num span.core{letter-spacing:.02em;font-family:Noto Sans TC,sans-serif;font-size:clamp(28px,3vw,42px);font-weight:600}.pi-num small{letter-spacing:.2em;color:#f6f5f380;text-transform:uppercase;margin-top:14px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:400;display:block}.pi-list{border-top:1px solid #f6f5f32e}.pi-row{border-bottom:1px solid #f6f5f32e;align-items:baseline;gap:28px;padding:26px 0;transition:padding-left .35s;display:flex}.pi-row:hover{padding-left:14px}.pi-row .n{color:#f6f5f366;letter-spacing:.08em;font-family:IBM Plex Mono,monospace;font-size:13px}.pi-row .t{letter-spacing:.02em;flex:1;font-family:auto;font-size:clamp(20px,2.4vw,24px);font-weight:600}.pi-row .t .en{letter-spacing:.16em;color:#f6f5f373;text-transform:uppercase;margin-top:6px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:400;display:block}.pi-row .arrow{color:#f6f5f359;font-family:IBM Plex Mono,monospace;font-size:16px;transition:transform .35s,color .35s}.pi-row:hover .arrow{color:var(--paper);transform:translate(6px)}.detail-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:90px 0;display:grid}.detail-row:last-child{border-bottom:none}.detail-row.reverse .detail-img{order:2}.detail-row.reverse .detail-text{order:1}@media (width<=860px){.detail-row{grid-template-columns:1fr;gap:40px;padding:64px 0}.detail-row.reverse .detail-img{order:1}.detail-row.reverse .detail-text{order:2}}.detail-img{aspect-ratio:4/3;background:#f6f5f3;width:100%;position:relative;overflow:hidden}.detail-img .plate{background:repeating-linear-gradient(135deg, #f6f5f30d 0 2px, transparent 2px 26px), linear-gradient(160deg, var(--ink-soft), var(--ink) 75%);position:absolute;inset:0}.detail-img img,.detail-img .plate img{object-fit:cover;width:100%;height:100%;display:block}.detail-img .plate:after{content:attr(data-icon);opacity:.18;color:var(--paper);justify-content:center;align-items:center;font-size:64px;display:flex;position:absolute;inset:0}.detail-text .n{letter-spacing:.16em;color:var(--stone);font-family:IBM Plex Mono,monospace;font-size:12px}.detail-text h3{margin:16px 0 4px;font-size:clamp(24px,2.6vw,30px)}.detail-text .en{letter-spacing:.16em;color:var(--stone);text-transform:uppercase;margin-bottom:22px;font-family:IBM Plex Mono,monospace;font-size:11px;display:block}.detail-text p{color:var(--ink-soft);max-width:440px;font-size:14.5px;font-weight:400;line-height:2.05}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}html{scroll-behavior:auto}}.eyebrow.light{color:#f6f5f380}.eyebrow.light:before{background:#f6f5f359}.work-item .plate{background:#c9c6bd;position:relative;overflow:hidden}.work-item .plate:before{content:"";background:radial-gradient(120% 90% at 20% 15%,#ffffff80,#0000 55%),linear-gradient(150deg,#8f8c84,#3a3936 65%,#232220);position:absolute;inset:0}.work-item .plate:after{content:"";mix-blend-mode:overlay;background-image:repeating-linear-gradient(115deg,#ffffff0d 0 2px,#0000 2px 30px);position:absolute;inset:0}.work-item .plate.deep:before{background:linear-gradient(150deg,#57544c,#1c1b19 70%)}.work-item .plate.pale:before{background:linear-gradient(150deg,#d8d5cb,#8a877c 75%)}.work{background:var(--ink);color:var(--paper);scroll-margin-top:70px;overflow:hidden}.work-head{margin-bottom:70px}.work-viewport{cursor:none;width:100%;position:relative}.work-viewport:before,.work-viewport:after{content:"";z-index:3;pointer-events:none;width:120px;position:absolute;top:0;bottom:0}.work-viewport:before{background:linear-gradient(90deg, var(--ink), transparent);left:0}.work-viewport:after{background:linear-gradient(270deg, var(--ink), transparent);right:0}.work-track{will-change:transform;gap:24px;width:max-content;display:flex}.work-item{color:inherit;aspect-ratio:3/4;flex:none;width:300px;text-decoration:none;display:block;position:relative;overflow:hidden}.work-item .plate{z-index:0;position:absolute;inset:0}.work-item .plate img{z-index:1;object-fit:cover;width:100%;height:100%;display:block;position:relative}.work-item .tag{letter-spacing:.16em;color:#f6f5f3d9;text-transform:uppercase;z-index:2;font-family:IBM Plex Mono,monospace;font-size:10.5px;position:absolute;bottom:20px;left:20px}.work-item:after{content:"";z-index:1;background:linear-gradient(#0000 45%,#00000080);position:absolute;inset:0}.work-cursor{width:64px;height:64px;color:var(--paper);pointer-events:none;opacity:0;z-index:5;border:1px solid #f6f5f399;border-radius:50%;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:16px;transition:opacity .25s;display:flex;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.work-viewport:hover .work-cursor{opacity:1}.work-more-row{justify-content:center;margin-top:60px;display:flex}.work .btn{text-transform:uppercase;border-color:#f6f5f366;font-family:IBM Plex Mono,monospace}.work .btn:hover,.work .btn:focus-visible{border-color:var(--paper);background:#f6f5f34d}.contact{background:var(--paper)}.contact-grid{grid-template-columns:1.2fr .8fr;gap:80px;display:grid}@media (width<=860px){.contact-grid{grid-template-columns:1fr;gap:50px}}.contact h2{font-size:clamp(26px,3.6vw,42px);font-weight:500;line-height:1.5}.contact p.lead{color:var(--stone);max-width:440px;margin-top:22px;font-size:14px;line-height:2.1}.contact-info{margin-top:44px}.contact-info .row{border-bottom:1px solid var(--line);justify-content:space-between;padding:16px 0;font-size:14px;display:flex}.contact-info .row span:first-child{letter-spacing:.14em;color:var(--stone);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:11px}.contact-form{flex-direction:column;gap:22px;display:flex}.field{border-bottom:1px solid var(--line);padding-bottom:10px}.field label{letter-spacing:.16em;text-transform:uppercase;color:#000;margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:14px;display:block}.field input,.field textarea{color:#cdcdcd;resize:none;background:0 0;border:none;outline:none;width:100%;font-family:Noto Sans TC,sans-serif;font-size:14px}.field input::placeholder,.field textarea::placeholder{color:var(--stone-2)}.submit-btn{background:var(--ink);color:var(--paper);border:1px solid var(--ink);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;align-self:flex-start;margin-top:8px;padding:15px 32px;font-family:IBM Plex Mono,monospace;font-size:12px;transition:all .3s}.submit-btn:hover,.submit-btn:focus-visible{color:var(--ink);background:0 0}footer{background:var(--ink);color:#f6f5f380;border-top:1px solid #f6f5f31a;padding:56px 0 32px}footer .wrap{max-width:100%}.foot-grid{flex-wrap:wrap;justify-content:space-between;gap:30px;padding-bottom:36px;display:flex}.foot-grid .en{color:var(--paper);font-family:Noto Serif TC,serif;font-size:12px;font-weight:600}.foot-grid .lines{text-align:right;font-size:12px;line-height:2}.foot-bottom{letter-spacing:.05em;text-transform:none;border-top:1px solid #f6f5f31a;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:22px;font-family:IBM Plex Mono,monospace;font-size:7px;display:flex}.back-to-top{width:46px;height:46px;color:var(--paper);cursor:pointer;z-index:90;opacity:0;visibility:hidden;background:#3f3f3f;border:1px solid #3f3f3f;border-radius:50%;justify-content:center;align-items:center;transition:opacity .35s,transform .35s cubic-bezier(.16,1,.3,1),visibility .35s,background-color .3s,color .3s;display:flex;position:fixed;bottom:32px;right:32px;transform:translateY(15px);box-shadow:0 4px 16px #00000014}.back-to-top:hover,.back-to-top:focus-visible{background:var(--paper);color:var(--ink);transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}@media (width<=640px){.back-to-top{width:40px;height:40px;bottom:24px;right:24px}.back-to-top:hover{transform:none}.back-to-top.visible{transform:translateY(0)}}.lightbox{z-index:1000;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0af2;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:fixed;inset:0}.lightbox.active{opacity:1;pointer-events:auto}.lightbox-content{flex-direction:column;align-items:center;max-width:90%;max-height:85vh;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;transform:scale(.95)}.lightbox.active .lightbox-content{transform:scale(1)}.lightbox-img-container{border:1px solid #ffffff1a;border-radius:4px;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000080}.lightbox-img{object-fit:contain;max-width:100%;max-height:70vh;display:block}.lightbox-caption{text-align:center;color:var(--paper);margin-top:20px}.lightbox-caption .tag{letter-spacing:.16em;color:var(--stone);text-transform:uppercase;margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:11px;display:block}.lightbox-caption h4{letter-spacing:.05em;font-family:Noto Serif TC,serif;font-size:1.4rem;font-weight:500}.lightbox-caption p{color:#f6f5f399;margin-top:6px;font-size:.95rem;font-weight:300}.lightbox-close{color:var(--paper);cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;padding:10px;font-size:2rem;transition:opacity .3s;display:flex;position:absolute;top:-50px;right:0}.lightbox-close:hover{opacity:1}.lightbox-nav{color:var(--paper);cursor:pointer;z-index:1010;-webkit-user-select:none;user-select:none;background:#f6f5f308;border:1px solid #f6f5f326;border-radius:50%;outline:none;justify-content:center;align-items:center;width:50px;height:50px;font-size:28px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);transform:translateY(-50%)scale(1.05)}.lightbox-prev{left:30px}.lightbox-next{right:30px}@media (width<=768px){.lightbox-nav{width:42px;height:42px;font-size:22px}.lightbox-prev{left:15px}.lightbox-next{right:15px}}
