:root{--bg:#fff;--ink:#1a1a1a;--ink-2:#2e2e2e;--mute:#666;--mute-2:#767676;--hair:#a8a8a8;--line:#e8e8e8;--line-2:#d4d4d4;--rule:#1a1a1a;--brand-line:#06c755;--serif-tc:"Noto Serif TC", "Noto Serif TC Variable", "Songti TC", "STSong", "PMingLiU", serif;--serif-en:"Cormorant Garamond", "Cormorant Garamond Variable", "Noto Serif TC", "Noto Serif TC Variable", Georgia, serif;--ease:cubic-bezier(.2, .7, .1, 1)}@font-face{font-family:Latin Quotes;src:local(Georgia),local(Times New Roman),local(Times);unicode-range:U+2018-2019,U+201C-201D}html[lang=en]{--serif-tc:"Latin Quotes", "Noto Serif TC", "Noto Serif TC Variable", "Songti TC", "STSong", "PMingLiU", serif}::selection{background:var(--ink);color:var(--bg)}:focus-visible{outline:1px solid var(--ink);outline-offset:4px}:focus:not(:focus-visible){outline:none}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--serif-tc);-webkit-font-smoothing:antialiased;font-feature-settings:"palt";font-weight:400;line-height:1.8}a{color:inherit;text-decoration:none}p{text-wrap:pretty}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.en{font-family:var(--serif-en);letter-spacing:.01em;font-style:italic;font-weight:300}.skip-link{z-index:100;background:var(--ink);color:var(--bg);letter-spacing:.1em;transition:transform .4s var(--ease);padding:10px 18px;font-size:15px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.frame{max-width:1120px;margin:0 auto;padding:0 48px}nav.top{z-index:50;-webkit-backdrop-filter:blur(10px);transition:transform .6s var(--ease), border-color .4s ease;background:#ffffffe0;border-bottom:1px solid #0000;position:sticky;top:0}nav.top[data-scrolled]{border-bottom-color:var(--line)}nav.top[data-hidden]{transform:translateY(-100%)}nav.top .inner{justify-content:space-between;align-items:center;height:80px;display:flex}nav.top .brand{letter-spacing:.14em;white-space:nowrap;flex:none;align-items:baseline;font-size:26px;font-weight:500;display:flex}nav.top .brand .en{color:var(--mute);letter-spacing:.08em;font-size:16px;font-family:var(--serif-en);margin-left:12px;font-style:italic;font-weight:400}nav.top ul{align-items:center;gap:44px;margin:0;padding:0;list-style:none;display:flex}nav.top ul li.cta-group{align-items:center;gap:12px;display:flex}nav.top ul a{white-space:nowrap;color:var(--ink-2);letter-spacing:.15em;padding:2px 0;font-size:16px;transition:color .3s;position:relative}nav.top ul a:after{content:"";background:var(--ink);transform-origin:0;height:1px;transition:transform .3s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}nav.top ul a:hover:after,nav.top ul a[aria-current]:after{transform:scaleX(1)}nav.top ul a[aria-current]{color:var(--ink)}nav.top ul a.cta,nav.top ul a.cta-line{border-radius:2px;align-items:center;height:40px;padding:0 20px;line-height:1;display:inline-flex}nav.top ul a.cta{border:1px solid var(--ink);color:var(--ink)}nav.top ul a.cta:after{display:none}nav.top ul a.cta-line{border:1px solid var(--line-2);gap:8px;transition:border-color .3s}nav.top ul a.cta-line:after{display:none}nav.top ul a.cta-line:hover{border-color:var(--rule)}.intro{align-items:center;min-height:calc(100svh - 80px);padding:64px 0 80px;display:flex;position:relative;overflow:hidden}.intro>.frame{z-index:1;width:100%;position:relative}.intro-orbit{z-index:0;width:min(760px,56vw);position:absolute;top:50%;right:calc(max(0px,50vw - 560px) - 380px);transform:translateY(-50%)}.intro .seal{font-family:var(--serif-en);letter-spacing:.3em;color:var(--mute);text-transform:uppercase;margin-bottom:36px;font-size:13px}.intro h1{letter-spacing:.04em;margin:0 0 40px;font-size:min(clamp(40px,5.6vw,84px),8.40336vw - 4.03361px);font-weight:400;line-height:1.3}.intro h1 .ln{white-space:nowrap}html[lang=en] .intro h1{letter-spacing:-.005em;font-size:clamp(44px,6vw,92px);line-height:1.05}html[lang=en] .intro h1,html[lang=en] .sec-head h2,html[lang=en] .contact .statement,html[lang=en] .case h3{font-family:var(--serif-en);font-weight:500}html[lang=en] .sec-head h2{letter-spacing:.02em;font-size:clamp(40px,4.8vw,64px)}html[lang=en] .case h3{letter-spacing:0;font-size:clamp(28px,7vw,38px);line-height:1.25}html[lang=en] .case:hover h3{letter-spacing:.02em}html[lang=en] .contact .statement{letter-spacing:.01em;line-height:1.25}html[lang=en] .intro h1 .ln{white-space:normal;text-wrap:balance}.intro .body{max-width:34em}.intro .body p{color:var(--ink-2);margin:0 0 14px;font-size:19px;line-height:1.95}.intro .body p:last-child{margin-bottom:0}.intro .actions{flex-wrap:wrap;gap:16px;margin-top:40px;display:flex}.intro .cta-primary,.intro .cta-secondary,nav.top ul a.cta,.contact-form button{isolation:isolate;transition:color .5s var(--ease), border-color .5s var(--ease);position:relative;overflow:hidden}.intro .cta-primary:before,.intro .cta-secondary:before,nav.top ul a.cta:before,.contact-form button:before{content:"";z-index:-1;transform-origin:100%;transition:transform .6s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.intro .cta-primary:hover:before,.intro .cta-secondary:hover:before,nav.top ul a.cta:hover:before,.contact-form button:hover:not(:disabled):before{transform-origin:0;transform:scaleX(1)}.intro .cta-primary,.intro .cta-secondary{letter-spacing:.12em;border:1px solid var(--rule);padding:16px 32px;font-size:15px}.intro .cta-primary{background:var(--ink);color:#fff}.intro .cta-primary:before{background:var(--bg)}.intro .cta-primary:hover{color:var(--ink)}.intro .cta-secondary{border-color:var(--line-2);color:var(--ink-2);background:var(--bg)}.intro .cta-secondary:before,nav.top ul a.cta:before{background:var(--ink)}.intro .cta-secondary:hover,nav.top ul a.cta:hover{border-color:var(--ink);color:#fff}.intro .facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:40px;max-width:880px;margin-top:88px;padding-top:40px;display:grid}.intro .facts .k{font-family:var(--serif-en);letter-spacing:.3em;color:var(--mute);text-transform:uppercase;margin-bottom:14px;font-size:13px}.intro .facts .v{color:var(--ink-2);font-size:16px;line-height:1.9}.contact-form{text-align:left;max-width:640px;margin:56px auto 0}.contact-form .row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.contact-form label{margin-bottom:24px;display:block}.contact-form label>span{letter-spacing:.18em;color:var(--mute);margin-bottom:10px;font-size:13px;display:block}.contact-form label>span em{letter-spacing:.1em;color:var(--mute-2);margin-left:8px;font-style:normal}.contact-form input,.contact-form textarea{width:100%;font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--line-2);background:0 0;border-radius:0;padding:10px 0;font-size:17px;transition:border-color .3s}.contact-form textarea{resize:vertical;line-height:1.9}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--rule);outline:none}.contact-form ::placeholder{color:var(--mute-2)}.contact-form .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-form .actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:8px;display:flex}.contact-form button{font:inherit;letter-spacing:.15em;color:#fff;background:var(--ink);border:1px solid var(--ink);cursor:pointer;border-radius:2px;height:46px;padding:0 32px;font-size:16px}.contact-form button:before{background:var(--bg)}.contact-form button:hover:not(:disabled){color:var(--ink)}.contact-form button:disabled{opacity:.45;cursor:default}.contact-form .status{color:var(--mute);margin:0;font-size:15px;line-height:1.7}.contact-form .status[data-state=ok]{color:var(--ink)}.contact-form .status[data-state=error]{color:#a33}.contact .direct{border-top:1px solid var(--line);margin-top:72px;padding-top:48px}.contact .direct-label{letter-spacing:.3em;color:var(--mute-2);text-transform:uppercase;margin-bottom:28px;font-size:13px}section{scroll-margin-top:80px}body{counter-reset:chapter}.sec-head .kicker:before{counter-increment:chapter;content:counter(chapter, decimal-leading-zero);color:var(--ink);margin-right:1.2em}.sec-head{text-align:center;padding:160px 0 100px}.sec-head .kicker{font-family:var(--serif-en);letter-spacing:.4em;color:var(--mute);text-transform:uppercase;margin-bottom:24px;font-size:13px;display:block}.sec-head h1,.sec-head h2{letter-spacing:.12em;margin:0;font-size:clamp(36px,4.2vw,56px);font-weight:400;line-height:1.4}.cases{padding-bottom:160px}.case{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:96px;padding:64px 0;display:grid}.case:last-child{border-bottom:1px solid var(--line)}.case.reverse{direction:rtl}.case.reverse>*{direction:ltr}.case .num{font-family:var(--serif-en);letter-spacing:.3em;color:var(--mute);text-transform:uppercase;margin-bottom:32px;font-size:14px}.case h3{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;letter-spacing:.06em;margin:0 0 24px;font-size:clamp(24px,6.4vw,32px);font-weight:400;line-height:1.55}.case p{color:var(--ink-2);max-width:440px;margin:0 0 28px;font-size:19px;line-height:1.9}.case .meta{font-family:var(--serif-en);letter-spacing:.2em;color:var(--mute);text-transform:uppercase;gap:32px;font-size:14px;display:flex}.case .meta span{align-items:baseline;gap:8px;display:inline-flex}.case .meta span:before{content:"";background:var(--hair);width:4px;height:1px}.case .visual{aspect-ratio:4/5;background:#f6f5f2;position:relative;overflow:hidden}.case .visual>svg{transition:transform 1.4s var(--ease), clip-path 1.6s var(--ease) .25s}.js .case.reveal .visual>svg{clip-path:inset(100% 0 0)}.js .case.reveal.in .visual>svg{clip-path:inset(0)}.case:hover .visual>svg{transform:scale(1.035)}.case h3{transition:letter-spacing .8s var(--ease)}.case:hover h3{letter-spacing:.1em}.about{padding-bottom:160px}.about .body{text-align:left;max-width:640px;margin:0 auto}.about .body p{color:var(--ink-2);letter-spacing:.02em;text-wrap:pretty;margin:0 0 32px;font-size:21px;line-height:2}.about .body p:first-of-type:first-letter{float:left;color:var(--ink);margin:6px 14px 0 0;font-size:3em;font-weight:500;line-height:1}.about .signature{text-align:center;font-family:var(--serif-en);color:var(--mute);letter-spacing:.15em;margin-top:80px;font-size:16px;font-style:italic}.faq{padding-bottom:160px}.qa-list{border-bottom:1px solid var(--line);max-width:760px;margin:0 auto}.qa{border-top:1px solid var(--line)}.qa summary{cursor:pointer;justify-content:space-between;align-items:center;gap:32px;padding:30px 0;list-style:none;display:flex}.qa summary::-webkit-details-marker{display:none}.qa .q{letter-spacing:.05em;color:var(--ink);word-break:keep-all;overflow-wrap:anywhere;transition:letter-spacing .8s var(--ease);font-size:clamp(19px,2vw,23px);line-height:1.6}.qa summary:hover .q{letter-spacing:.09em}.qa-icon{flex:none;width:16px;height:16px;position:relative}.qa-icon:before,.qa-icon:after{content:"";background:var(--ink);height:1px;transition:transform .6s var(--ease);position:absolute;top:50%;left:0;right:0}.qa-icon:after{transform:rotate(90deg)}.qa[open] .qa-icon:after{transform:rotate(90deg)scaleX(0)}.qa .a p{max-width:680px;color:var(--ink-2);margin:0;padding:0 48px 32px 0;font-size:18px;line-height:1.95}@supports (interpolate-size:allow-keywords){.faq{interpolate-size:allow-keywords}.qa::details-content{height:0;transition:height .7s var(--ease), content-visibility .7s allow-discrete;overflow:clip}.qa[open]::details-content{height:auto}}html[lang=en] .qa .q{font-family:var(--serif-en);letter-spacing:0;font-size:clamp(21px,2.2vw,26px);font-weight:500}html[lang=en] .qa summary:hover .q{letter-spacing:.02em}.team{padding-bottom:160px}.team-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:0;max-width:880px;margin:0 auto;display:grid}.member{border-bottom:1px solid var(--line);padding:40px 48px}.member:nth-child(odd){border-right:1px solid var(--line)}.member .name{letter-spacing:.08em;margin:0 0 6px;font-size:24px;font-weight:400}.member .en-name{font-family:var(--serif-en);color:var(--mute);letter-spacing:.05em;margin-bottom:16px;font-size:16px;font-style:italic}.member .role{color:var(--mute);letter-spacing:.15em;font-size:15px}.contact{text-align:center;padding:140px 0 128px}.contact .statement{letter-spacing:.08em;max-width:960px;margin:0 auto 64px;font-size:min(clamp(28px,4.8vw,62px),7.46269vw - 3.58209px);font-weight:300;line-height:1.6}.contact .statement .ln{white-space:nowrap}.contact .email{font-family:var(--serif-en);letter-spacing:.1em;color:var(--ink);border-bottom:1px solid var(--ink);padding:8px 0;font-size:36px;font-style:italic;font-weight:300;transition:letter-spacing .4s;display:inline-block}.contact .email:hover{letter-spacing:.18em}.contact .line-cta{margin:36px 0 0}.contact .line-btn{letter-spacing:.1em;color:var(--ink-2);border:1px solid var(--line-2);align-items:center;gap:10px;padding:15px 30px;font-size:17px;transition:border-color .3s,color .3s;display:inline-flex}.contact .line-btn:hover{border-color:var(--rule);color:var(--ink)}.contact .meta{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:32px;max-width:880px;margin-top:80px;margin-left:auto;margin-right:auto;padding-top:48px;display:grid}.contact .meta .k{font-family:var(--serif-en);letter-spacing:.3em;color:var(--mute);text-transform:uppercase;margin-bottom:12px;font-size:13px}.contact .meta .v{color:var(--ink-2);letter-spacing:.04em;font-size:17px;line-height:1.8}footer{border-top:1px solid var(--line);padding:0 0 48px;overflow:hidden}.footer-mark{white-space:nowrap;align-items:baseline;gap:.18em;padding:56px 0 24px;line-height:.9;display:flex}.footer-mark .wm{letter-spacing:.06em;color:var(--ink);transition:letter-spacing 1.2s var(--ease);font-size:clamp(96px,19vw,280px);font-weight:300}.footer-mark .wm-en{font-family:var(--serif-en);color:var(--mute);letter-spacing:.04em;font-size:clamp(24px,3.4vw,48px);font-style:italic;font-weight:300}.footer-mark:hover .wm{letter-spacing:.14em}footer .inner{border-top:1px solid var(--line);font-family:var(--serif-en);letter-spacing:.25em;color:var(--mute);text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-top:32px;font-size:13px;display:flex}footer .to-top{transition:color .3s}footer .to-top:hover{color:var(--ink)}.js .reveal{opacity:0;transition:opacity 1.2s var(--ease), transform 1.2s var(--ease);transform:translateY(24px)}.js .reveal.in{opacity:1;transform:translateY(0)}.js .lines.reveal{opacity:1;transform:none}.lines .ln{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.lines .ln>span{display:block}.js .lines.reveal .ln>span{transition:transform 1.3s var(--ease);transition-delay:calc(var(--i,0) * .11s + .12s);transform:translateY(110%)}.js .lines.reveal.in .ln>span{transform:none}.js .reveal .lines .ln>span{transition:transform 1.3s var(--ease);transition-delay:calc(var(--i,0) * .11s + .2s);transform:translateY(110%)}.js .reveal.in .lines .ln>span{transform:none}.intro .body.reveal{transition-delay:.45s}.intro .actions.reveal{transition-delay:.6s}@media (width>=901px) and (width<=1279px){.intro-orbit{width:56vw;right:-16vw}}@media (width<=900px){.intro{min-height:0;padding:64px 0 72px}.intro-orbit{opacity:.4;width:96vw;top:-40px;right:-46vw;transform:none}.intro .body{max-width:none}.intro .facts{grid-template-columns:1fr;gap:28px}.frame{padding:0 24px}nav.top ul{gap:16px}nav.top ul a{letter-spacing:.08em;font-size:14px}nav.top ul a.cta{padding:7px 12px}nav.top .brand .en{display:none}.sec-head{padding:100px 0 64px}.case{grid-template-columns:1fr;gap:40px;padding:48px 0}.case.reverse{direction:ltr}.team-grid{grid-template-columns:1fr}.member{padding:32px 24px}.member:nth-child(odd){border-right:0}.contact .meta{grid-template-columns:1fr;gap:32px}.contact .email{font-size:26px}.contact-form .row{grid-template-columns:1fr;gap:0}html[lang=en] .contact .statement .ln{white-space:normal;text-wrap:balance}.footer-mark{padding-top:40px}.faq{padding-bottom:100px}.qa summary{gap:20px;padding:24px 0}.qa .a p{padding-right:0;font-size:17px}footer .inner{letter-spacing:.18em;font-size:11px}}@media (width<=640px){nav.top .inner{height:64px}nav.top .brand{font-size:22px}nav.top ul{gap:14px}nav.top ul li.nav-section{display:none}nav.top ul li.cta-group{gap:8px}nav.top ul a.cta,nav.top ul a.cta-line{height:36px}nav.top ul a.cta{padding:0 14px}nav.top ul a.cta-line{padding:0 11px}nav.top ul a.cta-line .cta-line-text{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js .reveal{opacity:1!important;transform:none!important}.js .lines.reveal .ln>span,.js .reveal .lines .ln>span{transform:none!important}nav.top[data-hidden]{transform:none}}.orbit[data-astro-cid-iuargi3b]{--px:0;--py:0;color:var(--ink);pointer-events:none}svg[data-astro-cid-iuargi3b]{width:100%;height:auto;animation:2.6s cubic-bezier(.2,.7,.1,1) both o-enter;display:block;overflow:visible}@keyframes o-enter{0%{opacity:0;transform:scale(.9)rotate(-10deg)}to{opacity:1;transform:none}}.o-far[data-astro-cid-iuargi3b]{animation:1.6s .2s both o-fade}.o-mid[data-astro-cid-iuargi3b]{animation:1.6s .5s both o-fade}.o-near[data-astro-cid-iuargi3b]{animation:1.6s .8s both o-fade}@keyframes o-fade{0%{opacity:0}to{opacity:1}}.o-layer[data-astro-cid-iuargi3b]{transform-origin:300px 300px;transition:transform 1.2s cubic-bezier(.2,.7,.1,1)}.o-far[data-astro-cid-iuargi3b]{transform:translate(calc(var(--px) * -10px), calc(var(--py) * -10px))}.o-mid[data-astro-cid-iuargi3b]{transform:translate(calc(var(--px) * 6px), calc(var(--py) * 6px))}.o-near[data-astro-cid-iuargi3b]{transform:translate(calc(var(--px) * 16px), calc(var(--py) * 16px))}.o-spin[data-astro-cid-iuargi3b]{transform-origin:300px 300px;animation:160s linear infinite o-rotate}.o-nodes[data-astro-cid-iuargi3b]{animation-duration:120s;animation-direction:reverse}.o-sweep[data-astro-cid-iuargi3b]{animation-duration:14s}.o-inner[data-astro-cid-iuargi3b]{animation-duration:24s}@keyframes o-rotate{to{transform:rotate(360deg)}}.o-ring[data-astro-cid-iuargi3b]{fill:none;stroke:var(--line-2);stroke-width:1px;vector-effect:non-scaling-stroke}.o-ring[data-astro-cid-iuargi3b].ink{stroke:var(--ink);stroke-opacity:.55}.o-ring[data-astro-cid-iuargi3b].dashed{stroke-dasharray:2 7;stroke:var(--hair)}.o-tick[data-astro-cid-iuargi3b]{stroke:var(--line-2);stroke-width:1px;vector-effect:non-scaling-stroke}.o-tick[data-astro-cid-iuargi3b].major{stroke:var(--hair)}.o-beam[data-astro-cid-iuargi3b]{stroke:var(--ink);stroke-opacity:.18;stroke-width:1px;vector-effect:non-scaling-stroke}.o-node[data-astro-cid-iuargi3b]{fill:var(--bg);stroke:var(--ink);stroke-width:1.25px;vector-effect:non-scaling-stroke}.o-dot[data-astro-cid-iuargi3b],.o-eye[data-astro-cid-iuargi3b]{fill:var(--ink)}.o-pulse[data-astro-cid-iuargi3b]{fill:none;stroke:var(--ink);stroke-width:1px;vector-effect:non-scaling-stroke;transform-origin:300px 300px;animation:4.8s cubic-bezier(.2,.7,.1,1) infinite o-pulse}@keyframes o-pulse{0%{opacity:.6;transform:scale(1)}70%,to{opacity:0;transform:scale(6.4)}}[data-astro-cid-iuargi3b][data-paused] .o-spin[data-astro-cid-iuargi3b],[data-astro-cid-iuargi3b][data-paused] .o-pulse[data-astro-cid-iuargi3b]{animation-play-state:paused}@media (prefers-reduced-motion:reduce){svg[data-astro-cid-iuargi3b],.o-far[data-astro-cid-iuargi3b],.o-mid[data-astro-cid-iuargi3b],.o-near[data-astro-cid-iuargi3b],.o-spin[data-astro-cid-iuargi3b],.o-pulse[data-astro-cid-iuargi3b]{animation:none}.o-pulse[data-astro-cid-iuargi3b]{opacity:0}}
