html,body{scroll-behavior:auto;margin:0}.pf{--sans:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;width:100%;min-height:100vh;overflow-x:clip}.pf,.pf *{box-sizing:border-box}.theme-light{--bg:#fff;--surface:#f5f5f5;--surface-strong:#e8e8e8;--ink:#0a0a0a;--on-ink:#fff;--ink-muted:#525252;--line:#d4d4d4;--border-strong:#737373}.theme-dark{--bg:#0a0a0a;--surface:#141414;--surface-strong:#262626;--ink:#fafafa;--on-ink:#0a0a0a;--ink-muted:#a3a3a3;--line:#2e2e2e;--border-strong:#8a8a8a}@property --gap{syntax:"<length>";inherits:true;initial-value:8px}.t-mega{font:600 clamp(72px, 11.6vw, 190px)/.92 var(--sans);letter-spacing:-.048em;color:var(--ink);margin:0}.t-hero{font:600 clamp(56px, 7vw, 116px)/.92 var(--sans);letter-spacing:-.048em;color:var(--ink);margin:0}.t-xl{font:600 clamp(56px, 6.7vw, 104px)/1 var(--sans);letter-spacing:-.042em;color:var(--ink);margin:0}.t-l{font:600 clamp(32px, 3.3vw, 52px)/1.07 var(--sans);letter-spacing:-.036em;color:var(--ink);margin:0}.t-title{font:600 40px/44px var(--sans);letter-spacing:-1.5px;color:var(--ink);margin:0}.t-heading{font:600 36px/42px var(--sans);letter-spacing:-1px;color:var(--ink);margin:0}.t-sub{font:600 20px/28px var(--sans);color:var(--ink);margin:0}.t-body{font:400 16px/26px var(--sans);color:var(--ink);text-wrap:pretty;margin:0}.t-small{font:400 14px/22px var(--sans);color:var(--ink-muted);margin:0}.t-label{font:500 12px/16px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--ink-muted);margin:0}.t-code{font:400 14px/22px var(--mono);color:var(--ink)}.outline{-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;letter-spacing:-.01em;color:var(--bg)!important}.pf a{color:var(--ink);text-decoration:none}.pf a:hover{color:var(--ink)}.dots{background-image:radial-gradient(var(--line) 1px, transparent 1px);background-size:32px 32px}.tag{background:var(--surface-strong);color:var(--ink);font:400 13px/22px var(--mono);white-space:nowrap;border-radius:2px;padding:2px 8px;display:inline-block}.btn{height:44px;font:500 14px/1 var(--sans);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:0 20px;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--ink);border:1px solid var(--ink);color:var(--on-ink)!important}.btn-primary:hover{background:var(--ink-muted);border-color:var(--ink-muted)}.btn-outline{border:1px solid var(--border-strong);background:0 0;color:var(--ink)!important}.btn-outline:hover{background:var(--surface-strong)}.blink{animation:2.4s ease-in-out infinite blink}.h160{--h:160}.h30{--h:30}.h15{--h:15}.h235{--h:235}.h285{--h:285}.h195{--h:195}.mc-nav{--s:16px;--d:8s}.glyph{vertical-align:-.125em;flex:none;display:inline-block}.roll{cursor:pointer;height:44px;padding:0 10px;display:inline-block;overflow:hidden}.roll-in{flex-direction:column;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex}.roll-in span{height:44px;font:500 12px/44px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--ink);display:block}.roll:hover .roll-in{transform:translateY(-44px)}.burger{flex-direction:column;gap:4px;display:flex}.burger i{background:var(--on-ink);width:16px;height:1.5px;display:block}.veil{z-index:150;background:var(--ink);color:var(--on-ink);visibility:hidden;pointer-events:none;flex-direction:column;justify-content:space-between;padding:34px 66px 50px;display:flex;position:fixed;inset:-2px;transform:translateY(calc(100% + 20vh))}.veil:before,.veil:after{content:"";background:var(--ink);pointer-events:none;height:20vh;position:absolute;left:-12vw;right:-12vw}.veil:before{border-radius:50% 50% 0 0/100% 100% 0 0;top:-19.5vh}.veil:after{border-radius:0 0 50% 50%/0 0 100% 100%;bottom:-19.5vh}.veil.in{visibility:visible;pointer-events:auto;transition:transform .76s cubic-bezier(.7,0,.2,1);transform:translateY(0)}.veil.out{visibility:visible;pointer-events:auto;transition:transform .76s cubic-bezier(.7,0,.2,1);transform:translateY(calc(-100% - 20vh))}.veil .t-label{color:var(--on-ink);opacity:.6}.veil-label{font:600 clamp(80px, 12vw, 190px)/.92 var(--sans);letter-spacing:-.048em;color:var(--on-ink);margin:0}.menu{z-index:100;background:var(--ink);color:var(--on-ink);visibility:hidden;clip-path:circle(0 at calc(100% - 96px) 44px);flex-direction:column;justify-content:space-between;padding:32px 64px 48px;transition:clip-path .8s cubic-bezier(.7,0,.2,1),visibility 0s linear .8s;display:flex;position:fixed;inset:0}.menu.open{visibility:visible;clip-path:circle(160% at calc(100% - 96px) 44px);transition:clip-path .8s cubic-bezier(.7,0,.2,1),visibility}.menu-top{justify-content:space-between;align-items:center;display:flex}.menu .t-label,.menu .t-small{color:var(--on-ink);opacity:.6}.menu-x{border:1px solid var(--on-ink);height:44px;color:var(--on-ink);font:500 12px/1 var(--mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:10px;padding:0 16px;display:inline-flex}.menu-grid{flex:1;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);column-gap:64px;min-height:0;padding:48px 0 32px;display:grid}.menu-side{flex-direction:column;justify-content:space-between;gap:32px;display:flex}.menu-side .t-sub{color:var(--on-ink)!important}.menu-list{flex-direction:column;display:flex}.menu-item{border-top:1px solid color-mix(in srgb, var(--on-ink) 25%, transparent);grid-template-columns:56px minmax(0,1fr) auto;align-items:baseline;column-gap:16px;padding:10px 0;transition:opacity .2s,padding .3s cubic-bezier(.2,.8,.2,1);display:grid;color:var(--on-ink)!important}.menu-item b{font:600 clamp(36px, 4.4vw, 64px)/1.05 var(--sans);letter-spacing:-.04em}.menu-item sup{font:500 12px/16px var(--mono);letter-spacing:1px;opacity:.6}.menu-item em{font:500 12px/16px var(--mono);letter-spacing:1px;text-transform:uppercase;opacity:.6;text-align:right;font-style:normal}.menu-list:hover .menu-item{opacity:.3}.menu-list:hover .menu-item:hover{opacity:1;padding-left:16px}.menu-mail{font:600 clamp(28px, 3vw, 44px)/1.1 var(--sans);letter-spacing:-.04em;border-bottom:2px solid var(--on-ink);align-self:flex-start;color:var(--on-ink)!important}.menu-cta{background:var(--on-ink);height:44px;font:500 14px/1 var(--sans);border-radius:4px;align-self:flex-start;align-items:center;padding:0 20px;display:inline-flex;color:var(--ink)!important}.menu-foot{justify-content:space-between;align-items:flex-end;display:flex}.hero{border-bottom:1px solid var(--line);height:100vh;min-height:780px;position:relative;overflow:hidden}.hero-persp{perspective:1400px;perspective-origin:50% 42%;position:absolute;inset:0}.scene{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.floor{transform-origin:50% 0;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:64px 64px;width:220%;height:1600px;animation:5s linear infinite floor;position:absolute;top:76%;left:-60%;transform:rotateX(80deg)translateZ(-1px);-webkit-mask-image:linear-gradient(#000 0%,#0000 80%);mask-image:linear-gradient(#000 0%,#0000 80%)}.hl{flex-direction:column;margin:0;display:flex;position:absolute;top:12vh;left:64px;translate:0 0 40px}.hl-line{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.hl-line>span{animation:1.1s cubic-bezier(.2,.8,.2,1) .25s forwards lineup;display:block;transform:translateY(108%)}.hl-line>span.i1{animation-delay:.39s}.hl-line>span.i2{animation-delay:.53s}.status{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--bg) 80%, transparent);height:32px;font:500 12px/1 var(--mono);letter-spacing:.6px;text-transform:uppercase;color:var(--ink);opacity:0;border-radius:16px;align-self:flex-start;align-items:center;gap:10px;margin-bottom:28px;padding:0 14px 0 12px;animation:.7s .15s forwards fadein;display:inline-flex}.status i{background:var(--ink);border-radius:4px;width:8px;height:8px;display:block}.rot-win{height:1.02em;display:block;overflow:hidden}.rot-list{flex-direction:column;animation:12s cubic-bezier(.7,0,.2,1) 1.8s infinite rot;display:flex}.rot-list span{white-space:nowrap;height:1.02em;margin-bottom:.38em;line-height:1.02em;display:block}.pos{position:absolute}.cube-wrap{width:300px;height:300px;transform-style:preserve-3d;animation:7s ease-in-out infinite alternate floaty,1.4s cubic-bezier(.2,.8,.2,1) .4s both popin;position:relative}.cube{width:300px;height:300px;transform-style:preserve-3d;animation:32s linear infinite spin;position:absolute;top:0;left:0}.face{background-color:var(--surface);border:1px solid var(--border-strong);backface-visibility:hidden;filter:grayscale();flex-direction:column;width:300px;height:300px;transition:filter .5s;display:flex;position:absolute;top:0;left:0;overflow:hidden}.hero:hover .face,.hero:hover .glass{filter:none}.face .win-bar{height:24px}.f-front{transform:translateZ(150px)}.f-back{transform:rotateY(180deg)translateZ(150px)}.f-right{transform:rotateY(90deg)translateZ(150px)}.f-left{transform:rotateY(-90deg)translateZ(150px)}.f-top{transform:rotateX(90deg)translateZ(150px)}.f-bottom{transform:rotateX(-90deg)translateZ(150px)}.ring{border:1px solid var(--border-strong);border-radius:50%;width:520px;height:520px;animation:22s linear infinite ringspin;position:absolute;top:-110px;left:-110px;transform:rotateX(72deg)}.ring i{background:var(--ink);width:12px;height:12px;margin-left:-6px;display:block;position:absolute;top:-6px;left:50%}.ring2{border:1px dashed var(--border-strong);opacity:.7;border-radius:50%;width:420px;height:420px;position:absolute;top:-60px;left:-60px;transform:rotateY(76deg)rotate(20deg)}.glass{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--border-strong);filter:grayscale();border-radius:8px;flex-direction:column;gap:6px;padding:12px 14px;transition:filter .5s;animation:6s ease-in-out infinite alternate floaty;display:flex}.fl1{width:236px;top:12%;right:2vw;translate:0 0 220px}.fl2{width:232px;top:58%;right:22vw;translate:0 0 90px}.fl3{width:236px;top:64%;right:2vw;translate:0 0 120px}.mc{width:var(--s);height:var(--s);transform-style:preserve-3d;animation:mcspin var(--d) linear infinite;position:absolute}.mc i{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--bg) 45%, transparent);width:100%;height:100%;display:block;position:absolute;top:0;left:0}.mc i:first-child{transform:translateZ(calc(var(--s) / 2))}.mc i:nth-child(2){transform:rotateY(180deg) translateZ(calc(var(--s) / 2))}.mc i:nth-child(3){transform:rotateY(90deg) translateZ(calc(var(--s) / 2))}.mc i:nth-child(4){transform:rotateY(-90deg) translateZ(calc(var(--s) / 2))}.mc i:nth-child(5){transform:rotateX(90deg) translateZ(calc(var(--s) / 2))}.mc i:nth-child(6){transform:rotateX(-90deg) translateZ(calc(var(--s) / 2))}.mc-static{position:relative}.syms{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.sym{width:var(--s);height:var(--s);font:500 calc(var(--s) * .5)/1 var(--mono);white-space:nowrap;color:var(--ink);opacity:var(--o,.4);translate:0 0 var(--z,-160px);transform-style:preserve-3d;animation:symfloat3d var(--d,9s) ease-in-out infinite alternate;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:absolute}.hero:hover .sym{opacity:calc(var(--o,.4) + .25)}.tn-sym{opacity:.35;border:1px solid var(--border-strong);width:56px;height:56px;font:500 22px/1 var(--mono);color:var(--ink-muted);border-radius:8px;justify-content:center;align-items:center;animation:8s ease-in-out infinite alternate symfloat;display:flex;position:absolute}.sec-sym{font:500 22px/1 var(--mono);color:var(--ink-muted);opacity:.5}.hero-bottom{z-index:2;opacity:0;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;column-gap:32px;animation:.9s .9s forwards fadein;display:grid;position:absolute;bottom:40px;left:64px;right:64px}.scroll-line{background:var(--line);width:1px;height:56px;position:relative;overflow:hidden}.scroll-line i{background:var(--ink);width:1px;height:24px;animation:2.2s ease-in-out infinite drip;position:absolute;top:0;left:0}.blocks16{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;display:grid}.blocks16 i{border:1px solid var(--border-strong);border-radius:1px;height:10px;display:block}.blocks16 i.f{background:hsl(var(--h) 72% 52%);border-color:hsl(var(--h) 72% 52%)}.res-wrap{position:relative}.res-pop{background:var(--bg);border:1px solid var(--border-strong);z-index:6;border-radius:8px;flex-direction:column;width:320px;padding:8px;display:flex;position:absolute;bottom:56px;left:0}.res-pop .t-label{padding:8px 12px 10px}.res-item{min-height:44px;font:500 14px/20px var(--sans);border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;transition:background .15s;display:flex;color:var(--ink)!important}.res-item:hover{background:var(--surface-strong)}.res-item span{font:500 11px/1 var(--mono);letter-spacing:1px;color:var(--ink-muted)}.chev{transition:transform .2s}.chev.up{transform:rotate(180deg)}.marq{align-items:center;width:max-content;animation:48s linear infinite marq;display:flex}.marq-item{font:600 56px/104px var(--sans);letter-spacing:-2px;white-space:nowrap;color:var(--ink);padding:0 32px}.marq-item.o{color:var(--bg);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;letter-spacing:0}.marq-sep{background:var(--ink);flex:none;width:12px;height:12px}.w{color:var(--ink);margin-right:.26em;display:inline-block}.theme-light{--acc-l:36%}.theme-dark{--acc-l:62%}.w.k{color:var(--ink-muted);text-underline-offset:.16em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);transition:color .35s,text-decoration-color .35s}.about-p:hover .w.k{color:hsl(var(--h) 72% var(--acc-l));text-decoration-style:solid;text-decoration-color:currentColor}@keyframes hlit{0%{opacity:.3}to{opacity:1}}.tabs{z-index:41;pointer-events:none;height:0;position:fixed;top:0;left:0;right:0}.frame-wrap{position:relative}.frame{z-index:40;pointer-events:none;position:fixed;inset:0;overflow:hidden}.frame-hole{box-shadow:0 0 0 9999px var(--ink);border:2px solid var(--ink);border-radius:28px;position:absolute;inset:8px}.tab{background:var(--ink);height:56px;color:var(--on-ink);pointer-events:auto;align-items:center;display:flex;position:absolute;top:0}.tab:before,.tab:after{content:"";pointer-events:none;width:23px;height:23px;position:absolute}.tab-l{border-bottom-right-radius:22px;width:auto;padding:0 24px 0 20px;left:0}.tab-l:before{background:radial-gradient(circle at 100% 100%, transparent 22px, var(--ink) 23px);top:10px;left:100%}.tab-l:after{background:radial-gradient(circle at 100% 100%, transparent 22px, var(--ink) 23px);top:100%;left:10px}.tab-r{border-bottom-left-radius:22px;justify-content:flex-end;gap:10px;width:144px;padding:0 20px 0 12px;transition:width .55s cubic-bezier(.2,.8,.2,1);right:0}.tab-r:hover,.tab-r:focus-within{width:496px}.tab-r:before{background:radial-gradient(circle at 0 100%, transparent 22px, var(--ink) 23px);top:10px;right:100%}.tab-r:after{background:radial-gradient(circle at 0 100%, transparent 22px, var(--ink) 23px);top:100%;right:10px}.lg-wrap{justify-content:center;align-items:center;width:22px;height:22px;margin-right:12px;display:flex}.logo{fill:currentColor;flex:none;display:block}.lg-wrap .logo{color:var(--on-ink);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.tab-l a:hover .logo{transform:rotate(180deg)}.tab-word{font:600 16px/20px var(--sans);letter-spacing:-.4px;white-space:nowrap;color:var(--on-ink)!important}.tab-links{white-space:nowrap;opacity:0;flex:1;justify-content:flex-end;align-items:center;gap:2px;min-width:0;transition:opacity .25s;display:flex;overflow:hidden}.tab-r:hover .tab-links,.tab-r:focus-within .tab-links{opacity:1;transition-delay:.16s}.tab .roll-in span{color:var(--on-ink)}.tab .mc i{border-color:var(--on-ink);background:0 0}.tab-btn{background:var(--bg);height:32px;font:500 11px/1 var(--mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:0;border-radius:16px;flex:none;padding:0 16px;color:var(--ink)!important}.tab-btn:hover{opacity:.8}.tab-ic{cursor:pointer;background:0 0;border:0;border-radius:16px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;color:var(--on-ink)!important}.tab-ic:hover{background:color-mix(in srgb, var(--on-ink) 18%, transparent)}.tab-ic .burger i{background:var(--on-ink)}.tn{border-top:1px solid var(--line);height:420vh;position:relative}.tn-pin{height:100vh;position:sticky;top:0;overflow:hidden}.tn-persp{perspective:1200px;perspective-origin:50%;position:absolute;inset:0}.tn-floor,.tn-ceil{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:96px 96px;width:220%;height:1800px;position:absolute;left:-60%}.tn-floor{transform-origin:50% 0;top:62%;transform:rotateX(82deg);-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.tn-ceil{transform-origin:50% 100%;bottom:62%;transform:rotateX(-82deg);-webkit-mask-image:linear-gradient(#0000 15%,#000);mask-image:linear-gradient(#0000 15%,#000)}.tn-title{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.tn-card{backface-visibility:hidden;-webkit-font-smoothing:antialiased;width:640px;height:604px;margin:-302px 0 0 -320px;position:absolute;top:50%;left:50%}.c1{--x:-6vw;--y:0vh;--ry:10deg}.c2{--x:0vw;--y:0vh;--ry:-10deg}.hs-bar{background:var(--line);height:2px;display:flex;position:absolute;bottom:32px;left:64px;right:64px}.hs-bar i{background:var(--ink);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.hs-meta{justify-content:space-between;display:flex;position:absolute;bottom:48px;left:64px;right:64px}.project{height:604px;color:var(--ink);flex-direction:column;gap:24px;display:flex}.shot{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex:none;height:400px;transition:border-color .15s;position:relative;overflow:hidden}a.shot{color:inherit;text-decoration:none;display:block}.project:hover .shot{border-color:var(--border-strong)}.shotimg{filter:grayscale();transition:filter .2s,transform .3s;position:absolute;inset:0}.project:hover .shotimg{filter:none;transform:scale(1.02)}.view{opacity:0;background:var(--ink);color:var(--on-ink);font:500 12px/16px var(--mono);letter-spacing:1px;text-transform:uppercase;border-radius:4px;padding:8px 12px;transition:opacity .15s;position:absolute;bottom:16px;right:16px}.project:hover .view{opacity:1}.pmeta{flex-direction:column;flex:none;gap:12px;height:180px;display:flex}.pdesc{color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;height:52px;display:-webkit-box;overflow:hidden}.project:hover .t-title{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}.ph{background-size:16px 16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.win{background:var(--bg);border:1px solid var(--border-strong);border-bottom:0;border-radius:8px 8px 0 0;flex-direction:column;display:flex;position:absolute;inset:32px 32px 0;overflow:hidden}.win-bar{border-bottom:1px solid var(--line);background:var(--surface);flex:none;align-items:center;gap:4px;height:28px;padding:0 10px;display:flex}.win-bar i{background:var(--surface-strong);border-radius:2px;width:7px;height:7px;display:block}.win-bar b{font:500 9px/1 var(--mono);color:var(--ink-muted);margin-left:8px}.win-body{flex:1;min-height:0;display:flex}.acc{background:hsl(var(--h) 72% 52%)}.acc-t{color:hsl(var(--h) 72% 52%)}.mk-h{font:600 14px/18px var(--sans);letter-spacing:-.3px;color:var(--ink)}.mk-t{font:500 10px/14px var(--sans);color:var(--ink)}.mk-m{font:400 9px/12px var(--mono);color:var(--ink-muted)}.mk-nav{font:400 10px/14px var(--sans);color:var(--ink-muted);border-radius:2px;padding:4px 6px}.mk-nav.on{background:var(--surface-strong);color:var(--ink)}.mk-btn{font:500 9px/12px var(--sans);color:#0a0a0a;text-align:center;border-radius:3px;padding:4px 8px}.mk-card{border:1px solid var(--line);background:var(--surface);border-radius:4px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.mk-row{border-top:1px solid var(--line);height:24px;font:400 10px/14px var(--sans);color:var(--ink);grid-template-columns:1.1fr 1.2fr .9fr .7fr;align-items:center;display:grid}.mk-pill{font:500 8px/10px var(--mono);border:1px solid var(--border-strong);color:var(--ink-muted);border-radius:8px;justify-self:start;padding:2px 6px}.mk-pill.ok{border-color:hsl(var(--h) 60% 48%);color:hsl(var(--h) 70% 52%)}.mk-line{background:var(--surface-strong);border-radius:2px;height:6px;display:block}.mk-code{background:var(--surface);border:1px solid var(--line);font:400 9px/14px var(--mono);color:var(--ink-muted);white-space:pre;border-radius:4px;padding:8px 10px}.mk-term{font:400 10.5px/17px var(--mono);color:var(--ink-muted);white-space:pre}.phone{border:1px solid var(--border-strong);background:var(--bg);border-radius:22px;flex-direction:column;flex:none;gap:8px;width:176px;height:330px;padding:14px 12px;display:flex;overflow:hidden}.clock-half{border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex}.cc{position:absolute;inset:0}.cc-hero{object-fit:cover;width:100%;height:100%;transition:opacity .5s;position:absolute;inset:0}.cc-live .cc-hero{opacity:0}.theme-dark .cc-theme-light,.theme-light .cc-theme-dark{display:none}.cc-phone{aspect-ratio:591/1280;border:1px solid var(--border-strong);background:var(--surface-strong);opacity:0;border-radius:22px;transition:opacity .5s;position:absolute;top:6%;bottom:6%;left:50%;overflow:hidden;transform:translate(-50%)}.cc-live .cc-phone{opacity:1}.cc-set{display:contents}.cc-screen{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;top:0;left:0}.cc-live .cc-screen{animation:15s linear infinite phonefade;animation-delay:calc(var(--i) * 3s)}@media (width<=700px){.cc-hero{display:none}.cc-phone{opacity:1}.cc-screen{animation:15s linear infinite phonefade;animation-delay:calc(var(--i) * 3s)}}@media (prefers-reduced-motion:reduce){.cc-live .cc-hero{opacity:1}.cc-live .cc-phone{opacity:0}.cc-screen{animation:none!important}}.title-icon{vertical-align:-7px;border-radius:7px;width:28px;height:28px;margin-right:10px}.stk{height:320vh;position:relative}.stk-pin{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;column-gap:32px;height:100vh;padding:0 64px;display:grid;position:sticky;top:0;overflow:hidden}.stk-copy{flex-direction:column;grid-column:1/6;gap:24px;display:flex}.stk-stage{perspective:1800px;grid-column:6/13;height:100%;position:relative}.stk-in{transform-style:preserve-3d;--gap:10px;position:absolute;inset:0;transform:rotateX(60deg)rotate(-30deg)translateY(3vh)}.plane{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--bg) 80%, transparent);border-radius:4px;width:380px;height:380px;position:absolute;top:calc(50% - 190px);left:calc(50% - 190px)}.plane .t-label{position:absolute;top:10px;left:12px}.p0{transform:translateZ(calc(var(--gap) * 0))}.p1{transform:translateZ(calc(var(--gap) * 1))}.p2{transform:translateZ(calc(var(--gap) * 2))}.p3{transform:translateZ(calc(var(--gap) * 3))}.p4{transform:translateZ(calc(var(--gap) * 4))}.blk{background:var(--surface-strong);border:1px solid var(--border-strong);border-radius:2px;position:absolute}.blk.solid{background:var(--ink);border-color:var(--ink)}.blk.ghost{background:0 0}.stk-h{font:600 clamp(44px, 4.6vw, 72px)/1 var(--sans);letter-spacing:-.04em;color:var(--ink);margin:0}.lrows{border-bottom:1px solid var(--line);flex-direction:column;max-width:500px;display:flex}.lrow{border:0;border-top:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);text-align:left;cursor:pointer;font:inherit;background:0 0;grid-template-columns:40px 140px minmax(0,1fr);align-items:center;margin:0;padding:0 12px;transition:background .2s,color .2s;display:grid}.lrow-name{font:500 16px/24px var(--sans)}.lrow-tech{font:400 12px/18px var(--mono);color:var(--ink-muted);text-align:right}.lrow.on{background:var(--ink);color:var(--on-ink)}.lrow.on .t-label,.lrow.on .lrow-tech{color:var(--on-ink)}.plane{border-color:color-mix(in srgb, var(--border-strong) 40%, transparent);filter:grayscale();background-color:#0000;transition:filter .4s,border-color .4s,background-color .4s,translate .5s cubic-bezier(.2,.8,.2,1);top:calc(56% - 190px)}.plane>*{opacity:.08;transition:opacity .4s}.plane>.t-label{opacity:.55}.plane.on{filter:none;border:2px solid var(--ink);background-color:var(--bg);translate:0 0 28px}.plane.on>*{opacity:1}.plane.on>.t-label{color:var(--ink)}.pl-body{position:absolute;inset:44px 24px 24px}.pl-svg{width:100%;height:calc(100% - 30px);position:absolute;top:30px;left:0}.pl-link path{fill:none;stroke:var(--border-strong);stroke-width:1.5px;stroke-dasharray:4 4}.pl-tbl rect{fill:var(--surface);stroke:var(--border-strong);stroke-width:1.5px}.pl-txt text{font:500 14px var(--mono);fill:var(--ink)}.pl-acc rect,.pl-acc circle{fill:hsl(var(--h) 72% 52%)}.ctr{border:1.5px solid var(--border-strong);background:var(--surface);border-radius:4px;flex-direction:column;justify-content:center;gap:6px;height:72px;padding:0 10px;display:flex}.ctr b{font:600 15px/1 var(--mono);color:var(--ink)}.ctr i{font:400 11px/1 var(--mono);color:hsl(var(--h) 72% 52%);font-style:normal}.ctr.ghost{background:0 0;border-style:dashed}.ci{gap:8px;margin-top:6px;display:flex}.ci span{text-align:center;font:500 12px/32px var(--mono);background:hsl(var(--h) 72% 52%);color:#0a0a0a;border-radius:4px;flex:1}.ep{border:1.5px solid var(--border-strong);background:var(--surface);height:44px;font:500 15px/1 var(--mono);color:var(--ink);border-radius:4px;align-items:center;gap:12px;padding:0 12px;display:flex}.ep em{text-align:center;background:hsl(var(--h) 72% 52%);color:#0a0a0a;border-radius:3px;min-width:48px;padding:4px 0;font-size:11px;font-style:normal}.pphone{border:1.5px solid var(--border-strong);background:var(--bg);border-radius:18px;flex-direction:column;gap:8px;width:130px;height:270px;padding:12px 10px;display:flex}.pclock{font:600 26px/1 var(--mono);color:var(--ink-muted);border-radius:10px;flex:1;justify-content:center;align-items:center;display:flex}.pl-mini{font:600 13px/1.2 var(--sans);color:var(--ink)}.pbar{border:1.5px solid var(--border-strong);background:var(--surface);border-radius:4px;align-items:center;gap:8px;height:34px;padding:0 10px;display:flex}.pbar b{font:600 13px/1 var(--sans);color:var(--ink);margin-right:8px}.pbar i{background:var(--surface-strong);border-radius:2px;width:36px;height:6px;display:block}.pcard{border:1.5px solid var(--border-strong);background:var(--surface);border-radius:4px;flex-direction:column;gap:6px;padding:8px;display:flex}.pimg{background:var(--surface-strong);border-radius:3px;height:88px;display:block}.readout{background:var(--bg);border:1px solid var(--border-strong);z-index:3;border-radius:8px;flex-direction:column;gap:10px;width:360px;padding:20px;display:flex;position:absolute;bottom:32px;right:0}.ro-dot{background:hsl(var(--h) 72% 52%);border-radius:4px;width:8px;height:8px;margin-right:8px;display:inline-block}.theme-light .plane:not(.on)>:not(.t-label){opacity:.16}.svc{border-top:1px solid var(--line);grid-template-columns:80px minmax(0,1.1fr) minmax(0,1fr) 260px;align-items:center;column-gap:32px;min-height:132px;padding:24px;transition:background .15s;display:grid}.svc:hover{background:var(--ink)}.svc:hover .t-l,.svc:hover .t-body,.svc:hover .t-label{color:var(--on-ink)!important}.svc:hover .tag{color:var(--on-ink);box-shadow:inset 0 0 0 1px var(--on-ink);background:0 0}.svc-tags{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.kit{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:16px;display:flex}.kit-tags{flex-wrap:wrap;gap:6px;display:flex}.job{border-top:1px solid var(--line);grid-template-columns:200px minmax(0,1fr) minmax(0,1.3fr);align-items:center;column-gap:32px;min-height:104px;padding:20px 0;display:grid}.job.sub{min-height:88px}.job.sub .job-t{padding-left:24px;position:relative}.job.sub .job-t:before{content:"";border-left:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);width:10px;height:10px;position:absolute;top:6px;left:4px}.row2{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:24px;padding:18px 0;display:grid}.hob{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:40px;padding:24px;transition:background .15s,border-color .15s;display:flex}.hob svg{color:var(--ink)}.hob:hover{background:var(--ink);border-color:var(--ink)}.hob:hover .t-sub,.hob:hover .t-label,.hob:hover svg{color:var(--on-ink)!important}.mail{font:600 40px/48px var(--sans);letter-spacing:-1.5px;border-bottom:2px solid var(--ink);transition:background .15s,color .15s;display:inline-block}.mail:hover{background:var(--ink);color:var(--on-ink)!important}.res-row{border-top:1px solid var(--line);grid-template-columns:40px minmax(0,1fr) auto 20px;align-items:center;column-gap:16px;min-height:64px;padding:0 16px;transition:background .15s,color .15s;display:grid}.res-row:hover{background:var(--ink);color:var(--on-ink)!important}.res-row:hover .t-label,.res-row:hover .t-sub{color:var(--on-ink)!important}.foot-wm{font:600 clamp(120px, 17vw, 272px)/.82 var(--sans);letter-spacing:-.05em;color:var(--surface-strong);white-space:nowrap;margin:0 0 -.09em -.03em}.pf a:focus-visible,.pf button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.m{--gx:20px;-webkit-tap-highlight-color:transparent}.m.theme-light{--acc-l:36%}.m.theme-dark{--acc-l:62%}.m .t-mega{font:600 clamp(64px, 19vw, 120px)/.92 var(--sans)}.m .t-hero{font:600 clamp(40px, 11.2vw, 76px)/.92 var(--sans)}.m .t-xl{font:600 clamp(40px, 11vw, 56px)/1 var(--sans);letter-spacing:-.042em}.m .t-l{font:600 26px/1.1 var(--sans);letter-spacing:-.03em}.m .t-title{font:600 26px/30px var(--sans);letter-spacing:-.8px}.m .t-sub{font:600 18px/26px var(--sans)}.m .t-label{font-size:11px}.m .outline{-webkit-text-stroke-width:3px}.m .tag{font-size:12px;line-height:20px}.m .btn{flex:1;height:48px;padding:0 18px;font-size:15px}@media (hover:none){.m .btn-primary:hover{background:var(--ink);border-color:var(--ink)}.m .btn-outline:hover{background:0 0}}.m-muted{color:var(--ink-muted)!important}.m-ink{color:var(--ink)!important}.m-dots{background-image:radial-gradient(var(--line) 1px, transparent 1px);background-size:16px 16px}.m-stack-col{flex-direction:column;gap:4px;display:flex}.m-gap12{gap:12px}.m-row-between{justify-content:space-between;gap:16px;display:flex}.m-tags{flex-wrap:wrap;gap:6px;display:flex}.m-list{border-bottom:1px solid var(--line)}.m-sec{padding:88px var(--gx);border-top:1px solid var(--line);flex-direction:column;gap:40px;display:flex}.m-sec-head{flex-direction:column;gap:12px;display:flex}.m-bar{top:calc(12px + env(safe-area-inset-top));z-index:50;background:var(--ink);height:56px;color:var(--on-ink);border-radius:14px;align-items:center;gap:8px;padding:0 8px 0 16px;display:flex;position:fixed;left:12px;right:12px}.m .m-bar-word{min-width:0;font:600 16px/20px var(--sans);letter-spacing:-.4px;color:var(--on-ink);white-space:nowrap;flex:1;align-items:center;gap:10px;display:flex}.m-ic{width:44px;height:44px;color:var(--on-ink);cursor:pointer;background:0 0;border:0;border-radius:22px;flex:none;justify-content:center;align-items:center;display:inline-flex}.m-menu-open{background:var(--bg);height:36px;color:var(--ink);font:500 11px/1 var(--mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:0;border-radius:18px;flex:none;padding:0 16px}.m .m-bar a:focus-visible,.m .m-bar button:focus-visible,.m .m-menu a:focus-visible,.m .m-menu button:focus-visible{outline-color:var(--on-ink)}.m-menu{z-index:100;background:var(--ink);color:var(--on-ink);padding:calc(24px + env(safe-area-inset-top)) var(--gx) calc(32px + env(safe-area-inset-bottom));overscroll-behavior:contain;visibility:hidden;clip-path:circle(0 at calc(100% - 60px) 40px);flex-direction:column;justify-content:space-between;gap:32px;transition:clip-path .7s cubic-bezier(.7,0,.2,1),visibility 0s linear .7s;display:flex;position:fixed;inset:0;overflow-y:auto}.m-menu.open{visibility:visible;clip-path:circle(170% at calc(100% - 60px) 40px);transition:clip-path .7s cubic-bezier(.7,0,.2,1),visibility}.m-menu .t-label,.m-menu .t-small{color:var(--on-ink);opacity:.6}.m-menu-top{justify-content:space-between;align-items:center;display:flex}.m .m-menu-name{color:var(--on-ink);align-items:center;gap:10px;display:flex}.m-menu-x{border:1px solid var(--on-ink);height:44px;color:var(--on-ink);font:500 11px/1 var(--mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.m-menu-nav{flex-direction:column;display:flex}.m .m-menu-link{border-top:1px solid color-mix(in srgb, var(--on-ink) 25%, transparent);color:var(--on-ink);font:600 clamp(40px, 12vw, 64px)/1.08 var(--sans);letter-spacing:-.04em;align-items:baseline;gap:14px;padding:6px 0;display:flex}.m-menu-link sup{font:500 11px/16px var(--mono);letter-spacing:1px;opacity:.6}.m-menu-foot{flex-direction:column;gap:12px;display:flex}.m .m-menu-mail{font:600 24px/1.2 var(--sans);letter-spacing:-.03em;border-bottom:2px solid var(--on-ink);color:var(--on-ink);overflow-wrap:anywhere;align-self:flex-start}.m-menu-social{gap:20px;display:flex}.m .m-menu-social a{color:var(--on-ink);opacity:1}.m-veil{z-index:150;background:var(--ink);color:var(--on-ink);padding:32px var(--gx) 48px;visibility:hidden;pointer-events:none;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:-2px;transform:translateY(calc(100% + 12vh))}.m-veil:before{content:"";background:var(--ink);border-radius:50% 50% 0 0/100% 100% 0 0;height:12vh;position:absolute;top:-11.5vh;left:-20vw;right:-20vw}.m-veil.in{visibility:visible;transition:transform .65s cubic-bezier(.7,0,.2,1);transform:translateY(0)}.m-veil.out{visibility:visible;transition:transform .65s cubic-bezier(.7,0,.2,1);transform:translateY(calc(-100% - 12vh))}.m-veil .t-label{color:var(--on-ink);opacity:.6;margin-bottom:12px}.m-veil-label{font:600 clamp(56px, 18vw, 120px)/.92 var(--sans);letter-spacing:-.048em;color:var(--on-ink);margin:0}.m-hero{padding:calc(104px + env(safe-area-inset-top)) var(--gx) 40px;border-bottom:1px solid var(--line);flex-direction:column;gap:24px;display:flex;position:relative;overflow:hidden}.m-status{border:1px solid var(--border-strong);min-height:30px;font:500 10.5px/1.3 var(--mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink);opacity:0;border-radius:15px;align-self:flex-start;align-items:center;gap:8px;padding:6px 12px 6px 10px;animation:.7s .15s forwards fadein;display:inline-flex}.m-status i{background:var(--ink);border-radius:4px;flex:none;width:7px;height:7px;display:block}.m-hl{flex-direction:column;margin:0;display:flex}.m-hl-line{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.m-hl-line>span{animation:1.1s cubic-bezier(.2,.8,.2,1) .25s forwards lineup;display:block;transform:translateY(108%)}.m-hl-line>span.i1{animation-delay:.39s}.m-hl-line>span.i2{animation-delay:.53s}.m-rot-win{height:1.24em;margin-bottom:-.22em;display:block;overflow:hidden}.m-rot-list{flex-direction:column;animation:12s cubic-bezier(.7,0,.2,1) 1.8s infinite m-rot;display:flex}.m-rot-list span{white-space:nowrap;height:1.24em;line-height:1.02em;display:block}.m-ctas{gap:8px;display:flex}.m-chev{transition:transform .2s}.m-chev.down{transform:rotate(180deg)}.m-res-list{border:1px solid var(--border-strong);border-radius:8px;flex-direction:column;padding:6px;display:flex}.m-res-list .t-label{padding:8px 12px 6px}.m .m-res-item{min-height:48px;font:500 15px/20px var(--sans);color:var(--ink);border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex}.m-res-item+.m-res-item{border-top:1px solid var(--line)}.m-res-item span{font:500 11px/1 var(--mono);letter-spacing:1px;color:var(--ink-muted)}.m-stage{pointer-events:none;height:300px;margin:0 calc(var(--gx) * -1);perspective:900px;perspective-origin:50% 40%;position:relative}.m-floor{transform-origin:50% 0;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:40px 40px;width:220%;height:700px;animation:5s linear infinite m-floor;position:absolute;top:70%;left:-60%;transform:rotateX(80deg);-webkit-mask-image:linear-gradient(#000 0%,#0000 70%);mask-image:linear-gradient(#000 0%,#0000 70%)}.m-sym{font:500 22px/1 var(--mono);color:var(--ink);opacity:.4;animation:7s ease-in-out infinite alternate m-symfloat;position:absolute}.m-cube-wrap{width:150px;height:150px;transform-style:preserve-3d;animation:7s ease-in-out infinite alternate m-floaty,1.4s cubic-bezier(.2,.8,.2,1) .4s both m-popin;position:absolute;top:60px;left:calc(50% - 75px)}.m-cube{transform-style:preserve-3d;animation:28s linear infinite m-spin;position:absolute;inset:0}.m-face{background-color:var(--surface);border:1px solid var(--border-strong);backface-visibility:hidden;flex-direction:column;width:150px;height:150px;display:flex;position:absolute;top:0;left:0;overflow:hidden}.m-f-front{transform:translateZ(75px)}.m-f-back{transform:rotateY(180deg)translateZ(75px)}.m-f-right{transform:rotateY(90deg)translateZ(75px)}.m-f-left{transform:rotateY(-90deg)translateZ(75px)}.m-f-top{transform:rotateX(90deg)translateZ(75px)}.m-f-bottom{transform:rotateX(-90deg)translateZ(75px)}.m-face-logo{color:var(--ink);justify-content:center;align-items:center}.m-face-body{flex-direction:column;gap:5px;padding:8px;display:flex}.m-f-right .m-face-body,.m-f-back .m-face-body{gap:0}.m-face-row{justify-content:space-between;align-items:center;display:flex}.m-face-h{font:600 9px/1 var(--sans);color:var(--ink)}.m-face-chip{border-radius:2px;width:28px;height:8px;display:block}.m-wb{border-bottom:1px solid var(--line);background:var(--surface);flex:none;align-items:center;gap:3px;height:18px;padding:0 6px;display:flex}.m-wb i{background:var(--surface-strong);border-radius:1px;width:5px;height:5px;display:block}.m-wb b{font:500 7px/1 var(--mono);color:var(--ink-muted);margin-left:4px}.m-ln{background:var(--surface-strong);border-radius:2px;height:5px;display:block}.m-tm{font:400 7.5px/12px var(--mono);color:var(--ink-muted);white-space:pre}.m-clock{flex-direction:column;flex:1;gap:4px;padding:6px;display:flex}.m-clock>div{font:600 20px/1 var(--mono);border-radius:6px;flex:1;justify-content:center;align-items:center;display:flex}.m-clock-top{background:var(--surface-strong);color:var(--ink-muted);transform:rotate(180deg)}.m-clock-run{color:#0a0a0a}.m-ring{border:1px solid var(--border-strong);border-radius:50%;width:260px;height:260px;animation:22s linear infinite m-ringspin;position:absolute;top:-55px;left:-55px;transform:rotateX(72deg)}.m-ring i{background:var(--ink);width:10px;height:10px;margin-left:-5px;display:block;position:absolute;top:-5px;left:50%}.m-glass{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--border-strong);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;animation:6s ease-in-out infinite alternate m-floaty;display:flex;position:absolute}.m-glass .t-label{letter-spacing:.5px;white-space:nowrap;font-size:9px}.m-glass .t-sub{font-size:14px;line-height:18px}.m-g2{width:148px;animation-delay:-3s;top:196px;right:16px}.m-g3{width:164px;animation-delay:-1.5s;top:214px;left:16px}.m-marq-wrap{border-bottom:1px solid var(--line);height:72px;overflow:hidden}.m-marq{align-items:center;width:max-content;animation:36s linear infinite m-marq;display:flex}.m-marq-cell{align-items:center;display:flex}.m-marq-item{font:600 36px/72px var(--sans);letter-spacing:-1.2px;white-space:nowrap;color:var(--ink);padding:0 20px}.m-marq-item.o{color:var(--bg);-webkit-text-stroke:2.4px var(--ink);paint-order:stroke fill;letter-spacing:0}.m-marq-sep{background:var(--ink);flex:none;width:8px;height:8px}.m-about{border-top:0}.m-about-p{font:600 clamp(26px, 7.2vw, 40px)/1.3 var(--sans);letter-spacing:-.03em;margin:0}.m-w{color:var(--ink);margin-right:.26em;display:inline-block}.m-w.k{color:hsl(var(--h) 72% var(--acc-l));text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:2px}.m-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;display:grid}.m-fact{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:12px;display:flex}.m-fact .t-body{font-size:15px;line-height:22px}.m-project{flex-direction:column;gap:16px;display:flex}.m-shot{aspect-ratio:16/10;background:var(--surface);border:1px solid var(--line);border-radius:8px;max-height:420px;position:relative;overflow:hidden}.m-shot.m-shot-phone{aspect-ratio:4/5;max-height:480px}.m-shot .win{top:9%;left:7%;right:7%}.m-project-title{align-items:center;gap:10px;display:flex}.m-title-icon{border-radius:7px;width:26px;height:26px}.m-stk-stage{perspective:1200px;height:320px;position:relative}.m-stk-in{--gap:6px;transform-style:preserve-3d;position:absolute;inset:0;transform:rotateX(60deg)rotate(-30deg)}.m-plane{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--bg) 80%, transparent);border-radius:4px;width:200px;height:200px;position:absolute;top:calc(50% - 100px);left:calc(50% - 100px)}.m-plane .t-label{font-size:9px;position:absolute;top:6px;left:8px}.m-p0{transform:translateZ(0)}.m-p1{transform:translateZ(var(--gap))}.m-p2{transform:translateZ(calc(var(--gap) * 2))}.m-p3{transform:translateZ(calc(var(--gap) * 3))}.m-p4{transform:translateZ(calc(var(--gap) * 4))}.m-blk{background:var(--surface-strong);border:1px solid var(--border-strong);border-radius:2px;position:absolute}.m-blk.solid{background:var(--ink);border-color:var(--ink)}.m-blk.ghost{background:0 0}.m-layer{border-top:1px solid var(--line);grid-template-columns:32px minmax(0,1fr);align-items:baseline;min-height:56px;padding:16px 0;display:grid}.m-layer-tech{font:400 12px/20px var(--mono);color:var(--ink-muted)}.m-area{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding:24px 0;display:flex}.m-area-h{align-items:baseline;gap:12px;display:flex}.m-kit{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;display:grid}.m-kit-group{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:12px;display:flex}.m-kit-group .m-tags{gap:5px}.m-job{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:24px 0;display:flex}.m-job.sub{border-top:0;border-left:1px solid var(--border-strong);margin:4px 0 12px;padding:12px 0 12px 20px}.m .m-job-h{font-size:22px}.m-edu-groups{flex-direction:column;gap:40px;display:flex}.m-edu-certs{flex-direction:column;gap:16px;display:flex}.m-degree{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding:20px 0;display:flex}.m-row2{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:16px;padding:14px 0;display:grid}.m .m-row2-h{font-size:16px}.m .m-row2-t{font-size:15px;line-height:22px}.m-right{text-align:right}.m-row2>a{overflow-wrap:anywhere}.m-hobs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.m-hob{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:28px;padding:18px;display:flex}.m .m-mail{font:600 clamp(22px, 6.6vw, 36px)/1.3 var(--sans);letter-spacing:-1px;border-bottom:2px solid var(--ink);overflow-wrap:anywhere;align-self:flex-start}.m .m-res-row{border-top:1px solid var(--line);min-height:60px;color:var(--ink);grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;column-gap:12px;padding:0 4px;display:grid}.m-foot{padding:28px var(--gx) 0;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);flex-direction:column;gap:40px;display:flex;overflow:hidden}.m-foot-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 20px;display:flex}.m-foot-copy{align-items:center;gap:10px;display:flex}.m-foot-copy .logo{color:var(--ink)}.m-foot-wm{font:600 23vw/.82 var(--sans);letter-spacing:-.05em;color:var(--surface-strong);white-space:nowrap;margin:0 0 -.09em -.03em}.m-hint-backdrop{z-index:120;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#0000008c;justify-content:center;align-items:flex-end;animation:.3s both fadein;display:flex;position:fixed;inset:0}.m-hint{border:1px solid var(--border-strong);background:var(--bg);width:100%;max-width:480px;max-height:calc(100dvh - 24px);color:var(--ink);border-radius:16px;flex-direction:column;gap:12px;padding:16px 16px 20px;animation:.5s cubic-bezier(.2,.8,.2,1) both m-sheet-up;display:flex;overflow-y:auto}.m-hint-shot{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;margin-bottom:8px;overflow:hidden}.m-hint-bar{border-bottom:1px solid var(--line);align-items:center;gap:4px;height:24px;padding:0 10px;display:flex}.m-hint-bar i{background:var(--surface-strong);border-radius:2px;width:7px;height:7px;display:block}.m-hint-bar b{font:500 9px/1 var(--mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink-muted);margin-left:6px}.m-hint-img{width:100%;height:auto;display:block}.theme-dark .m-hint-light,.theme-light .m-hint-dark{display:none}.m-hint-h{font:600 26px/1.1 var(--sans);letter-spacing:-.03em;color:var(--ink);margin:0}.m-hint-actions{gap:8px;margin-top:8px;display:flex}@media (width>=640px){.m{--gx:40px}.m-hero{padding-top:calc(120px + env(safe-area-inset-top))}.m-stage{height:360px}.m-cube-wrap{top:90px}.m-g2{top:220px;right:12%}.m-g3{top:250px;left:12%}.m-ctas{max-width:480px}.m-hero>.t-body,.m-sec-head .t-small,.m-sec>.t-body{max-width:560px}.m-facts,.m-hobs{grid-template-columns:repeat(4,minmax(0,1fr))}.m-kit{grid-template-columns:repeat(3,minmax(0,1fr))}.m-stk-stage{height:400px}.m-stk-in{scale:1.2}}@media (width>=840px){.m-edu-groups{flex-direction:row}.m-edu-groups>*{flex:1;min-width:0}.m-edu-certs{padding-top:20px}.m-kit{grid-template-columns:repeat(4,minmax(0,1fr))}}@keyframes m-rot{0%,20%{transform:translateY(0)}25%,45%{transform:translateY(-20%)}50%,70%{transform:translateY(-40%)}75%,95%{transform:translateY(-60%)}to{transform:translateY(-80%)}}@keyframes m-spin{0%{transform:rotateX(-20deg)rotateY(0)}to{transform:rotateX(-20deg)rotateY(360deg)}}@keyframes m-floaty{0%{transform:translateY(-8px)}to{transform:translateY(8px)}}@keyframes m-popin{0%{opacity:0;scale:.4}to{opacity:1;scale:1}}@keyframes m-ringspin{0%{transform:rotateX(72deg)rotate(0)}to{transform:rotateX(72deg)rotate(360deg)}}@keyframes m-floor{to{background-position:0 40px}}@keyframes m-marq{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes m-symfloat{0%{transform:translateY(-10px)rotate(-6deg)}to{transform:translateY(10px)rotate(6deg)}}@keyframes m-rv{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes m-hlit{0%{color:var(--border-strong);opacity:.35}55%{color:var(--ink-muted);opacity:1}to{color:hsl(var(--h) 72% var(--acc-l));opacity:1}}@keyframes m-explode{0%{--gap:6px;transform:rotateX(60deg)rotate(-22deg)}to{--gap:52px;transform:rotateX(56deg)rotate(-60deg)}}@keyframes m-sheet-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes m-wm{0%{transform:translateY(38%)}to{transform:translateY(0)}}@supports (animation-timeline:view()){.m-rv{animation:linear both m-rv;animation-timeline:view();animation-range:entry entry 60%}.m-w{animation:linear both lit;animation-timeline:view();animation-range:entry 30% cover 45%}.m-w.k{animation:linear both m-hlit;animation-timeline:view();animation-range:entry 30% cover 55%}.m-stk-in{animation:linear both m-explode;animation-timeline:view();animation-range:entry 40% exit 40%}.m-wm-move{animation:linear both m-wm;animation-timeline:view();animation-range:entry cover 60%}}@media (prefers-reduced-motion:reduce){.m-marq,.m-cube,.m-cube-wrap,.m-glass,.m-sym,.m-ring,.m-floor,.m-rot-list,.m-rv,.m-w,.m-stk-in,.m-wm-move{animation:none!important}.m-hl-line>span,.m-status{opacity:1;transform:none;animation:none!important}.m-menu,.m-menu.open{transition:none}.m-hint-backdrop,.m-hint{animation:none}.m-shot .cc-live .cc-phone,.m-shot .cc-screen:first-child{opacity:1}}@keyframes grow{to{transform:scaleX(1)}}@keyframes lineup{to{transform:translateY(0)}}@keyframes fadein{to{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes rot{0%,20%{transform:translateY(0)}25%,45%{transform:translateY(-1.4em)}50%,70%{transform:translateY(-2.8em)}75%,95%{transform:translateY(-4.2em)}to{transform:translateY(-5.6em)}}@keyframes spin{0%{transform:rotateX(-20deg)rotateY(0)}to{transform:rotateX(-20deg)rotateY(360deg)}}@keyframes mcspin{0%{transform:rotateX(25deg)rotateY(0)}to{transform:rotateX(25deg)rotateY(360deg)}}@keyframes floaty{0%{transform:translateY(-12px)}to{transform:translateY(14px)}}@keyframes popin{0%{opacity:0;scale:.4}to{opacity:1;scale:1}}@keyframes ringspin{0%{transform:rotateX(72deg)rotate(0)}to{transform:rotateX(72deg)rotate(360deg)}}@keyframes floor{to{background-position:0 64px}}@keyframes drip{0%{transform:translateY(-24px)}to{transform:translateY(56px)}}@keyframes marq{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes rv{0%{opacity:0;transform:perspective(900px)translateY(70px)rotateX(14deg)}to{opacity:1;transform:perspective(900px)translateY(0)rotateX(0)}}@keyframes lit{0%{color:var(--border-strong);opacity:.35}to{color:var(--ink);opacity:1}}@keyframes heroout{to{opacity:.15;transform:scale(.86)translateY(-7vh)}}@keyframes holeout{to{inset:-80px}}@keyframes gridrun{to{background-position:0 19200px,0 0}}@keyframes gridrun2{to{background-position:0 -19200px,0 0}}@keyframes framegone{0%{visibility:visible}to{visibility:hidden}}@keyframes detachl{to{border-radius:14px;top:12px;left:12px}}@keyframes detachr{to{border-radius:14px;top:12px;right:12px}}@keyframes fillfade{to{opacity:0}}@keyframes tncard{0%{opacity:0;transform:translate3d(var(--x), calc(var(--y) + 14vh), -2200px) rotateY(calc(var(--ry) * 2)) scale(1.2)}22%{opacity:1}40%{opacity:1;transform:translate3d(var(--x), calc(var(--y) + 3vh), -150px) rotateY(0deg) scale(1.2)}74%{opacity:1;transform:translate3d(var(--x), calc(var(--y) - 3vh), 60px) rotateY(0deg) scale(1.2)}to{opacity:0;transform:translate3d(var(--x), calc(var(--y) - 16vh), 500px) rotateY(0deg) scale(1.2)}}@keyframes tnlast{0%{opacity:0;transform:translate3d(var(--x), calc(var(--y) + 14vh), -2200px) rotateY(calc(var(--ry) * 2)) scale(1.2)}22%{opacity:1}40%{opacity:1;transform:translate3d(var(--x), calc(var(--y) + 3vh), -150px) rotateY(0deg) scale(1.2)}to{opacity:1;transform:translate3d(var(--x), var(--y), 60px) rotateY(0deg) scale(1.2)}}@keyframes tntitle{to{opacity:0;transform:translateY(-50%)scale(1.35)}}@keyframes explode{0%{--gap:10px;transform:rotateX(60deg)rotate(-22deg)}18%{--gap:120px}to{--gap:120px;transform:rotateX(56deg)rotate(-60deg)}}@keyframes wm{0%{transform:translateY(38%)}to{transform:translateY(0)}}@keyframes symfloat{0%{transform:translateY(-14px)rotate(-4deg)}to{transform:translateY(14px)rotate(4deg)}}@keyframes symfloat3d{0%{transform:translateY(-16px)translateZ(-16px)rotateY(-38deg)rotateX(12deg)}50%{transform:translateY(0)translateZ(34px)rotateY(0)rotateX(-9deg)}to{transform:translateY(16px)translateZ(-16px)rotateY(38deg)rotateX(12deg)}}@keyframes phonefade{0%{opacity:0}3%{opacity:1}20%{opacity:1}23%{opacity:0}to{opacity:0}}@supports (animation-timeline:view()){.pf{timeline-scope:--wrap, --tn}.frame-wrap{view-timeline:--wrap block}.frame{animation:linear both framegone;animation-timeline:--wrap;animation-range:exit exit .6%}.frame-hole{animation:linear both holeout;animation-timeline:--tn;animation-range:exit exit 35%}.tab-l{animation:linear both detachl;animation-timeline:--tn;animation-range:exit exit 35%}.tab-r{animation:linear both detachr;animation-timeline:--tn;animation-range:exit exit 35%}.tab:before,.tab:after{animation:linear both fillfade;animation-timeline:--tn;animation-range:exit exit 15%}.rv{animation:linear both rv;animation-timeline:view();animation-range:entry 4% entry 58%}.w{animation:linear both lit;animation-timeline:view();animation-range:entry 40% entry 105%}.w.k{animation:linear both hlit;animation-timeline:view();animation-range:entry 40% entry 105%}.hero-out{animation:linear both heroout;animation-timeline:view();animation-range:exit}.tn{view-timeline:--tn block}.tn-floor{animation:linear both gridrun;animation-timeline:--tn;animation-range:contain}.tn-ceil{animation:linear both gridrun2;animation-timeline:--tn;animation-range:contain}.tn-title{animation:linear both tntitle;animation-timeline:--tn;animation-range:contain contain 5%}.tn-card{animation:linear both tncard;animation-timeline:--tn}.c1{animation-range:contain 6% contain 52%}.c2{animation-name:tnlast;animation-range:contain 52%}.hs-bar i{animation:linear both grow;animation-timeline:--tn;animation-range:contain}.stk{view-timeline:--stk block}.stk-in{animation:linear both explode;animation-timeline:--stk;animation-range:contain}.wm-move{animation:linear both wm;animation-timeline:view();animation-range:entry cover 60%}}@supports not (animation-timeline:view()){.frame{display:none}.tn{height:auto}.tn-pin{height:auto;padding:96px 0;position:static}.tn-persp{perspective:none;flex-direction:column;align-items:center;gap:48px;display:flex;position:static}.tn-floor,.tn-ceil,.tn-title,.hs-bar,.hs-meta{display:none}.tn-card{margin:0;position:relative;top:auto;left:auto}.stk{height:auto}.stk-pin{height:720px;position:static}}@media (prefers-reduced-motion:reduce){.marq,.cube,.cube-wrap,.glass,.mc,.sym,.tn-sym,.ring,.floor,.blink,.scroll-line i,.rot-list,.phone-img{animation:none!important}.phone-img:first-child{opacity:1}.hl-line>span,.hero-bottom,.status{opacity:1;transform:none;animation:none!important}}
