@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter","Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_dc177b0e-module__78ed6G__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_dc177b0e-module__78ed6G__variable{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}
:root{--bg:#07080a;--bg2:#0d0f12;--card:#111419;--line:#1e232b;--ink:#f2f4f6;--mut:#8b94a1;--acc:#c6ff3d;--hot:#ff7a45;--ice:#58d6ff;--f:"Bricolage Grotesque",system-ui,sans-serif;--s:"Instrument Serif",serif;--m:"JetBrains Mono",monospace;--r:20px;--w:1200px}:root[data-theme=light]{--bg:#f4f2ec;--bg2:#ebe8e0;--card:#fff;--line:#d9d5c9;--ink:#111316;--mut:#5b616a;--acc:#3f7300;--hot:#d9480f;--ice:#0b7aa8}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--f);-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--acc);color:#000}.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}section{padding:130px 0;position:relative}.eyebrow{font-family:var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);align-items:center;gap:10px;margin-bottom:18px;font-size:12px;display:flex}.eyebrow:before{content:"";background:var(--acc);width:28px;height:1px}em{font-family:var(--s);color:var(--acc);letter-spacing:-.01em;font-style:italic;font-weight:400}.lead{color:var(--mut);max-width:58ch;margin-top:20px;font-size:18px}#bg{z-index:-3;width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0}.blob{z-index:-2;filter:blur(110px);opacity:.16;pointer-events:none;border-radius:50%;position:fixed}.b1{background:var(--acc);width:520px;height:520px;animation:18s ease-in-out infinite fl;top:-160px;left:-120px}.b2{background:var(--ice);width:460px;height:460px;animation:22s ease-in-out infinite reverse fl;bottom:-160px;right:-100px}@keyframes fl{50%{transform:translate(90px,70px)scale(1.15)}}.grain{z-index:-1;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;top:0;bottom:0;left:0;right:0}.progress{background:linear-gradient(90deg,var(--acc),var(--ice));z-index:100;width:0;height:3px;position:fixed;top:0;left:0}.cur,.cur-dot{pointer-events:none;z-index:400;border-radius:50%;position:fixed;top:0;left:0}.cur{border:1px solid var(--acc);width:38px;height:38px;margin:-19px 0 0 -19px;transition:width .25s,height .25s,background .25s}.cur.big{background:rgba(198,255,61,.16);width:76px;height:76px;margin:-38px 0 0 -38px}.cur-dot{background:var(--acc);width:6px;height:6px;margin:-3px 0 0 -3px}@media (hover:none){.cur,.cur-dot{display:none}}nav{z-index:90;border:1px solid var(--line);background:color-mix(in srgb,var(--bg)72%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;align-items:center;gap:4px;max-width:calc(100% - 20px);padding:8px 10px 8px 18px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}nav .logo{font-family:var(--m);margin-right:10px;font-weight:500}nav .logo b{color:var(--acc)}nav a,.btn{white-space:nowrap}nav a.l{color:var(--mut);border-radius:999px;padding:7px 13px;font-size:14px;transition:all .2s}nav a.l:hover,nav a.l.on{color:var(--ink);background:var(--card)}.btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;will-change:transform;background:0 0;border-radius:999px;align-items:center;gap:10px;padding:13px 22px;font-family:inherit;font-size:15px;font-weight:600;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.btn.p:hover{box-shadow:0 0 0 6px rgba(198,255,61,.18),0 10px 40px -10px var(--acc)}.btn:not(.p):hover{background:var(--card)}.btn:active{transform:scale(.97)!important}.btn.s{padding:8px 16px;font-size:14px}#theme{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%}@media (max-width:860px){nav a.l{display:none}}.hero{align-items:center;min-height:100vh;padding:120px 0 70px;display:flex;position:relative}.hero .grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:30px;display:grid}.status{font-family:var(--m);border:1px solid var(--line);background:var(--bg2);border-radius:999px;align-items:center;gap:10px;padding:7px 14px;font-size:12.5px;display:inline-flex}.status i{background:var(--acc);border-radius:50%;width:8px;height:8px;animation:2s infinite ping}@keyframes ping{0%{box-shadow:0 0 0 0 var(--acc)}70%,to{box-shadow:0 0 0 10px transparent}}h1 .ln{padding-bottom:.1em;display:block;overflow:hidden}h1 .ln span{animation:1.1s cubic-bezier(.2,.8,.2,1) forwards up;display:inline-block;transform:translateY(110%)}h1 .ln:nth-child(2) span{animation-delay:.14s}@keyframes up{to{transform:none}}.role{font-family:var(--m);color:var(--mut);font-size:max(15px,min(1.8vw,20px))}.role b{color:var(--ink);font-weight:500}.caret{background:var(--acc);vertical-align:-3px;width:9px;height:1.1em;margin-left:3px;animation:1s steps(2,end) infinite bl;display:inline-block}@keyframes bl{50%{opacity:0}}.cta{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.orb{aspect-ratio:1;justify-self:center;width:100%;max-width:560px;position:relative}.orb canvas{width:100%;height:100%}.chipf{font-family:var(--m);border:1px solid var(--line);background:color-mix(in srgb,var(--card)80%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;border-radius:999px;padding:7px 13px;font-size:12px;animation:6s ease-in-out infinite flo;position:absolute}.chipf:before{content:"";background:var(--acc);border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}@keyframes flo{50%{transform:translateY(-14px)}}.scroll{font-family:var(--m);color:var(--mut);letter-spacing:.2em;flex-direction:column;align-items:center;gap:8px;font-size:11px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.scroll:after{content:"";background:linear-gradient(var(--acc),transparent);width:1px;height:38px;animation:1.8s infinite drop}@keyframes drop{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}@media (max-width:900px){.hero .grid{grid-template-columns:1fr}.orb{max-width:380px}.scroll{display:none}}.marq{border-block:1px solid var(--line);background:var(--bg2);padding:20px 0;overflow:hidden}.marq div{width:max-content;animation:40s linear infinite mq;display:flex}.marq:hover div{animation-play-state:paused}.marq span{letter-spacing:-.02em;white-space:nowrap;color:var(--mut);align-items:center;gap:48px;padding-right:48px;font-size:max(22px,min(3vw,36px));font-weight:600;display:flex}@keyframes mq{to{transform:translate(-50%)}}.rv{opacity:0;transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transform:translateY(34px)}.rv.in{opacity:1;transform:none}.rv[data-d="1"]{transition-delay:80ms}.rv[data-d="2"]{transition-delay:.16s}.rv[data-d="3"]{transition-delay:.24s}.mani p{letter-spacing:-.03em;max-width:24ch;font-size:max(28px,min(4.6vw,60px));font-weight:700;line-height:1.12}.mani .w{color:var(--line);transition:color .25s}.mani .w.on{color:var(--ink)}.mani .w.a.on{color:var(--acc);font-family:var(--s);font-style:italic;font-weight:400}.bento{grid-template-columns:repeat(6,1fr);gap:16px;margin-top:54px;display:grid}.bt{border:1px solid var(--line);background:var(--card);border-radius:var(--r);padding:28px;transition:border-color .3s,transform .3s;position:relative;overflow:hidden}.bt:hover{border-color:color-mix(in srgb,var(--acc)60%,var(--line));transform:translateY(-3px)}.bt:after,.pj:after,.wc:after{content:"";background:radial-gradient(420px circle at var(--mx,50%)var(--my,50%),rgba(198,255,61,.1),transparent 45%);opacity:0;pointer-events:none;transition:all .3s;position:absolute;top:0;bottom:0;left:0;right:0}.bt:hover:after,.pj:hover:after,.wc:hover:after{opacity:1}.c2{grid-column:span 2}.c3{grid-column:span 3}.c4{grid-column:span 4}.c6{grid-column:span 6}.bt h3{font-size:14px;font-family:var(--m);color:var(--mut);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-weight:500}.bt p{color:var(--mut);font-size:17px}.bt p b{color:var(--ink);font-weight:600}.big{letter-spacing:-.05em;font-size:max(46px,min(6vw,84px));font-weight:800;line-height:1}.big small{color:var(--mut);letter-spacing:0;font-size:.38em;font-weight:500}.ring{--p:0;background:conic-gradient(var(--acc)calc(var(--p)*1%),var(--line)0);border-radius:50%;place-items:center;width:120px;height:120px;transition:--p 1.6s;display:grid}.ring i{background:var(--card);border-radius:50%;place-items:center;width:94px;height:94px;font-size:28px;font-style:normal;font-weight:800;display:grid}@property --p{syntax:"<number>";inherits:false;initial-value:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{font-family:var(--m);background:var(--bg2);border:1px solid var(--line);color:var(--mut);border-radius:8px;padding:5px 11px;font-size:12px;transition:all .2s}@media (max-width:900px){.bento>*{grid-column:span 6}.c2{grid-column:span 3}}@media (max-width:560px){.c2{grid-column:span 6}}.xp{gap:18px;margin-top:54px;display:grid}.job{border:1px solid var(--line);border-radius:var(--r);background:var(--card);grid-template-columns:200px 1fr;gap:30px;padding:34px;transition:border-color .3s,transform .3s;display:grid;position:relative;overflow:hidden}.job:hover{border-color:var(--acc);transform:translateY(-3px)}.job time{font-family:var(--m);color:var(--mut);font-size:13px}.job time b{color:var(--acc);font-size:46px;font-family:var(--s);margin-bottom:8px;font-style:italic;font-weight:400;line-height:1;display:block}.job h3{letter-spacing:-.025em;font-size:26px}.job .org{color:var(--acc);margin:4px 0 16px;font-weight:600}.job ul{color:var(--mut);margin-left:18px}.job li{margin-bottom:10px}.job li b{color:var(--ink)}.job .chips{margin-top:16px}@media (max-width:800px){.job{grid-template-columns:1fr;gap:14px}}.filters{flex-wrap:wrap;gap:8px;margin-top:34px;display:flex}.fl{font-family:var(--m);border:1px solid var(--line);color:var(--mut);cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px;font-size:13px;transition:all .2s}.fl:hover{color:var(--ink)}.projects{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;display:grid}.pj{border:1px solid var(--line);background:var(--card);border-radius:var(--r);cursor:pointer;transform-style:preserve-3d;will-change:transform;flex-direction:column;transition:transform .25s,border-color .3s,opacity .4s;display:flex;position:relative;overflow:hidden}.pj.feat{grid-column:span 2}.pj:hover{border-color:color-mix(in srgb,var(--acc)65%,var(--line))}.pj.hide{display:none}.projects{grid-auto-flow:dense}.viz{background:var(--bg2);border-bottom:1px solid var(--line);height:200px;position:relative;overflow:hidden}.pj.feat .viz{height:240px}.viz svg{width:100%;height:100%;display:block}.pn{font-family:var(--m);color:var(--mut);z-index:2;font-size:11px;position:absolute;top:14px;left:16px}.pb{flex-direction:column;flex:1;gap:12px;padding:24px;display:flex}.pb h3{letter-spacing:-.02em;font-size:21px;line-height:1.15}.pb .sub{font-family:var(--m);color:var(--acc);font-size:11.5px}.pb p{color:var(--mut);font-size:15px}.pb .chips{margin-top:auto;padding-top:6px}.more{font-family:var(--m);color:var(--ink);gap:8px;margin-top:4px;font-size:12.5px;display:inline-flex}.more:after{content:"→";transition:transform .2s}.pj:hover .more:after{transform:translate(5px)}@media (max-width:1000px){.projects{grid-template-columns:1fr 1fr}.pj.feat{grid-column:span 2}}@media (max-width:640px){.projects{grid-template-columns:1fr}.pj.feat{grid-column:span 1}}.dash{stroke-dasharray:5 7;animation:1.4s linear infinite dash}@keyframes dash{to{stroke-dashoffset:-24px}}.pulse{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite pls}@keyframes pls{50%{opacity:.55;transform:scale(1.4)}}.spin{transform-origin:50%;transform-box:fill-box;animation:10s linear infinite sp}@keyframes sp{to{transform:rotate(360deg)}}.cell{animation:3.4s ease-in-out infinite cl}@keyframes cl{50%{opacity:.15}}.bar{transform-box:fill-box;transform-origin:bottom;animation:1.6s ease-in-out infinite br}@keyframes br{50%{transform:scaleY(.25)}}.draw{stroke-dasharray:600;stroke-dashoffset:600px;animation:4s ease-in-out infinite dr}@keyframes dr{50%,to{stroke-dashoffset:0}}.viz.shot{background:#05070a}.viz.shot img{object-fit:cover;object-position:top left;opacity:0;width:100%;height:100%;transition:opacity .8s,transform .6s;position:absolute;top:0;bottom:0;left:0;right:0}.viz.shot img.on{opacity:1}.pj:hover .viz.shot img.on{transform:scale(1.03)}.viz.shot .pn{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:rgba(0,0,0,.55);border-radius:99px;padding:2px 8px}.mh:has(.gal){background:#05070a;height:auto}.gal{background:#05070a;place-items:center;height:min(52vh,420px);display:grid}.gal img{object-fit:contain;max-width:100%;max-height:100%}.th{border-top:1px solid var(--line);background:var(--bg2);gap:8px;padding:10px;display:flex;overflow-x:auto}.th button{cursor:pointer;opacity:.55;background:#000;border:2px solid transparent;border-radius:8px;flex:none;width:92px;height:56px;padding:0;transition:all .2s;overflow:hidden}.th button.on,.th button:hover{opacity:1;border-color:var(--acc)}.th img{object-fit:cover;width:100%;height:100%}dialog{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:24px;width:min(760px,100% - 24px);max-height:88vh;margin:auto;padding:0;overflow:auto}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.7)}dialog[open]{animation:.35s cubic-bezier(.2,.8,.2,1) pop}@keyframes pop{0%{opacity:0;transform:translateY(30px)scale(.97)}}.mh{background:var(--bg2);border-bottom:1px solid var(--line);height:220px}.mh svg{width:100%;height:100%}.mb{padding:30px}.mb h3{letter-spacing:-.03em;font-size:30px;line-height:1.1}.mb .sub{font-family:var(--m);color:var(--acc);margin:8px 0 18px;font-size:12.5px}.mb ul{color:var(--mut);margin:16px 0 20px 18px}.mb li{margin-bottom:9px}.mb li b{color:var(--ink)}.x{float:right;z-index:5;border:1px solid var(--line);background:var(--bg);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:50%;margin:12px;font-size:16px;position:-webkit-sticky;position:sticky;top:12px}.skills{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:54px;display:grid}.sk{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:26px;transition:all .3s}.sk:hover{border-color:var(--acc);transform:translateY(-3px)}.sk h4{font-family:var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:16px;font-size:12px;font-weight:500}.sk .chip{color:var(--ink);font-size:13px}@media (max-width:900px){.skills{grid-template-columns:1fr 1fr}}@media (max-width:560px){.skills{grid-template-columns:1fr}}.whyg{grid-template-columns:repeat(6,1fr);gap:16px;margin-top:54px;display:grid}.wc{border:1px solid var(--line);border-radius:var(--r);background:var(--card);flex-direction:column;grid-column:span 2;min-height:280px;padding:30px;transition:all .3s;display:flex;position:relative;overflow:hidden}.wc.big3{grid-column:span 3}.wc:hover{border-color:var(--acc);transform:translateY(-3px)}.wc .num{font-family:var(--s);color:var(--acc);font-size:70px;font-style:italic;line-height:1}.wc h3{letter-spacing:-.025em;margin:auto 0 10px;padding-top:30px;font-size:24px}.wc p{color:var(--mut);font-size:15px}.wc .proof{font-family:var(--m);border-top:1px dashed var(--line);margin-top:16px;padding-top:12px;font-size:12px}.wc .proof b{color:var(--acc);font-weight:500}@media (max-width:900px){.wc,.wc.big3{grid-column:span 6;min-height:0}}.bigq{font-family:var(--s);letter-spacing:-.01em;max-width:20ch;margin-top:70px;font-size:max(34px,min(5.6vw,76px));line-height:1.05}.bigq em{color:var(--acc)}.ach{grid-template-columns:1fr 1fr;gap:16px;margin-top:54px;display:grid}.ac{border:1px solid var(--line);border-radius:var(--r);background:var(--card);gap:20px;padding:28px;transition:all .3s;display:flex}.ac:hover{border-color:var(--hot);transform:translateY(-3px)}.ac .ic{font-size:36px}.ac h3{letter-spacing:-.02em;font-size:20px}.ac p{color:var(--mut);margin-top:6px;font-size:15px}@media (max-width:800px){.ach{grid-template-columns:1fr}}.contact{text-align:center;padding:160px 0 90px}.contact h2{max-width:11ch;margin:0 auto;font-size:max(48px,min(9vw,128px))}.contact .lead{margin:24px auto 0}.mail{letter-spacing:-.03em;border-bottom:2px solid var(--line);margin-top:38px;padding-bottom:6px;font-size:max(20px,min(3.6vw,46px));font-weight:600;transition:all .3s;display:inline-block}.mail:hover{color:var(--acc);border-color:var(--acc)}.soc{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px;display:flex}footer{border-top:1px solid var(--line);font-family:var(--m);color:var(--mut);padding:26px 0;font-size:12px}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.toast{background:var(--acc);color:#000;z-index:500;border-radius:99px;padding:11px 20px;font-size:14px;font-weight:600;transition:all .4s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,80px)}.toast.s{transform:translate(-50%)}:root{--r:16px}.progress{display:none}.rv{opacity:1!important;transform:none!important}.btn.p:hover{box-shadow:none;transform:translateY(-2px)}.btn:not(.p):hover{transform:translateY(-2px)}.pj,.bt,.job,.wc,.sk,.ac{transition:transform .2s,border-color .2s}.pj:hover,.bt:hover,.job:hover,.wc:hover,.sk:hover,.ac:hover{transform:translateY(-2px)}.pj:after,.bt:after,.wc:after,.edu:before,.wc:before{display:none}.chipf{-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}.hero{padding-top:110px}h1{letter-spacing:-.045em}.orb{max-width:520px}.viz.shot{height:230px}.pj.feat .viz.shot{height:300px}.pj .more{margin-top:6px}.mani{padding:120px 0}.mani p{max-width:26ch}.ac{align-items:stretch}.ac h3{margin-top:2px}.marq{background:0 0}:root{--bg:#010102;--bg2:#0a0b0c;--card:#0f1011;--card2:#141516;--line:#23252a;--line2:#34343a;--ink:#f7f8f8;--ink2:#d0d6e0;--mut:#8a8f98;--ok:#27a644;--f:"Inter",-apple-system,"SF Pro Display",system-ui,"Segoe UI",sans-serif;--s:var(--f);--m:"JetBrains Mono",ui-monospace,monospace;--r:12px;--w:1240px}:root[data-theme=light]{--bg:#fff;--bg2:#f6f7f7;--card:#f5f6f6;--card2:#eceeef;--line:#e3e5e8;--line2:#cfd3d8;--ink:#0b0c0d;--ink2:#3a3f46;--mut:#62666d;--acc:#3f7300}body{font-family:var(--f);letter-spacing:-.05px;font-size:16px}em{font-family:var(--f);font-style:normal;font-weight:inherit;color:var(--mut);letter-spacing:inherit}h1{letter-spacing:-.04em;margin:22px 0 18px;font-size:max(46px,min(7.2vw,88px));font-weight:600;line-height:1.03}h1 .ln{padding-bottom:.06em}h2{letter-spacing:-.032em;max-width:18ch;font-size:max(34px,min(4.6vw,56px));font-weight:600;line-height:1.08}.lead{color:var(--mut);letter-spacing:-.1px;font-size:18px;line-height:1.5}.role{font-family:var(--m);font-size:14px}section{padding:96px 0}.eyebrow{font-family:var(--f);letter-spacing:.4px;text-transform:none;color:var(--mut);font-size:13px;font-weight:500}.eyebrow:before{background:var(--acc);border-radius:50%;width:6px;height:6px}nav{border:0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg)85%,transparent);max-width:none;height:56px;padding:0 max(24px,calc((100vw - var(--w))/2 + 24px));border-radius:0;gap:2px;top:0;left:0;right:0;transform:none}nav .logo{font-family:var(--f);letter-spacing:-.02em;margin-right:auto;font-weight:600}nav a.l{border-radius:6px;padding:6px 12px;font-size:14px}#theme{border-radius:6px;margin:0 8px}.btn{background:var(--card);border-color:var(--line);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500}.btn:not(.p):hover{background:var(--card2);border-color:var(--line2)}.btn.p{background:var(--acc);color:#000;border-color:var(--acc)}.btn.p:hover{filter:brightness(1.08);box-shadow:none}.btn.s{padding:6px 12px}.status{background:var(--card);border-color:var(--line);font-family:var(--f);border-radius:999px;padding:5px 12px 5px 10px;font-size:13px}.status i{background:var(--ok);box-shadow:none;animation:none}.chip{background:var(--card2);color:var(--ink2);font-family:var(--f);border-radius:6px;padding:3px 9px;font-size:12px}.chip:hover{background:var(--card2);color:var(--ink);border-color:var(--line2)}.bt,.job,.pj,.wc,.sk,.ac,dialog{background:var(--card);border:1px solid var(--line);border-radius:12px}.pj{border-radius:16px}.bt:hover,.job:hover,.pj:hover,.wc:hover,.sk:hover,.ac:hover{background:var(--card2);border-color:var(--line2)}.why{background:0 0}.bt h3,.sk h4{font-family:var(--f);letter-spacing:.4px;text-transform:none;color:var(--mut);font-size:13px;font-weight:500}.sk h4{color:var(--ink2)}.job time b,.wc .num{font-family:var(--f);letter-spacing:-.03em;color:var(--mut);font-style:normal;font-weight:600}.wc .num{font-size:15px;font-family:var(--m);color:var(--acc);font-weight:500}.wc h3{padding-top:24px}.wc .proof{font-family:var(--f);border-top:1px solid var(--line);color:var(--ink2);font-size:13px}.job .org{color:var(--ink2)}.pb h3{letter-spacing:-.4px;font-weight:600}.pb .sub,.mb .sub{font-family:var(--f);color:var(--mut);font-size:13px}.fl{font-family:var(--f);background:0 0;border-radius:999px;font-size:13px;font-weight:500}.fl.on{background:var(--card2);color:var(--ink);border-color:var(--line2)}.viz{background:var(--bg2)}.viz.shot{border-bottom:1px solid var(--line)}.big{letter-spacing:-.04em;font-weight:600}.big.acc{color:var(--ink)}.ring{background:conic-gradient(var(--acc)calc(var(--p)*1%),var(--line)0)}.ring i{background:var(--card)}.bigq,.mani p{font-family:var(--f);letter-spacing:-.035em;font-weight:600}.bigq{max-width:20ch;font-size:max(34px,min(5vw,64px));line-height:1.08}.bigq em,.mani .w.a.on{color:var(--mut);font-family:var(--f);font-style:normal;font-weight:600}.mani p{font-size:max(28px,min(4vw,52px));line-height:1.15}.mani .w,.mani .w.on{color:var(--mut)}.mani .w.a{color:var(--ink)}.marq{background:var(--bg);border-color:var(--line)}.marq span{color:var(--mut);gap:40px;padding-right:40px;font-size:15px;font-weight:500}.marq span:after{content:"●";color:var(--line2);font-size:8px}.marq{padding:18px 0}.mail{letter-spacing:-.04em;border-color:var(--line2);font-weight:600}.contact{padding:140px 0 80px}.contact h2{max-width:14ch;font-size:max(44px,min(7vw,88px))}footer{border-color:var(--line)}.scroll{display:none}.hero{padding:120px 0 72px}.hero .grid{grid-template-columns:.9fr 1.1fr;gap:56px}.frame{border:1px solid var(--line);background:var(--card);border-radius:16px;margin:0;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.02),0 40px 80px -40px #000}.fbar{border-bottom:1px solid var(--line);background:var(--card2);align-items:center;gap:6px;padding:10px 14px;display:flex}.fbar i{background:var(--line2);border-radius:50%;width:9px;height:9px}.fbar span{color:var(--mut);font-size:12px;font-family:var(--m);margin-left:10px}.frame img{aspect-ratio:16/10;object-fit:cover;object-position:top left;width:100%;display:block}@media (max-width:900px){.hero .grid{grid-template-columns:1fr}nav{padding:0 16px}}dialog::backdrop{background:rgba(0,0,0,.75)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.rv{opacity:1;transform:none}h1 .ln span{transform:none}html{scroll-behavior:auto}.mani .w{color:var(--ink)}}:root{--f:var(--font-inter),-apple-system,"SF Pro Display",system-ui,"Segoe UI",sans-serif;--s:var(--f);--m:var(--font-mono),ui-monospace,monospace}body{font-family:var(--f)}
