@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/3d51db290a6a25f3-s.0kkodo7okz7sx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/f7054824cbb51795-s.3gwda9lv2grgl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/74effe3e2193102a-s.p.2ke8r1sltdje0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_4094b7d6-module__7jPEbG__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_4094b7d6-module__7jPEbG__variable{--ff-sans:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
:root{--c-bg:#000;--c-surface:#111;--c-fg:#fff;--c-muted:#8a8a8a;--c-line:#ffffff24;--c-invert-bg:#fff;--c-invert-fg:#000;--c-focus:#fff;--c-accent:#8484ff;--f-display:var(--ff-sans), ui-sans-serif, system-ui, "PingFang HK", "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", sans-serif;--f-sans:var(--ff-sans), ui-sans-serif, system-ui, "PingFang HK", "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", sans-serif;--f-mono:var(--f-sans);--hero-fs:min(calc((100vw - 2 * var(--page-pad)) / 6.7), 38svh);--t-display-xl:clamp(3.5rem, 11vw, 11rem);--t-display-l:clamp(2.5rem, 6.5vw, 6rem);--t-title:clamp(1.5rem, 2.6vw, 2.5rem);--t-lead:clamp(1.0625rem, .5vw + .95rem, 1.375rem);--t-body:clamp(1rem, .4vw + .9rem, 1.125rem);--t-small:.8125rem;--t-meta:.8125rem;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-6:1.5rem;--s-8:2rem;--s-12:3rem;--s-16:4rem;--s-24:6rem;--s-32:8rem;--s-48:12rem;--grid-cols:12;--gutter:clamp(1rem, 2.4vw, 2.5rem);--page-pad:clamp(1rem, 3vw, 3rem);--max-w:2200px;--r-0:0;--r-1:2px;--r-pill:999px;--shadow-float:0 12px 40px #00000059;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out-quart:cubic-bezier(.76, 0, .24, 1);--ease-spring:linear(0, .42 9%, .91 20%, 1.08 29%, 1.06 37%, 1 50%, .99 65%, 1);--d-micro:.2s;--d-component:.5s;--d-page:1s;--z-nav:50;--z-menu:60;--z-lightbox:80;--z-cursor:90;--z-transition:100}:root[data-theme=light]{--c-bg:#fff;--c-surface:#f0f0f0;--c-fg:#000;--c-muted:#666;--c-line:#00000029;--c-invert-bg:#000;--c-invert-fg:#fff;--c-focus:#000;--c-accent:#2020ff;--shadow-float:0 12px 40px #0000001f}@media (prefers-reduced-motion:reduce){:root{--d-micro:1ms;--d-component:1ms;--d-page:1ms}}
*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;background:var(--c-bg)}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}body{background:var(--c-bg);color:var(--c-fg);font-family:var(--f-sans);font-size:var(--t-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.5;overflow-x:clip}img,canvas,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}ol,ul{padding:0;list-style:none}:focus-visible{outline:2px solid var(--c-focus);outline-offset:3px;border-radius:2px}::selection{background:var(--c-accent);color:var(--c-bg)}.meta{font-size:var(--t-meta);color:var(--c-muted)}.display{font-family:var(--f-display);letter-spacing:-.04em;font-weight:500;line-height:.98}html[lang=zh-HK] .it,html[lang=zh-HK] .menu__i[aria-current=page],html[lang=zh-HK] .tl,html[lang=zh-HK] .ld__name{font-style:normal}.skip-link{left:var(--s-4);z-index:200;background:var(--c-fg);color:var(--c-bg);padding:var(--s-2) var(--s-4);position:fixed;top:-100px}.skip-link:focus{top:var(--s-4)}main{outline:none}.w{vertical-align:top;margin:-.06em -.04em -.14em;padding:.06em .04em .14em;display:inline-block;overflow:hidden}.wi{will-change:transform;display:inline-block}html.js[data-intro=skip] .wi{transform:translateY(110%)}@media (prefers-reduced-motion:reduce){html.js[data-intro=skip] .wi{transform:none}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html.js[data-intro=skip] [data-fade]{opacity:0}@media (prefers-reduced-motion:reduce){html.js[data-intro=skip] [data-fade]{opacity:1}}.flip{vertical-align:bottom;line-height:1.25;display:inline-block;position:relative;overflow:hidden}.flip__a,.flip__b{transition:transform var(--d-component) var(--ease-out-expo);display:block}.flip__b{position:absolute;inset:0;transform:translateY(105%)}a:hover .flip__a,a:focus-visible .flip__a{transform:translateY(-105%)}a:hover .flip__b,a:focus-visible .flip__b{transform:translateY(0)}.icon-btn{border-radius:var(--r-pill);border:1px solid var(--c-line);width:40px;height:40px;transition:background var(--d-micro), transform var(--d-micro) var(--ease-spring);place-items:center;display:grid}.icon-btn:hover{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-bg)}.icon-btn:active{transform:scale(.92)}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}.cursor{display:none}html.has-cursor .cursor{display:block}html.has-cursor,html.has-cursor a,html.has-cursor button,html.has-cursor [role=button]{cursor:none}.cursor>div{pointer-events:none;z-index:var(--z-cursor);opacity:0;transition:opacity var(--d-micro);will-change:transform;position:fixed;top:0;left:0}html.cursor-on .cursor>div{opacity:1}.cursor i{transition:width var(--d-component) var(--ease-out-expo), height var(--d-component) var(--ease-out-expo), opacity var(--d-micro);background:#fff;border-radius:50%;display:block;transform:translate(-50%,-50%)}.cursor__dot,.cursor__ring{mix-blend-mode:difference}.cursor__dot i{width:6px;height:6px}.cursor__ring i{background:0 0;border:1px solid #fff;width:34px;height:34px}html[data-cursor=link] .cursor__ring{mix-blend-mode:normal}html[data-cursor=link] .cursor__ring i{background:color-mix(in srgb, var(--c-accent) 14%, transparent);border-color:var(--c-accent);width:46px;height:46px}html[data-cursor=link] .cursor__dot{mix-blend-mode:normal}html[data-cursor=link] .cursor__dot i{opacity:1;background:var(--c-accent);width:6px;height:6px}html.cursor-down .cursor__ring i{transform:translate(-50%,-50%)scale(.85)}.cursor__face svg{transition:transform var(--d-micro);display:block;overflow:visible;transform:translate(-50%,-50%)scale(0)}.cursor__face .cf__bg{fill:var(--c-accent)}html[data-mood=smile] .cursor__face .cf__bg{fill:#ffd60a}html[data-mood=wink] .cursor__face .cf__bg{fill:#ff5c9e}html[data-mood=oh] .cursor__face .cf__bg{fill:#00d9a0}html[data-mood=hue] .cursor__face .cf__bg{fill:#ff4d4d}.cursor__face g,.cursor__face path,.cursor__face .cf__oh{display:none}.cursor__face circle:not(.cf__bg),.cursor__face path{fill:#000;stroke:none}.cursor__face .cf__smile,.cursor__face path[d^=M26]{fill:none;stroke:#000;stroke-width:2.4px;stroke-linecap:round}html[data-mood] .cursor__face svg{transform:translate(-50%,-50%)scale(1)}html[data-mood][data-cursor=view] .cursor__disc span,html[data-mood][data-cursor=drag] .cursor__disc span,html[data-mood][data-cursor=zoom] .cursor__disc span{transform:translate(34px,28px)scale(1)}html[data-mood] .cursor__ring i,html[data-mood] .cursor__dot i{opacity:0!important}html[data-mood=smile] .cf__eyes--dots,html[data-mood=smile] .cf__smile,html[data-mood=wink] .cf__eyes--wink,html[data-mood=wink] .cf__smile,html[data-mood=oh] .cf__eyes--dots,html[data-mood=oh] .cf__oh,html[data-mood=hue] .cf__eyes--dots,html[data-mood=hue] .cf__smile,.cursor__face .cf__eyes--wink path{display:inline}html[data-mood=hue] .cursor__face .cf__bg{animation:3s linear infinite cfhue}@keyframes cfhue{to{filter:hue-rotate(360deg)}}@media (prefers-reduced-motion:reduce){html[data-mood=hue] .cursor__face .cf__bg{animation:none}}.cursor__disc span{white-space:nowrap;background:var(--c-accent);color:var(--c-bg);font:500 .6875rem/1.2 var(--f-sans);transform-origin:0 0;transition:transform var(--d-component) var(--ease-spring);border-radius:999px;padding:5px 11px;display:block;position:absolute;top:0;left:0;transform:translate(18px,18px)scale(0)}html[data-cursor=view] .cursor__disc span,html[data-cursor=drag] .cursor__disc span,html[data-cursor=zoom] .cursor__disc span{transform:translate(18px,18px)scale(1)}.loader{z-index:var(--z-transition);background:var(--c-bg);place-items:center;display:grid;position:fixed;inset:0}html[data-intro=skip] .loader{display:none}.ld__name{font-family:var(--f-display);font-size:var(--t-display-l);line-height:1;display:flex}.ld__w{padding:.05em 0 .15em;display:inline-block;overflow:hidden}.ld__c{display:inline-block}html.js:not([data-intro=skip]) .ld__c{transform:translateY(110%)}@media (prefers-reduced-motion:reduce){html.js:not([data-intro=skip]) .ld__c{transform:none}}.tpanel{z-index:var(--z-transition);background:var(--c-invert-bg);color:var(--c-invert-fg);visibility:hidden;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.tl{font-family:var(--f-display);font-size:var(--t-display-l);line-height:1;display:flex}.tl__w{padding:.05em 0 .15em;display:inline-block;overflow:hidden}.tl__c{display:inline-block}.menu__tools{align-items:center;gap:var(--s-3);display:flex}.nav__lang{min-width:40px;height:40px;padding:0 var(--s-3);border:1px solid var(--c-line);border-radius:var(--r-pill);font-family:var(--f-sans);font-size:var(--t-small);transition:background var(--d-micro), border-color var(--d-micro), color var(--d-micro), transform var(--d-micro) var(--ease-spring);justify-content:center;align-items:center;display:inline-flex}.nav__lang:active{transform:scale(.94)}@media (hover:hover){.nav__lang:hover,.nav__lang:focus-visible{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-bg)}}.menu__close{flex:none}.pill{z-index:var(--z-nav);left:50%;bottom:calc(var(--s-6) + env(safe-area-inset-bottom));align-items:center;gap:var(--s-1);padding:var(--s-2);border-radius:var(--r-pill);color:#fff;box-shadow:var(--shadow-float);background:#000;display:flex;position:fixed;transform:translate(-50%)}html[data-theme=dark] .pill{color:#000;background:#fff}.pill a,.pill button{white-space:nowrap;min-width:44px;min-height:44px;padding:0 var(--s-4);border-radius:var(--r-pill);font-size:var(--t-small);transition:background var(--d-micro), color var(--d-micro);justify-content:center;align-items:center;display:inline-flex}.pill a:hover,.pill button:hover{background:color-mix(in srgb, var(--c-accent) 38%, transparent)}.pill a.pill__logo{padding:0 var(--s-4) 0 var(--s-4);font-family:var(--f-display);letter-spacing:-.02em;font-variation-settings:"wght" 500, "wdth" 100;transition:background var(--d-micro), color var(--d-micro), font-variation-settings var(--d-component) var(--ease-out-expo);font-size:1.125rem;font-weight:500;position:relative}.pill__logo:after{content:"";background:var(--c-accent);width:.26em;height:.26em;transition:transform var(--d-component) var(--ease-spring);flex:none;margin:.42em 0 0 .12em}html[data-theme=dark] .pill__logo:after{background:#2a2aff}.pill__logo:hover:after,.pill__logo:focus-visible:after{transform:translateY(-.45em)}.pill__logo:hover{font-variation-settings:"wght" 800, "wdth" 100}.pill a[aria-current=page]{color:#000;background:#fff}html[data-theme=dark] .pill a[aria-current=page]{color:#fff;background:#000}.pill__menu{flex-direction:column;gap:5px}.pill__menu span{width:18px;height:1.5px;transition:transform var(--d-component) var(--ease-out-expo);background:currentColor;display:block}.pill__menu:hover span:first-child{transform:translateY(-1px)}.pill__menu:hover span:last-child{transform:translateY(1px)}@media (min-width:761px){.pill{bottom:calc(var(--s-8) + env(safe-area-inset-bottom))}}@media (max-width:760px){.pill a,.pill button{padding:0 var(--s-3)}}.menu{z-index:var(--z-menu);background:var(--c-bg);padding:var(--s-4) var(--page-pad) var(--page-pad);clip-path:inset(0 0 100%);flex-direction:column;display:flex;position:fixed;inset:0}.menu__top{padding-block:var(--s-2);justify-content:space-between;align-items:center;display:flex}.menu__list{justify-content:center;gap:var(--s-2);flex-direction:column;flex:1;display:flex}.menu__row{align-items:baseline;gap:var(--s-6);display:flex}.menu__mask{padding:.04em .05em .14em;display:block;overflow:hidden}.menu__i{font-family:var(--f-display);letter-spacing:-.02em;transition:opacity var(--d-component) var(--ease-out-expo), transform var(--d-component) var(--ease-out-expo);font-size:clamp(3rem,min(12vw,13svh),9rem);line-height:1;display:block}.menu__i[aria-current=page]:after{content:"";background:var(--c-accent);vertical-align:.1em;width:.14em;height:.14em;margin-left:.16em;display:inline-block}.menu__foot a:hover,.footer__mail:hover,.footer__meta a:hover{color:var(--c-accent)}.menu__list:has(.menu__i:hover) .menu__n{color:var(--c-muted)}.menu__list:hover .menu__i{opacity:.25}.menu__list .menu__i:hover,.menu__list .menu__i:focus-visible{opacity:1;color:var(--c-accent);transform:translateX(var(--s-4))}.menu__foot{justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;display:flex}.menu__foot a:hover{color:var(--c-fg)}.menu__social,.footer__social{gap:var(--s-6);flex-wrap:wrap;display:inline-flex}.prevbar{left:50%;top:var(--s-4);z-index:var(--z-menu);gap:var(--s-6);padding:var(--s-2) var(--s-6);border-radius:var(--r-pill);background:var(--c-invert-bg);color:var(--c-invert-fg);box-shadow:var(--shadow-float);display:flex;position:fixed;transform:translate(-50%)}.prevbar a{color:inherit;text-decoration:underline}.progress{width:2px;z-index:var(--z-nav);background:var(--c-line);position:fixed;top:0;bottom:0;right:0}.progress span{background:var(--c-fg);transform-origin:top;width:100%;height:100%;display:block;transform:scaleY(0)}@media (max-width:760px){.progress{display:none}}.hero{justify-content:center;gap:var(--s-8);min-height:78svh;padding:var(--s-16) var(--page-pad) var(--s-16);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (min-width:700px){:root{--hero-fs:min(calc((100vw - 2 * var(--page-pad)) / 7.4), 34svh)}}@media (max-width:699px){:root{--hero-fs:calc((100vw - 2 * var(--page-pad)) / 5.9)}.hero{justify-content:flex-start;gap:var(--s-6);min-height:0;padding:calc(var(--s-16) + var(--s-2)) var(--page-pad) var(--s-8)}.work{padding-top:var(--s-12)}}.hero__role{font-size:var(--t-body);color:var(--c-muted)}.hero__hi{color:var(--c-fg);margin-right:var(--s-2)}.hero__title{font-size:var(--hero-fs);letter-spacing:-.02em;font-weight:500;line-height:.9}.hero__title .vt__l{white-space:nowrap}.hero__sub{margin-top:var(--s-8);max-width:34ch;color:var(--c-muted);text-wrap:balance;font-size:clamp(1.05rem,1.35vw,1.35rem);line-height:1.4}html[lang=zh-HK] .hero__sub{max-width:22em}html[lang=zh-HK] .hero__title{letter-spacing:0;line-height:1.08}html[lang=zh-HK] .display,html[lang=zh-HK] .footer__big,html[lang=zh-HK] .row__t,html[lang=zh-HK] .menu__i{letter-spacing:-.01em;font-weight:600}html[lang=zh-HK] .footer__big{max-width:9em;line-height:1.12}.dot{background:var(--c-muted);width:6px;height:6px;margin-inline:0 var(--s-2);flex:none;display:inline-block}.dot--on{background:var(--c-accent)}.work{padding:var(--s-24) var(--page-pad) var(--s-32)}.work__head{padding-bottom:var(--s-4);border-bottom:1px solid var(--c-line);justify-content:space-between;align-items:baseline;display:flex}.work__head span{color:var(--c-fg)}.work__head .work__all{align-items:center;gap:var(--s-3);color:var(--c-fg);display:inline-flex}.work__all-l{position:relative}.work__all-l:after{content:"";transform-origin:100%;height:1px;transition:transform var(--d-component) var(--ease-out-expo);background:currentColor;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.work__all-i{border:1px solid var(--c-line);width:26px;height:26px;transition:background var(--d-micro), border-color var(--d-micro), color var(--d-micro), transform var(--d-component) var(--ease-out-expo);border-radius:50%;place-items:center;display:grid;position:relative;overflow:hidden}.work__all-i svg{transition:transform var(--d-component) var(--ease-out-expo);grid-area:1/1}.work__all-i svg+svg{transform:translate(-150%,150%)}.work__all:active .work__all-i{transform:scale(.92)}@media (hover:hover){.work__all:hover .work__all-l:after,.work__all:focus-visible .work__all-l:after{transform-origin:0;transform:scaleX(1)}.work__all:hover .work__all-i,.work__all:focus-visible .work__all-i{background:var(--c-accent);border-color:var(--c-accent);color:#fff;transform:translate(3px)}html[data-theme=dark] .work__all:hover .work__all-i,html[data-theme=dark] .work__all:focus-visible .work__all-i{color:#000}.work__all:hover .work__all-i svg:first-child,.work__all:focus-visible .work__all-i svg:first-child{transform:translate(150%,-150%)}.work__all:hover .work__all-i svg+svg,.work__all:focus-visible .work__all-i svg+svg{transform:none}}.worklist{display:block}.row{border-bottom:1px solid var(--c-line)}.row__a{gap:var(--s-4);padding:var(--s-6) 0;transition:opacity var(--d-component) var(--ease-out-expo);grid-template-columns:1fr auto 4rem;align-items:baseline;display:grid}.row__t{font-family:var(--f-display);letter-spacing:-.03em;transition:font-weight var(--d-component) var(--ease-out-expo);font-size:clamp(2.25rem,6vw,5.5rem);font-weight:500;line-height:1}.row__y{text-align:right}.row__thumb{display:none}.worklist:hover .row__a{opacity:.3}.worklist .row__a:hover,.worklist .row__a:focus-visible{opacity:1}.row__a:hover .row__t,.row__a:focus-visible .row__t{font-weight:800}.row__a:hover .meta{color:var(--c-fg)}@media (max-width:760px){.row__a{align-items:center;gap:2px var(--s-4);padding:var(--s-4) 0;grid-template-columns:72px 1fr auto;grid-template-areas:"th t y""th c y"}.row__thumb{object-fit:cover;grid-area:th;width:72px;height:54px;display:block}.row__n{display:none}.row__t{grid-area:t;font-size:clamp(1.5rem,7vw,2rem)}.row__c{grid-area:c;display:block}.row__y{grid-area:y}.worklist:hover .row__a{opacity:1}}.preview{z-index:30;aspect-ratio:4/3;pointer-events:none;opacity:0;width:min(28vw,420px);transition:opacity var(--d-micro);position:fixed;top:0;left:0;overflow:hidden}.preview--on{opacity:1}.preview img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--d-micro);position:absolute;inset:0}.preview img.is-on{opacity:1}@media (pointer:coarse),(max-width:760px){.preview{display:none}}.empty{padding-block:var(--s-16)}.footer{z-index:2;background:var(--c-bg);padding:var(--s-32) var(--page-pad) calc(var(--s-32) + var(--s-8));border-top:1px solid var(--c-line);position:relative}.footer__cta{gap:var(--s-8);display:grid}.footer__big{font-family:var(--f-display);font-weight:500;font-size:var(--t-display-l);letter-spacing:-.02em;max-width:14ch;line-height:1}.footer__mail{font-size:var(--t-title);width:fit-content}.footer__meta{justify-content:space-between;gap:var(--s-4);margin-top:var(--s-24);flex-wrap:wrap;display:flex}.footer__meta a:hover{color:var(--c-fg)}.stub{min-height:80svh;padding:var(--s-24) var(--page-pad) var(--s-16);align-content:start;gap:var(--s-6);display:grid}.stub__title{font-size:var(--t-display-xl)}.stub--case .stub__title{font-size:var(--t-display-l);overflow-wrap:anywhere}.stub__lead{max-width:52ch;color:var(--c-muted)}.stub__cover{object-fit:cover;width:100%;max-height:80svh;margin-block:var(--s-8)}.stub__back:hover{color:var(--c-fg)}.ulink{display:inline-block;position:relative}.ulink:after{content:"";transform-origin:100%;height:1px;transition:transform var(--d-component) var(--ease-out-expo);background:currentColor;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.ulink:hover:after,.ulink:focus-visible:after{transform-origin:0;transform:scaleX(1)}.contact__side .ulink{justify-self:start;width:fit-content}@media (hover:none){.ulink:hover:after{transform:scaleX(0)}}.xa{color:var(--c-accent);vertical-align:-.12em;width:1em;height:1em;display:inline-block;position:relative;overflow:hidden}.xa i{transition:transform var(--d-component) var(--ease-out-expo);place-items:center;font-style:normal;line-height:1;display:grid;position:absolute;inset:0}.xa i:nth-child(2){transform:translate(-110%,110%)}a:hover .xa i:first-child,a:focus-visible .xa i:first-child{transform:translate(110%,-110%)}a:hover .xa i:nth-child(2),a:focus-visible .xa i:nth-child(2){transform:translate(0)}.btn{justify-content:center;align-items:center;gap:var(--s-2);padding:0 var(--s-8);border:1px solid var(--c-fg);border-radius:var(--r-pill);min-height:52px;font-size:var(--t-small);isolation:isolate;transition:border-color var(--d-micro), color var(--d-component) var(--ease-out-expo), transform var(--d-component) var(--ease-spring);display:inline-flex;position:relative;overflow:hidden}.btn__fill{left:var(--fx,50%);top:var(--fy,50%);aspect-ratio:1;background:var(--c-accent);width:260%;transition:transform var(--d-page) var(--ease-out-expo);z-index:-1;border-radius:50%;position:absolute;transform:translate(-50%,-50%)scale(0)}.btn.is-in{color:var(--c-bg);border-color:var(--c-accent)}.btn.is-in .btn__fill{transform:translate(-50%,-50%)scale(1)}.btn:active{transition-duration:90ms;transform:scale(.94)}.btn__label{align-items:center;gap:var(--s-2);will-change:transform;display:inline-flex;position:relative}.btn:disabled{opacity:.5;cursor:progress}.chip{padding:var(--s-2) var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-pill);font-size:var(--t-small);transition:background var(--d-micro), color var(--d-micro), border-color var(--d-micro), transform var(--d-micro) var(--ease-spring)}.chip:hover{border-color:var(--c-accent);color:var(--c-accent)}.chip[aria-pressed=true]:hover{color:var(--c-bg)}.filters .chip[aria-pressed=true]{background:var(--c-fg);border-color:var(--c-fg);color:var(--c-bg)}.chip:active{transform:scale(.94)}.chip[aria-pressed=true]{background:var(--c-accent);color:var(--c-bg);border-color:var(--c-accent)}.chip--lg{padding:var(--s-3) var(--s-6);font-size:var(--t-body)}.seg{border:1px solid var(--c-line);border-radius:var(--r-pill);padding:3px;display:inline-flex}.seg__b{padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);transition:background var(--d-micro), color var(--d-micro)}.seg__b[aria-checked=true]{background:var(--c-fg);color:var(--c-bg)}.page-head{padding:var(--s-16) var(--page-pad) var(--s-8);gap:var(--s-4);display:grid}.page-head__title{font-size:clamp(3.5rem,9vw,9rem)}.page-head>div,.case__head>div:first-child{gap:var(--s-6);justify-items:start;display:grid}.page-head__lead{max-width:46ch;color:var(--c-muted);font-size:var(--t-lead);line-height:1.5}.work-page{padding:0 var(--page-pad) var(--s-32)}.filters{gap:var(--s-4);padding-bottom:var(--s-6);border-bottom:1px solid var(--c-line);display:grid}.filters__group{gap:var(--s-4);grid-template-columns:5rem 1fr;align-items:start;display:grid}.filters__label{padding-top:var(--s-2)}.filters__chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.works__bar{padding-block:var(--s-6);justify-content:space-between;align-items:center;display:flex}.works{gap:var(--gutter);display:grid}.works[data-view=grid]{gap:var(--s-12) var(--s-6);grid-template-columns:repeat(3,1fr);align-items:start}@media (max-width:1100px){.works[data-view=grid]{grid-template-columns:repeat(2,1fr)}}.works[data-view=list]{border-top:1px solid var(--c-line);grid-template-columns:1fr;gap:0}.wcard[hidden]{display:none}.wcard__a{display:block}.wcard__media{background:var(--c-surface);aspect-ratio:5/4;position:relative;overflow:hidden}.wcard__media img,.wcard__media video{object-fit:cover;width:100%;height:100%;aspect-ratio:auto!important}.wcard__blank{height:100%;padding:var(--s-6);font-family:var(--f-display);font-weight:500;font-size:var(--t-title);letter-spacing:-.03em;align-content:end;line-height:1.05;display:grid}.works[data-view=grid] .wcard__info{gap:var(--s-1) var(--s-4);padding-top:var(--s-4);grid-template-columns:1fr auto;align-items:baseline;display:grid}.works[data-view=grid] .wcard__c{grid-area:2/1;display:block}.works[data-view=grid] .wcard__y{grid-area:1/2}.works[data-view=grid] .wcard__t{font-family:var(--f-display);transition:transform var(--d-component) var(--ease-out-expo);font-size:clamp(1.25rem,1.7vw,1.75rem);font-weight:400;line-height:1.05}.works[data-view=list] .wcard{border-bottom:1px solid var(--c-line)}.works[data-view=list] .wcard__media{display:none}.works[data-view=list] .wcard__info{gap:var(--s-4);padding:var(--s-6) 0;transition:opacity var(--d-component) var(--ease-out-expo);grid-template-columns:1fr auto 4rem;align-items:baseline;display:grid}.works[data-view=list] .wcard__t{font-family:var(--f-display);letter-spacing:-.02em;transition:transform var(--d-component) var(--ease-out-expo);font-size:clamp(2.25rem,6vw,5.5rem);font-weight:400;line-height:1}.works[data-view=list] .wcard__y{text-align:right}.works[data-view=list]:hover .wcard__info{opacity:.3}.works[data-view=list] .wcard__a:hover .wcard__info,.works[data-view=list] .wcard__a:focus-visible .wcard__info{opacity:1}.works[data-view=list] .wcard__a:hover .wcard__t{transform:translateX(var(--s-4))}.works__empty{padding:var(--s-24) 0;gap:var(--s-4);font-size:var(--t-title);font-family:var(--f-display);justify-items:start;display:grid}@media (max-width:760px){.works[data-view=grid]{gap:var(--s-8);grid-template-columns:1fr}.filters__group{gap:var(--s-2);grid-template-columns:1fr}.filters{margin-inline:calc(var(--page-pad) * -1);padding-inline:var(--page-pad)}.filters .filters__chips{scrollbar-width:none;margin-inline:calc(var(--page-pad) * -1);padding-inline:var(--page-pad);flex-wrap:nowrap;overflow-x:auto}.filters .filters__chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap;flex:none}.works[data-view=list] .wcard__info{grid-template-columns:1fr auto}.works[data-view=list] .wcard__c{display:none}.works[data-view=list]:hover .wcard__info{opacity:1}}.case__head{padding:var(--s-16) var(--page-pad) var(--s-12);gap:var(--s-12);display:grid}.case__back{width:fit-content}.case__title{letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:balance;max-width:16ch;font-size:clamp(2.5rem,6vw,5.5rem);line-height:1.04}.case__links{gap:var(--s-2) var(--s-6);flex-wrap:wrap;display:flex}.case__links a{font-size:var(--t-small);padding-block:4px}.case__lead{max-width:56ch;color:var(--c-muted);font-size:var(--t-lead);line-height:1.5}.facts{gap:var(--gutter);border-top:1px solid var(--c-line);padding-top:var(--s-4);grid-template-columns:repeat(4,1fr);display:grid}.facts dd{margin:var(--s-1) 0 0}@media (max-width:760px){.facts{row-gap:var(--s-6);grid-template-columns:repeat(2,1fr)}}.case__cover{margin:0 var(--page-pad);background:var(--c-surface);overflow:hidden}.case__cover img,.case__cover video{object-fit:cover;width:100%;max-height:90svh}.case__metrics{gap:var(--gutter);padding:var(--s-16) var(--page-pad) 0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.case__metrics li,.b--metrics li{gap:var(--s-2);display:grid}.case__metrics .display,.b--metrics .display{font-size:var(--t-display-l);line-height:1}.case__locked{padding:var(--s-32) var(--page-pad);gap:var(--s-4);display:grid}.case__body{padding:var(--s-24) var(--page-pad) var(--s-24);gap:var(--gutter);grid-template-columns:14rem 1fr;display:grid;position:relative}.blocks{gap:var(--s-16);grid-column:2;min-width:0;display:grid}@media (max-width:1100px){.case__body{grid-template-columns:1fr}.blocks{grid-column:1}}.chapters{top:var(--s-24);grid-column:1;align-self:start;position:sticky}.chapters ol{gap:var(--s-2);display:grid}.chapters a{gap:var(--s-3);padding:var(--s-1) 0;color:var(--c-muted);font-size:var(--t-small);transition:color var(--d-micro);display:flex}.chapters a:hover{color:var(--c-accent)}.chapters a[aria-current=true],.chapters a[aria-current=true] .meta{color:var(--c-fg)}.chapters a:hover .meta{color:var(--c-accent)}@media (max-width:1100px){.chapters{display:none}}.b--text .b__grid{gap:var(--gutter);grid-template-columns:10rem 1fr;scroll-margin-top:6rem;display:grid}.b__h{padding-top:.5rem}.b__body{max-width:62ch;font-size:clamp(1.05rem,.5vw + 1rem,1.3rem);line-height:1.55}.b__body p+p{margin-top:1em}.b__body ul{gap:.6em;padding:0;list-style:none;display:grid}.b__body p+ul{margin-top:1em}.b__body li{padding-left:1.4em;position:relative}.b__body li:before{content:"";background:var(--c-accent);width:.4em;height:.4em;position:absolute;top:.62em;left:0}@media (max-width:760px){.b--text .b__grid{gap:var(--s-3);grid-template-columns:1fr}}.b img,.b video{width:100%;height:auto}.b figcaption{margin-top:var(--s-3)}.b--two{gap:var(--gutter);grid-template-columns:1fr 1fr;display:grid}.b--two figcaption,.b--grid figcaption{grid-column:1/-1}.b--grid{gap:var(--gutter);grid-template-columns:repeat(3,1fr);display:grid}.b--grid[data-cols="2"]{grid-template-columns:repeat(2,1fr)}.b--grid[data-cols="4"]{grid-template-columns:repeat(4,1fr)}@media (max-width:760px){.b--two{grid-template-columns:1fr}.b--grid,.b--grid[data-cols="4"]{grid-template-columns:repeat(2,1fr)}}.b--quote .display{font-size:var(--t-display-l);max-width:20ch;line-height:1.02}.b--quote footer{margin-top:var(--s-4)}.b--metrics{gap:var(--gutter);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.b--callout{border-left:2px solid var(--c-fg);padding:var(--s-2) 0 var(--s-2) var(--s-6);gap:var(--s-2);max-width:62ch;font-size:var(--t-title);line-height:1.3;display:grid}.b--embed .embed{border:1px solid var(--c-line);background:var(--c-surface);width:100%}.b--embed iframe{border:0;width:100%;height:100%}.embed__play{place-content:center;justify-items:center;gap:var(--s-3);width:100%;height:100%;padding:var(--s-6);text-align:center;color:var(--c-fg);transition:background var(--d-micro);display:grid;position:relative}.embed__play:hover{background:color-mix(in srgb, var(--c-fg) 6%, transparent)}.embed__icon{background:var(--c-fg);width:64px;height:64px;color:var(--c-bg);transition:transform var(--d-component) var(--ease-spring);border-radius:50%;place-items:center;display:grid}.embed__play:hover .embed__icon{transform:scale(1.08)}.embed__label{font-size:var(--t-small);max-width:40ch}.b--embed .embed[data-portrait]{max-width:min(100%,24rem);margin-inline:auto}.b--process{gap:var(--s-12);counter-reset:none;display:grid}.b--process li{gap:var(--s-2) var(--gutter);grid-template-columns:4rem 1fr;display:grid}.b--process li>:not(.meta):not(h3){grid-column:2}.b--process h3{font-size:var(--t-title)}.b--spacer-sm{height:var(--s-8)}.b--spacer-md{height:var(--s-16)}.b--spacer-lg{height:var(--s-32)}.b--spacer-xl{height:var(--s-48)}.ba{touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.ba img{pointer-events:none}.ba__after{clip-path:inset(0 0 0 var(--pos));position:absolute;inset:0}.ba__after img{object-fit:cover;width:100%;height:100%}.ba__line{top:0;bottom:0;left:var(--pos);mix-blend-mode:difference;background:#fff;width:2px;position:absolute}.ba__line i{border:2px solid #fff;border-radius:50%;width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ba__tag{bottom:var(--s-3);padding:2px var(--s-3);background:var(--c-bg);color:var(--c-fg);border-radius:var(--r-pill);position:absolute}.ba__tag--l{left:var(--s-3)}.ba__tag--r{right:var(--s-3)}.ba__range{opacity:0;cursor:ew-resize;width:100%;height:100%;position:absolute;inset:0}.ba__range:focus-visible+*{outline:0}.ba:focus-within{outline:2px solid var(--c-focus);outline-offset:3px}.next{padding:var(--s-16) var(--page-pad) var(--s-24);align-content:center;gap:var(--s-6);border-top:1px solid var(--c-line);min-height:100svh;display:grid;position:relative}.next__top{justify-content:space-between;display:flex}.next__a{gap:var(--s-6);display:grid}.next__media{background:var(--c-surface);border-radius:calc(22px * (1 - var(--pull,0)));margin-inline:calc(var(--page-pad) * var(--pull,0) * -1);transition:margin-inline .18s linear,border-radius .18s linear;overflow:hidden}.next__media img{object-fit:cover;width:100%;max-height:62svh;transform:scale(calc(1 + var(--pull,0) * .06));transition:transform var(--d-micro) linear}.next__t{font-size:var(--t-display-l)}.next__media img{filter:none;transform:scale(calc(1.04 - var(--pull,0) * .04));transition:transform .18s linear}.next__hint{gap:var(--s-3);align-items:center;display:inline-flex}.next__ring{flex:none;overflow:visible}.next__ring circle{fill:none;stroke-width:1.5px}.next__ring .bg{stroke:var(--c-line)}.next__ring .fg{stroke:var(--c-accent);stroke-linecap:round;stroke-dasharray:69.1;stroke-dashoffset:calc(69.1 * (1 - var(--pull,0)));transform-origin:14px 14px;transform:rotate(-90deg)}.next__ring path{fill:none;stroke:var(--c-fg);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;animation:1.8s ease-in-out infinite next-nudge}@keyframes next-nudge{50%{transform:translateY(2px)}}.next.is-go .next__media{margin-inline:calc(var(--page-pad) * -1);border-radius:0}.next.is-go .next__media img{transform:scale(1)}@media (prefers-reduced-motion:reduce){.next__ring path{animation:none}.next__media,.next__media img{transition:none}}.about__intro{gap:var(--s-16);padding:var(--s-12) var(--page-pad) var(--s-24);grid-template-columns:1.4fr 1fr;align-items:start;display:grid}.about__text{margin-top:var(--s-4);font-size:clamp(1.6rem,3vw,3.2rem);line-height:1.1}.kw{background:linear-gradient(var(--c-accent), var(--c-accent)) 0 94% / 100% .09em no-repeat;color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:color var(--d-micro), background-size .9s var(--ease-out-expo) var(--kd,0s);padding-bottom:.02em}html.js .stmt:not(.is-in) .kw{background-size:0% .09em}.kw:hover{color:var(--c-accent)}@media (prefers-reduced-motion:reduce){html.js .stmt:not(.is-in) .kw{background-size:100% .09em}}.about__cta{gap:var(--s-4);margin-top:var(--s-12);flex-wrap:wrap;display:flex}.portrait{background:var(--c-surface);transform-style:preserve-3d;will-change:transform;position:relative;overflow:hidden}.portrait img{width:100%;height:auto}.portrait__bw{filter:grayscale()contrast(1.05)}.portrait__px{width:100%;height:100%;image-rendering:pixelated;filter:grayscale()contrast(1.05);pointer-events:none;position:absolute;inset:0}.portrait__color{opacity:0;transition:opacity var(--d-component);-webkit-mask-image:radial-gradient(circle 120px at var(--mx,50%) var(--my,50%), #000 96%, transparent);-webkit-mask-image:radial-gradient(circle 120px at var(--mx,50%) var(--my,50%), #000 96%, transparent);mask-image:radial-gradient(circle 120px at var(--mx,50%) var(--my,50%), #000 96%, transparent);position:absolute;inset:0}.portrait.is-hover .portrait__color{opacity:1}.portrait__hint{left:var(--s-3);bottom:var(--s-3);color:#fff;mix-blend-mode:difference;position:absolute}@media (hover:none){.portrait__color{opacity:1;-webkit-mask-image:none;mask-image:none}.portrait__hint{display:none}}@media (max-width:900px){.about__intro{gap:var(--s-12);grid-template-columns:1fr}.portrait{max-width:420px}}.about__block{padding:var(--s-16) var(--page-pad);border-top:1px solid var(--c-line);gap:var(--s-8) var(--gutter);grid-template-columns:3fr 9fr;display:grid}.about__block>:not(.about__h){grid-column:2}.about__h{letter-spacing:-.02em;top:var(--s-8);grid-column:1;align-self:start;font-size:1.25rem;font-weight:500;position:sticky}@media (max-width:900px){.about__block{grid-template-columns:1fr}.about__block>:not(.about__h){grid-column:1}.about__h{position:static}}@media (max-width:760px){.about__block{padding-block:var(--s-10,40px);gap:var(--s-5,20px)}.about__intro{padding-bottom:var(--s-12)}}.about__cols{gap:var(--s-16);grid-template-columns:1fr 1fr}@media (max-width:760px){.about__cols{grid-template-columns:1fr}}.notes{display:grid}.note{gap:var(--s-4);padding:var(--s-4) 0;border-bottom:1px solid var(--c-line);transition:padding var(--d-component) var(--ease-out-expo);grid-template-columns:11rem 1fr auto;align-items:baseline;display:grid}.note:hover{padding-left:var(--s-4)}.note__role{font-size:var(--t-title);font-family:var(--f-display)}.note__co{color:var(--c-muted);gap:var(--s-3);align-items:baseline;display:inline-flex}.tag{border:1px solid var(--c-fg);color:var(--c-fg);border-radius:var(--r-pill);padding:1px var(--s-3);font-style:normal}@media (max-width:760px){.note{gap:var(--s-1);grid-template-columns:1fr}}.steps{gap:var(--gutter);grid-template-columns:repeat(2,1fr);display:grid}.steps li{gap:var(--s-3);border-top:1px solid var(--c-fg);padding-top:var(--s-4);align-content:start;display:grid}.steps h3{font-size:var(--t-title)}.steps p{color:var(--c-muted);font-size:var(--t-small)}@media (max-width:1000px){.steps{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.steps{grid-template-columns:1fr}}.plain{gap:var(--s-4);display:grid}.plain--tight{gap:var(--s-2)}.plain li{gap:var(--s-1);display:grid}.plain li span{color:var(--c-muted);font-size:var(--t-small)}.tools{gap:var(--s-2) var(--s-6);flex-wrap:wrap;display:flex}.tools li{font-size:var(--t-title)}.contact{gap:var(--s-16);padding:var(--s-8) var(--page-pad) var(--s-32);grid-template-columns:1fr 1.6fr;align-items:start;display:grid}.contact__side{gap:var(--s-12);display:grid}.contact__avail{align-items:center;display:flex}@media (max-width:900px){.contact{gap:var(--s-12);grid-template-columns:1fr}}.copy{display:inline-block;position:relative}.copy__btn{align-items:center;gap:var(--s-3);font-family:var(--f-display);text-align:left;padding:var(--s-1) 0;border-bottom:1px solid var(--c-line);transition:border-color var(--d-micro);font-size:clamp(1.5rem,2.6vw,2.5rem);display:inline-flex}.copy__btn:hover{border-color:var(--c-accent);color:var(--c-accent)}.copy__ico{opacity:.55;transition:opacity var(--d-micro), transform var(--d-component) var(--ease-spring);flex:none}.copy__btn:hover .copy__ico{opacity:1;transform:scale(1.12)}.cform{gap:var(--s-8);align-content:start;display:grid}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.cform__row{gap:var(--s-6);grid-template-columns:1fr 1fr;display:grid}@media (max-width:600px){.cform__row{grid-template-columns:1fr}}.field{gap:var(--s-2);border:0;min-width:0;padding:0;display:grid}.field label,.field legend{font-size:var(--t-small);color:var(--c-fg);padding:0;font-weight:500}.field legend{float:none;margin-bottom:var(--s-3)}.field input,.field textarea{background:var(--c-surface);width:100%;font:inherit;color:var(--c-fg);resize:vertical;transition:border-color var(--d-micro), background var(--d-micro), box-shadow var(--d-micro);border:1px solid #0000;border-radius:14px;outline:none;padding:.95rem 1.1rem;font-size:1.0625rem;line-height:1.4}.field textarea{min-height:9.5rem}.field input::placeholder,.field textarea::placeholder{color:var(--c-muted);opacity:.75}.field input:hover,.field textarea:hover{border-color:var(--c-line)}.field input,.field textarea{background-image:linear-gradient(var(--c-accent), var(--c-accent));transition:background-size .5s var(--ease-out-expo), background-color var(--d-micro), border-color var(--d-micro);background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px}.field input:focus,.field textarea:focus{background-color:var(--c-bg);border-color:var(--c-line);background-size:100% 2px}.field.invalid input,.field.invalid textarea{animation:fld-shake .38s var(--ease-out-expo)}@keyframes fld-shake{20%{transform:translate(-5px)}45%{transform:translate(4px)}70%{transform:translate(-2px)}}@media (prefers-reduced-motion:reduce){.field.invalid input,.field.invalid textarea{animation:none}}.field.invalid input,.field.invalid textarea{border-color:var(--c-fg);background:var(--c-bg)}.field__err{min-height:1.3em;font-size:var(--t-small);color:var(--c-fg);margin:0}.field__err:empty{min-height:0}.topics{gap:var(--s-3)}.cform__actions{justify-content:flex-start;align-items:center;display:flex}.tick{right:0;bottom:var(--s-4);fill:none;width:28px;height:28px;stroke:var(--c-fg);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;position:absolute}.tick path{stroke-dasharray:30;stroke-dashoffset:30px}.tick--big{width:96px;height:96px;position:static}.tick--big circle{stroke-dasharray:152;stroke-dashoffset:152px;animation:draw .9s var(--ease-out-expo) forwards}.tick--big path{stroke-dashoffset:40px;stroke-dasharray:40;animation:draw .6s .5s var(--ease-out-expo) forwards}@keyframes draw{to{stroke-dashoffset:0}}.cform--done{justify-items:start;gap:var(--s-4)}.cform--done .display{font-size:var(--t-display-l)}@media (prefers-reduced-motion:reduce){.tick--big circle,.tick--big path{animation-duration:1ms;animation-delay:0s}}.nf{gap:var(--s-8);min-height:100svh;padding:calc(var(--s-32) + var(--s-8)) var(--page-pad) var(--s-16);grid-template-columns:1fr 1fr;align-items:stretch;display:grid;position:relative}.nf__text{gap:var(--s-4);align-content:start;display:grid}.nf__text h1{font-size:var(--t-display-l)}.nf__sub{color:var(--c-muted);max-width:30ch}.nf__arena{border:1px dashed var(--c-line);min-height:40svh;position:relative}.nf__dot{background:var(--c-fg);will-change:transform;border-radius:50%;width:72px;height:72px;position:absolute;top:0;left:0}.nf__score{right:var(--page-pad);bottom:var(--s-6);border:1px dashed var(--c-line);padding:var(--s-1) var(--s-4);border-radius:var(--r-pill);position:absolute}@media (max-width:760px){.nf{grid-template-columns:1fr}}.totop{right:var(--page-pad);bottom:calc(var(--s-8) + 6px);z-index:var(--z-nav);padding:var(--s-2) var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-bg);color:var(--c-fg);opacity:0;pointer-events:none;transition:opacity var(--d-component) var(--ease-out-expo), transform var(--d-component) var(--ease-out-expo);position:fixed;transform:translateY(12px)}.totop--on{opacity:1;pointer-events:auto;transform:none}.totop{transition:opacity var(--d-component) var(--ease-out-expo), transform var(--d-component) var(--ease-out-expo), border-color var(--d-micro), color var(--d-micro), box-shadow var(--d-component)}.totop span{transition:transform var(--d-component) var(--ease-spring);display:inline-block}@media (hover:hover){.totop--on:hover{border-color:var(--c-accent);color:var(--c-accent);box-shadow:0 8px 20px -10px color-mix(in srgb, var(--c-accent) 55%, transparent);transform:translateY(-2px)}.totop--on:hover span{transform:translateY(-3px)}}.totop--on:active{transform:scale(.96)}@media (max-width:900px){.totop{bottom:calc(var(--s-6) + 76px + env(safe-area-inset-bottom))}}.keys{left:var(--page-pad);bottom:var(--s-6);z-index:var(--z-menu);width:min(320px, calc(100vw - 2 * var(--page-pad)));padding:var(--s-4) var(--s-6);background:var(--c-invert-bg);color:var(--c-invert-fg);box-shadow:var(--shadow-float);border-radius:var(--r-1);position:fixed}.keys__head{margin-bottom:var(--s-3);color:inherit;justify-content:space-between;display:flex}.keys dl{gap:var(--s-2);margin:0;display:grid}.keys dl>div{grid-template-columns:6rem 1fr;align-items:baseline;display:grid}.keys dd{font-size:var(--t-small);margin:0}kbd{font-family:var(--f-mono);font-size:var(--t-meta);border:1px solid;border-radius:3px;padding:1px 6px}img[data-zoom]{cursor:zoom-in}.lb{z-index:var(--z-lightbox);color:#fff;animation:lbin var(--d-component) var(--ease-out-expo);background:#060606f5;grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0}@keyframes lbin{0%{opacity:0}}.lb__bar{padding:var(--s-4) var(--page-pad);color:#fff;z-index:2;justify-content:space-between;align-items:center;display:flex}.lb__tools{align-items:center;gap:var(--s-2);display:inline-flex}.lb__tools button{min-width:44px;min-height:44px;padding:0 var(--s-3);border-radius:var(--r-pill);font:500 var(--t-small) var(--f-mono);color:#fff;transition:background var(--d-micro), color var(--d-micro);border:1px solid #ffffff4d;place-items:center;display:grid}.lb__tools button:hover:not(:disabled){background:var(--c-accent);border-color:var(--c-accent);color:#fff}.lb__tools button:disabled{opacity:.35;cursor:default}.lb__close{margin-left:var(--s-2)}.lb__stage{touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:relative;overflow:hidden}.lb__img{object-fit:contain;transform-origin:50%;will-change:transform;-webkit-user-drag:none;width:auto;max-width:min(96vw,2400px);height:auto;max-height:calc(100svh - 96px);transition:transform .32s var(--ease-out-expo)}.lb__img.is-dragging{transition:none}.lb__img--next{animation:lb-next .4s var(--ease-out-expo) both}.lb__img--prev{animation:lb-prev .4s var(--ease-out-expo) both}@keyframes lb-next{0%{opacity:0;translate:48px}}@keyframes lb-prev{0%{opacity:0;translate:-48px}}@media (prefers-reduced-motion:reduce){.lb__img,.lb__img--next,.lb__img--prev{transition:none;animation:none}}.lb__nav{z-index:2;color:#fff;width:48px;height:48px;transition:background var(--d-micro), color var(--d-micro);background:#06060680;border:1px solid #ffffff4d;border-radius:50%;place-items:center;font-size:1.1rem;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lb__nav:hover{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.lb__nav--prev{left:var(--page-pad)}.lb__nav--next{right:var(--page-pad)}@media (max-width:760px){.lb__nav{display:none}}@media (prefers-reduced-motion:reduce){.lb{animation:none}}.pic-fail{text-align:center;padding:var(--s-6);color:#0009;place-items:center;width:100%;display:grid}.nf__actions{gap:var(--s-6);flex-wrap:wrap;margin:0;display:flex}.work__all,.case__back,.stub__back,.footer__meta a,.footer__social a,.nf__actions a,.nf__actions button,.cform__actions .ulink,.works__empty button,.menu__foot a,.footer__mail,.contact__side .ulink,.nf__text .ulink{margin-block:-4px;padding-block:4px;display:inline-block}@media (pointer:coarse){.work__all,.case__back,.stub__back,.footer__meta a,.footer__social a,.nf__actions a,.nf__actions button,.cform__actions .ulink,.works__empty button,.menu__foot a,.footer__mail,.contact__side .ulink,.nf__text .ulink{margin-block:-14px;padding-block:14px}.chip,.seg__b,.icon-btn,.nav__lang,.copy__btn,.nav__logo{min-height:44px}.icon-btn{min-width:44px}.nav__logo{align-items:center;display:inline-flex}}.cmdk{z-index:85;padding:14vh var(--s-4) var(--s-4);background:color-mix(in srgb, var(--c-bg) 62%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:cmdkfade var(--d-micro) linear both;place-items:start center;display:grid;position:fixed;inset:0}.cmdk__box{background:var(--c-bg);border:1px solid var(--c-line);width:min(640px,100%);max-height:70svh;box-shadow:var(--shadow-float);animation:cmdkpop var(--d-component) var(--ease-out-expo) both;border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.cmdk__field{align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5,20px);border-bottom:1px solid var(--c-line);display:flex}.cmdk__field input{min-width:0;color:var(--c-fg);font:inherit;padding-block:var(--s-2);background:0 0;border:0;outline:0;flex:1;font-size:1.125rem}.cmdk__field input::placeholder{color:var(--c-muted)}.cmdk__field:focus-within{border-bottom-color:var(--c-accent)}.cmdk__list{padding:var(--s-2);overscroll-behavior:contain;overflow:auto}.cmdk__group{padding:var(--s-3) var(--s-3) var(--s-1)}.cmdk__opt{justify-content:space-between;align-items:baseline;gap:var(--s-4);padding:12px var(--s-3);cursor:pointer;border-radius:10px;align-items:center;min-height:44px;display:flex}.cmdk__opt[aria-selected=true]{background:color-mix(in srgb, var(--c-fg) 9%, transparent);box-shadow:inset 2px 0 0 var(--c-accent)}.cmdk__opt .meta{white-space:nowrap;text-overflow:ellipsis;max-width:55%;overflow:hidden}.cmdk__empty{padding:var(--s-6) var(--s-3)}.cmdk__foot{justify-content:space-between;gap:var(--s-4);padding:var(--s-3) var(--s-5,20px);border-top:1px solid var(--c-line);display:flex}@keyframes cmdkfade{0%{opacity:0}}@keyframes cmdkpop{0%{opacity:0;transform:translateY(12px)scale(.98)}}@media (prefers-reduced-motion:reduce){.cmdk,.cmdk__box{animation:none}}.toolkit{border:1px solid var(--c-line);border-radius:24px;min-height:clamp(360px,46vw,500px);position:relative;overflow:hidden}.toolkit__hint{left:var(--s-6);top:var(--s-5,20px);z-index:0;pointer-events:none;position:absolute}.toolkit__list{gap:var(--s-3);padding:var(--s-16) var(--s-6) var(--s-6);flex-wrap:wrap;display:flex}.tk{white-space:nowrap;border:1px solid var(--c-fg);-webkit-user-select:none;user-select:none;border-radius:999px;padding:12px 24px;font-size:clamp(1rem,1.6vw,1.375rem);line-height:1.2}.tk--tool{background:var(--c-fg);color:var(--c-bg);font-family:var(--f-display);padding:14px 30px;font-size:clamp(1.25rem,2.2vw,1.875rem)}.tk--method{background:var(--c-bg);color:var(--c-fg);font-family:var(--f-display);padding:14px 30px;font-size:clamp(1.25rem,2.2vw,1.875rem)}.tk--accent{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}html[data-theme=dark] .tk--accent{color:#000}.tk--service{background:var(--c-surface);color:var(--c-fg);border-color:var(--c-line)}.tk--service:before{content:"";background:var(--c-accent);vertical-align:.12em;width:6px;height:6px;margin-right:10px;display:inline-block}.toolkit[data-live]{touch-action:pan-y}.toolkit[data-live] .toolkit__list{padding:0;display:block}.toolkit[data-live] .tk{touch-action:none;cursor:grab;will-change:transform;position:absolute;top:0;left:0}.toolkit[data-live] .tk.is-held{cursor:grabbing;box-shadow:var(--shadow-float);z-index:2}.plain--wide{gap:var(--s-8) var(--s-16);grid-template-columns:repeat(2,1fr);max-width:none;display:grid}@media (max-width:760px){.plain--wide{grid-template-columns:1fr}.toolkit{min-height:400px}}.vt__l{display:block}.vt__w{white-space:nowrap;display:inline-block}.vt__c{font-variation-settings:"wght" 440, "wdth" 85}.vt__stop{background:var(--c-accent);width:.13em;height:.13em;margin-left:.07em;display:inline-block}html[lang=zh-HK] .vt__c{font-variation-settings:normal}.dm{z-index:84;pointer-events:none;font:500 11px/1.3 var(--f-sans);position:fixed;inset:0}.dm__grid{max-width:var(--max-w);padding-inline:var(--page-pad);gap:var(--gutter);grid-template-columns:repeat(12,1fr);margin-inline:auto;display:grid;position:absolute;inset:0}.dm__grid i{background:color-mix(in srgb, var(--c-accent) 6%, transparent);border-inline:1px solid color-mix(in srgb, var(--c-accent) 35%, transparent)}.dm__m,.dm__p{box-sizing:border-box;border-style:solid;border-color:#0000;position:absolute}.dm__m{border-color:#ff963247}.dm__p{border-color:#28be7847}.dm__box{outline:1px solid var(--c-accent);background:color-mix(in srgb, var(--c-accent) 6%, transparent);position:absolute}.dm__tag{background:var(--c-accent);color:var(--c-bg);white-space:nowrap;border-radius:3px;padding:3px 7px;position:absolute}.dm__card{right:var(--s-4);top:calc(var(--s-4) + 3.5rem);gap:var(--s-3);width:250px;max-height:calc(100svh - 5rem);padding:var(--s-4);background:var(--c-invert-bg);color:var(--c-invert-fg);box-shadow:var(--shadow-float);border-radius:12px;display:grid;position:absolute;overflow:hidden}.dm__card header{justify-content:space-between;font-size:12px;display:flex}.dm__card h3{margin:0 0 var(--s-1);letter-spacing:.06em;text-transform:uppercase;opacity:.6;font-size:10px;font-weight:500}.dm__card ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.dm__card code{font:inherit;opacity:.7;margin-left:auto}.dm__sw li,.dm__rows li,.dm__sp li{align-items:center;gap:var(--s-2);display:flex}.dm__sw i{border-radius:3px;outline:1px solid #80808080;flex:none;width:12px;height:12px}.dm__sp span{opacity:.7;width:3.2rem}.dm__sp i{background:var(--c-accent);height:6px}.dm__card p{margin:0}.dm__card footer{opacity:.6;font-size:10px}@media (max-width:760px){.dm__card{display:none}}.hero,.page-head,.case__head{--dmb-top:var(--s-6)}.page-head,.case__head{position:relative}.dmb{z-index:5;right:var(--page-pad);top:var(--dmb-top);align-items:center;gap:var(--s-2);min-height:40px;padding:0 var(--s-4);border:1px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-bg);font-size:var(--t-small);transition:background var(--d-micro), color var(--d-micro), border-color var(--d-micro), transform var(--d-micro) var(--ease-spring);display:inline-flex;position:absolute}.dmb:hover{border-color:var(--c-accent)}.dmb--icon{justify-content:center;width:40px;padding:0}.dmb:active{transform:scale(.95)}.dmb__i{overflow:visible}.dmb__f{fill:none;stroke:currentColor;stroke-width:1px}.dmb__g{stroke:currentColor;stroke-width:1px;stroke-dasharray:1.5 1.5;opacity:.55}.dmb__h{fill:var(--c-bg);stroke:currentColor;stroke-width:1px;transform-box:fill-box;transform-origin:50%;transition:transform var(--d-component) var(--ease-spring)}.dmb:hover .dmb__h:nth-child(3){transform:translate(-1.5px,-1.5px)}.dmb:hover .dmb__h:nth-child(4){transform:translate(1.5px,-1.5px)}.dmb:hover .dmb__h:nth-child(5){transform:translate(-1.5px,1.5px)}.dmb:hover .dmb__h:nth-child(6){transform:translate(1.5px,1.5px)}.dmb[aria-pressed=true]{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-bg)}.dmb[aria-pressed=true] .dmb__h{fill:currentColor}.dmb[aria-pressed=true] .dmb__g{opacity:1}@media (max-width:760px){.dmb span{display:none}.dmb{padding:0 var(--s-3)}}@media (prefers-reduced-motion:no-preference){html.js :is(.hero__role,.hero__sub,.dmb,.work__head,.row,.filters,.works__bar,.wcard,.about__cta,.portrait,.about__block,.toolkit,.contact__side>*,.cform,.case__back,.case__links,.facts,.case__cover,.case__metrics>*,.blocks>*,.next,.footer__cta>*,.footer__meta):not(.rv-in):not(.rv-done){opacity:0;pointer-events:none;translate:0 28px}html.js :is(.hero__role,.hero__sub,.dmb,.work__head,.row,.filters,.works__bar,.wcard,.about__cta,.portrait,.about__block,.toolkit,.contact__side>*,.cform,.case__back,.case__links,.facts,.case__cover,.case__metrics>*,.blocks>*,.next,.footer__cta>*,.footer__meta).rv-in{opacity:1;transition:opacity .9s var(--ease-out-expo) calc(var(--rv-i,0) * 70ms), translate 1.1s var(--ease-out-expo) calc(var(--rv-i,0) * 70ms);translate:0}}@media (max-width:760px){.work{padding-top:var(--s-12)}.works[data-view=grid]{gap:var(--s-8) var(--s-3);grid-template-columns:repeat(2,1fr)}.works[data-view=grid] .wcard__media{aspect-ratio:1}.works[data-view=grid] .wcard__info{padding-top:var(--s-3);grid-template-columns:1fr auto}.works[data-view=grid] .wcard__t{font-size:1rem;line-height:1.15}.works[data-view=grid] .wcard__c{white-space:nowrap;text-overflow:ellipsis;grid-area:2/1/auto/-1;overflow:hidden}.footer{padding:var(--s-16) var(--page-pad) var(--s-24)}.footer__meta{margin-top:var(--s-12)}}.footer__left{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:inline-flex}.footer__lang:hover{color:var(--c-accent)}.gate{gap:var(--s-6);align-content:start}.gate__form{gap:var(--s-4);max-width:26rem;margin-top:var(--s-4);display:grid}.gate__row{align-items:center;gap:var(--s-6);flex-wrap:wrap;display:flex}.gate__ok{max-width:34ch;font-size:var(--t-lead)}.hero__hi[data-personal]{animation:hifade .7s var(--ease-out-expo) both}@keyframes hifade{0%{opacity:0;translate:0 6px}}.works__bar{gap:var(--s-4)}.works__search{color:var(--c-muted);align-items:center;margin-left:auto;display:inline-flex;position:relative}.works__search svg{pointer-events:none;position:absolute;left:14px}.works__search input{width:12rem;height:40px;padding:0 var(--s-4) 0 38px;border:1px solid var(--c-line);border-radius:var(--r-pill);color:var(--c-fg);font:inherit;font-size:var(--t-small);transition:border-color var(--d-micro), width var(--d-component) var(--ease-out-expo);background:0 0;outline:none}.works__search input::placeholder{color:var(--c-muted)}.works__search input:hover{border-color:var(--c-muted)}.works__search input:focus{border-color:var(--c-accent);width:16rem}.works__search input::-webkit-search-cancel-button{appearance:none}@media (max-width:760px){.works__bar{flex-wrap:wrap}.works__search{order:3;width:100%;margin-left:0}.works__search input,.works__search input:focus{width:100%}}.cm-sel{z-index:96;align-items:center;gap:var(--s-2);height:36px;padding:0 var(--s-4) 0 var(--s-3);border-radius:var(--r-pill);background:var(--c-fg);color:var(--c-bg);font-size:var(--t-small);box-shadow:var(--shadow-float);animation:cmpop .25s var(--ease-spring) both;transition:background var(--d-micro), color var(--d-micro);display:inline-flex;position:fixed}.cm-sel:hover{background:var(--c-accent);color:#fff}html[data-theme=dark] .cm-sel:hover{color:#000}.cm-layer{z-index:40;pointer-events:none;position:absolute;top:0;left:0}.cm-layer>*{pointer-events:auto}.cm-pin{color:#fff;width:26px;height:26px;font:600 .8125rem/1 var(--f-sans);transition:transform var(--d-micro) var(--ease-spring);border:2px solid #fff;border-radius:50% 50% 50% 0;place-items:center;margin:-26px 0 0;display:grid;position:absolute;box-shadow:0 4px 14px #00000047;font-size:.6875rem!important}.cm-pin:hover,.cm-pin.is-open{transform:scale(1.12)}.cm-pin.is-pending{opacity:.8;border-style:dashed}.cm-pin--draft{background:var(--c-accent);animation:cmpop .35s var(--ease-spring) both}@keyframes cmpop{0%{opacity:0;transform:scale(.3)}}.cm-card{width:308px;padding:var(--s-4);background:var(--c-bg);color:var(--c-fg);border:1px solid var(--c-line);box-shadow:var(--shadow-float);cursor:default;animation:cmpop .3s var(--ease-out-expo) both;border-radius:18px;font-size:.9375rem;line-height:1.4;position:absolute}.cm-card header{align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);display:flex}.cm-card header strong{font-weight:600}.cm-av{color:#fff;width:28px;height:28px;font:600 .75rem/1 var(--f-sans);border-radius:50%;flex:none;place-items:center;font-style:normal;display:grid}.cm-del{width:28px;height:28px;color:var(--c-muted);transition:background var(--d-micro), color var(--d-micro);border-radius:50%;margin-left:auto}.cm-del:hover{background:var(--c-accent);color:var(--c-bg)}.cm-card p{overflow-wrap:anywhere;margin:0}.cm-reply{padding-top:var(--s-3);border-top:1px solid var(--c-line);margin-top:var(--s-3)!important}.cm-quote{margin:0 0 var(--s-2);padding-left:var(--s-3);border-left:2px solid var(--c-accent);color:var(--c-muted);overflow-wrap:anywhere;font-size:.8125rem;line-height:1.35}.cm-reply b{color:var(--c-accent);margin-right:var(--s-1);font-weight:600}.cm-compose{width:300px;padding:var(--s-2);gap:var(--s-1);border-radius:22px;display:grid}.cm-hello{font-size:var(--t-small);color:var(--c-muted);margin:var(--s-2) var(--s-3) var(--s-1)!important}.cm-compose__box{align-items:flex-end;gap:var(--s-2);padding:6px 6px 6px var(--s-4);border:1.5px solid var(--c-line);background:var(--c-bg);transition:border-color var(--d-micro);border-radius:18px;display:flex}.cm-compose__box:focus-within{border-color:var(--c-accent)}.cm-compose textarea{resize:none;min-width:0;font:inherit;color:inherit;background:0 0;border:0;outline:0;flex:1;max-height:140px;padding:6px 0;line-height:1.35}.cm-compose textarea::placeholder{color:var(--c-muted)}.cm-compose__box button{background:var(--c-accent);color:#fff;width:32px;height:32px;transition:opacity var(--d-micro), transform var(--d-micro) var(--ease-spring);border-radius:50%;flex:none;place-items:center;display:grid}html[data-theme=dark] .cm-compose__box button{color:#000}.cm-compose__box button:disabled{background:color-mix(in srgb, var(--c-fg) 14%, transparent);color:var(--c-muted);cursor:default}.cm-compose__box button:not(:disabled):active{transform:scale(.9)}.cm-compose__name{margin:0 var(--s-3);border:0;border-bottom:1px solid var(--c-line);font:inherit;font-size:var(--t-small);color:inherit;background:0 0;outline:0;padding:6px 0}.cm-compose__name:focus{border-bottom-color:var(--c-accent)}.cm-compose .cm-err{margin:0 var(--s-3) var(--s-1)!important}.cm-err{color:var(--c-fg);font-size:.75rem;font-weight:500;margin-top:var(--s-3)!important}@media (max-width:760px){.cm-card{width:min(308px,100vw - 24px)}.cm-compose{width:min(300px,100vw - 24px)}}.embed__play{overflow:hidden}.embed__poster{object-fit:cover;width:100%;height:100%;transition:transform var(--d-page) var(--ease-out-expo);position:absolute;inset:0}.embed__play:hover .embed__poster{transform:scale(1.03)}.embed__play--poster:after{content:"";background:linear-gradient(#0000 55%,#00000080);position:absolute;inset:0}.embed__play--poster>:not(.embed__poster){z-index:1;position:relative}.embed__play--poster .embed__icon{color:#000;background:#fff}.embed__play--poster .embed__label,.embed__play--poster .meta{color:#fff}.embed__play--poster .embed__label{left:var(--s-6);bottom:var(--s-6);text-align:left;position:absolute}.embed__play--poster .meta{display:none}.contact__side{gap:var(--s-12)}.contact__side>div>.meta{margin-bottom:var(--s-3)}.contact__side .plain--tight{gap:var(--s-3)}.steps li{transition:border-color var(--d-component)}.steps li:hover{border-color:var(--c-accent)}.stp__meter{align-items:center;gap:var(--s-3);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.stp__sq{gap:4px;display:inline-flex}.stp__sq i{border:1px solid var(--c-fg);opacity:.35;background:0 0;width:12px;height:12px;transition:background .25s,border-color .25s,opacity .25s}.steps li.is-in .stp__sq i{opacity:1;transition-delay:calc(var(--d,0s) + var(--k) * 55ms)}.steps li.is-in .stp__sq i.is-ai{background:var(--c-accent);border-color:var(--c-accent)}.stp__prompt{font-family:var(--f-mono);font-size:var(--t-small);color:var(--c-fg);min-height:1.4em}.stp__prompt span{vertical-align:top;clip-path:inset(0 100% 0 0);display:inline-block}.steps li.is-in .stp__prompt span{clip-path:inset(0);transition:clip-path 1.4s steps(28) calc(var(--d,0s) + .5s)}@media (prefers-reduced-motion:reduce){.stp__sq i{opacity:1}.stp__sq i.is-ai{background:var(--c-accent);border-color:var(--c-accent)}.stp__prompt span{clip-path:none}}html:not(.js) .stp__prompt span{clip-path:none}.hero__grid{z-index:0;pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 55%,#0000 96%);mask-image:linear-gradient(#000 0% 55%,#0000 96%)}.hero>:not(.hero__grid):not(.dmb){z-index:1;position:relative}.cm-compose textarea{scrollbar-width:none;-ms-overflow-style:none;overflow-y:auto}.cm-compose textarea::-webkit-scrollbar{width:0;height:0;display:none}.field textarea::placeholder{transition:opacity var(--d-component)}.copy__btn{position:relative}.copy__btn:after{content:"";background:var(--c-accent);width:0;height:1px;transition:width .7s var(--ease-out-expo);position:absolute;bottom:-1px;left:0}.copy__btn.is-copied:after{width:100%}.copy__text{height:1.25em;line-height:1.25;display:block;overflow:hidden}.copy__roll{transition:transform .6s var(--ease-out-expo);display:grid}.copy__roll>span{white-space:nowrap;height:1.25em}.copy__roll>span+span{color:var(--c-accent)}.copy__btn.is-copied .copy__roll{transform:translateY(-1.25em)}.copy__btn.is-copied .copy__ico{color:var(--c-accent);opacity:1}.copy__tick{stroke-dasharray:20;stroke-dashoffset:20px;animation:draw .45s .15s var(--ease-out-expo) forwards}@media (prefers-reduced-motion:reduce){.copy__roll,.copy__btn:after{transition:none}.copy__tick{stroke-dashoffset:0;animation:none}}.cdone{gap:var(--s-8);max-width:38rem;animation:done-in .6s var(--ease-out-expo) both;align-content:start;justify-items:start;display:grid}.done__head{align-items:center;gap:var(--s-5,20px);display:flex}.done__head .tick--big{width:64px;height:64px;stroke:var(--c-accent);flex:none}.done__head>div{gap:var(--s-3);display:grid}.done__head .display{font-size:var(--t-display-m,clamp(2rem, 4vw, 3.4rem));line-height:1}.recap{gap:var(--s-4);width:100%;padding:var(--s-6);border:1px solid var(--c-line);background:var(--c-surface);animation:done-in .7s .2s var(--ease-out-expo) both;border-radius:20px;display:grid;position:relative}.recap__stamp{top:var(--s-6);right:var(--s-6);align-items:center;gap:var(--s-2);display:inline-flex;position:absolute}.recap__stamp i{background:var(--c-accent);width:8px;height:8px}.recap dl{gap:var(--s-4);margin:0;display:grid}.recap dt{color:var(--c-muted)}.recap dd{overflow-wrap:anywhere;margin:2px 0 0}.recap__msg{-webkit-line-clamp:4;white-space:pre-line;color:var(--c-muted);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.done__links{gap:var(--s-6);animation:done-in .7s .55s var(--ease-out-expo) both;flex-wrap:wrap;align-items:center;display:flex}@keyframes done-in{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){.recap,.done__links{animation:none}}
