@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal.DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal.6IgcOCM7.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal.DC-KSUi6.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal.DadHysG0.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations");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}:root{--bg:#06070b;--bg-2:#0b0d14;--ice:#8fd6ff;--peri:#8b9cff;--lilac:#c4a1ff;--mint:#5ff2d0;--t1:#f2f5fcf5;--t2:#dee4f59e;--t3:#d2daf066;--line:#ffffff14;--line-2:#ffffff29;--sans:"Geist Variable", "Geist", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--mono:"Geist Mono Variable", "SF Mono", ui-monospace, monospace;--mw:1240px;--pad:40px;--col:660px;--ease:cubic-bezier(.2, .9, .2, 1);--spring:cubic-bezier(.3, 1.4, .5, 1);--cyan:var(--ice);--amber:var(--lilac);--violet:var(--peri);--glass:#ffffff0d;--gb:var(--line);--fg-rgb:255, 255, 255;--bg-rgb:6, 7, 11;--accent-rgb:143, 214, 255;--inv-bg:#f2f5fc;--inv-fg:#06070b;--panel:#090b12f0;--vig:#0b0f1c;--knob:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f4f5f7;--bg-2:#e8eaee;--ice:#1f5fe0;--peri:#4553d4;--lilac:#7a3fe0;--mint:#0b8f7f;--t1:#0a0c14f0;--t2:#181c2aa8;--t3:#181c2a70;--line:#0a0e181a;--line-2:#0a0e1833;--glass:#0a0e180a;--fg-rgb:12, 16, 28;--bg-rgb:244, 245, 247;--accent-rgb:31, 95, 224;--inv-bg:#0c0f17;--inv-fg:#f4f5f7;--panel:#ffffffeb;--vig:#fff;--knob:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{transition:background-color .5s}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg);overflow-x:clip}body{background:var(--bg);color:var(--t1);font-family:var(--sans);letter-spacing:-.008em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6;overflow-x:clip}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}ol,ul{list-style:none}::selection{background:rgba(var(--accent-rgb), .25);color:var(--t1)}:focus-visible{outline:1.5px solid var(--ice);outline-offset:3px;border-radius:6px}#ios-audio-unlock{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:-10px;left:-10px}.dim{color:var(--t3)}.site{position:relative}.page{z-index:2;position:relative}.wrap{max-width:var(--mw);padding:0 var(--pad);margin:0 auto}.sec{padding:120px 0;position:relative}.kicker{font:500 11.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--t3);align-items:center;gap:14px;margin-bottom:26px;display:flex}.kicker span{color:var(--ice)}.kicker:before{content:"";background:var(--ice);width:6px;height:6px;box-shadow:0 0 0 0 rgba(var(--accent-rgb), .5);border-radius:50%;animation:2.4s ease-out infinite ping}@keyframes ping{70%,to{box-shadow:0 0 0 8px rgba(var(--accent-rgb), 0)}}.kicker:after{content:"";background:radial-gradient(circle, rgba(var(--fg-rgb), .45) 1px, transparent 1.4px) 0 50% / 8px 4px repeat-x;width:0;height:4px;transition:width 1.4s var(--ease) .2s;animation:1.2s linear infinite march}.kicker.on:after{width:72px}@keyframes march{to{background-position:8px}}.title{max-width:var(--col);letter-spacing:-.035em;text-wrap:balance;margin-bottom:22px;font-size:clamp(30px,4vw,52px);font-weight:600;line-height:1.06}.lede{max-width:560px;color:var(--t2);text-wrap:pretty;margin-bottom:48px;font-size:17px}.statement{letter-spacing:-.028em;text-wrap:pretty;max-width:760px;margin-bottom:64px;font-size:clamp(24px,2.9vw,38px);font-weight:500;line-height:1.22}.statement a{border-bottom:1px solid var(--line-2);transition:border-color .3s,color .3s}.statement a:hover{color:var(--ice);border-color:var(--ice)}.meta{font:500 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--t3)}.title,.lede,.statement,.contact-title,.hero-copy{text-shadow:0 1px 30px rgba(var(--bg-rgb), .9)}.split.rv{opacity:1;transform:none}.split .w{opacity:0;filter:blur(6px);transition:opacity .8s var(--ease), transform .9s var(--ease), filter .8s var(--ease);transition-delay:calc(var(--wi) * 35ms);display:inline-block;transform:translateY(.45em)}.split.on .w{opacity:1;filter:none;transform:none}.rv{opacity:0;transition:opacity 1s var(--ease), transform 1s var(--ease);transition-delay:var(--d,0s);transform:translateY(24px)}.rv.on{opacity:1;transform:none}.link{color:var(--t1);align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex;position:relative}.link:after{content:"";background:var(--ice);transform-origin:100%;height:1px;transition:transform .45s var(--ease);position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.link:hover{color:var(--ice)}.link:hover:after{transform-origin:0;transform:scaleX(1)}.links{flex-wrap:wrap;align-items:center;gap:8px 22px;display:flex}.btn{height:46px;color:var(--t1);border:1px solid var(--line-2);white-space:nowrap;transition:background .3s, border-color .3s, color .3s, transform .35s var(--spring);border-radius:999px;align-items:center;gap:8px;padding:0 22px;font-size:15px;font-weight:500;display:inline-flex;position:relative}.btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;transition:transform .35s var(--spring)}.btn:hover{border-color:rgba(var(--fg-rgb), .4);background:rgba(var(--fg-rgb), .04)}.btn:hover svg{transform:translateY(2px)}.btn-primary{background:var(--inv-bg);color:var(--inv-fg);border-color:#0000;font-weight:600}.btn-primary:hover{background:var(--inv-bg);box-shadow:0 8px 30px -10px rgba(var(--accent-rgb), .6);border-color:#0000}.btn-quiet{color:var(--t2);border-color:#0000;padding:0 12px}.btn-quiet:hover{color:var(--t1);background:0 0;border-color:#0000}.btn-lg{height:58px;padding:0 30px;font-size:17px}.tags{flex-wrap:wrap;gap:4px 14px;display:flex}.tags li{font:500 11.5px var(--mono);color:var(--t3)}.top{z-index:90;height:68px;padding:0 var(--pad);transition:background .4s, border-color .4s, opacity 1s var(--ease) .3s, transform 1s var(--ease) .3s;border-bottom:1px solid #0000;align-items:center;gap:28px;display:flex;position:fixed;top:0;left:0;right:0}.top.scrolled{background:rgba(var(--bg-rgb), .96);-webkit-backdrop-filter:blur(18px)saturate(140%);border-color:var(--line)}.mark{letter-spacing:-.02em;align-items:center;gap:10px;margin-right:auto;font-size:15px;font-weight:600;display:flex}.mark svg{width:22px;height:22px}.mk-ring{fill:none;stroke:var(--t3);stroke-width:1.3px}.mk-core{fill:var(--ice);transform-origin:12px 12px;animation:3s ease-in-out infinite core}@keyframes core{50%{opacity:.7;transform:scale(.7)}}.nav-links{gap:26px;display:flex}nav.nav-links a{color:var(--t2);font-size:14px;transition:color .3s;position:relative}nav.nav-links a:after{content:"";background:var(--t1);height:1px;transition:transform .4s var(--ease);position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}nav.nav-links a:hover,nav.nav-links a.active{color:var(--t1)}.cta-sm{background:var(--inv-bg);height:36px;color:var(--inv-fg);border-radius:99px;align-items:center;padding:0 16px;font-size:14px;font-weight:600;display:flex}.menu-btn{align-items:center;gap:8px;height:38px;padding:0 4px 0 14px;font-size:14px;font-weight:500;display:none}.menu-btn svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:24px;height:24px}.sheet{z-index:85;background:var(--bg);padding:96px 24px calc(30px + env(safe-area-inset-bottom));opacity:0;visibility:hidden;transition:opacity .4s var(--ease), visibility .4s;flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0}.sheet.open{opacity:1;visibility:visible}.sheet nav{flex-direction:column;display:flex}.sheet nav a{letter-spacing:-.03em;border-bottom:1px solid var(--line);opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);transition-delay:calc(var(--i) * 40ms);align-items:baseline;gap:14px;padding:12px 0;font-size:30px;font-weight:600;display:flex;transform:translateY(14px)}.sheet.open nav a{opacity:1;transform:none}.sn{font:500 11px var(--mono);color:var(--t3)}.sheet-foot{color:var(--t2);flex-wrap:wrap;gap:8px 20px;font-size:14px;display:flex}.hero{min-height:100svh;max-width:var(--mw);padding:clamp(80px, 12svh, 120px) var(--pad) clamp(40px, 8svh, 80px);flex-direction:column;justify-content:center;margin:0 auto;display:flex;position:relative}.hero-copy{z-index:2;max-width:680px;position:relative}.hero-copy>*{animation:heroIn 1.1s var(--ease) backwards}.hero-copy>:first-child{animation-delay:50ms}.hero-copy>:nth-child(2){animation:none}.hero-copy>:nth-child(3){animation-delay:.45s}.hero-copy>:nth-child(4){animation-delay:.55s}.hero-copy>:nth-child(5){animation-delay:.65s}.hero-copy>:nth-child(6){animation-delay:.75s}@keyframes heroIn{0%{opacity:0;transform:translateY(20px)}}.eyebrow{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t2);margin-bottom:clamp(14px,3svh,26px)}.eyebrow a{transition:color .3s}.eyebrow .sep{color:var(--t3);margin:0 10px}.eyebrow a:hover{color:var(--ice)}.hero-name{letter-spacing:-.055em;cursor:default;margin-bottom:clamp(12px,2.4svh,22px);font-size:clamp(42px,min(8vw,12.5svh),116px);font-weight:600;line-height:.93}.hero-name .ln{white-space:nowrap;margin-bottom:-.1em;padding:.03em .05em .1em 0;display:block;overflow:hidden}.hero-name .ln+.ln .ltr{color:var(--t3)}.hero-name .ltr{font-variation-settings:"wght" var(--wght,600);transform:translateY(var(--lift,0));transition:font-variation-settings .35s var(--ease), transform .4s var(--spring), color .5s;display:inline-block}.hero-name:hover .ln+.ln .ltr{color:var(--t1)}.hero-name .ltr{animation:ltrIn 1.1s var(--ease) backwards;animation-delay:calc(.1s + var(--i) * 35ms)}@keyframes ltrIn{0%{opacity:0;transform:translateY(105%)}}.hero-role{letter-spacing:-.02em;max-width:560px;color:var(--ice);text-wrap:balance;margin-bottom:clamp(8px,1.6svh,14px);font-size:clamp(17px,min(2vw,3svh),24px);font-weight:500;line-height:1.3}.hero-desc{max-width:500px;color:var(--t2);text-wrap:pretty;margin-bottom:clamp(18px,3.6svh,34px);font-size:clamp(15px,min(1.35vw,2.3svh),18px)}.hero-cta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.figures{max-width:var(--col);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:stretch;margin-bottom:56px;transition:border-color .3s;display:flex}a.figures:hover{border-color:var(--line-2)}.fig{flex-direction:column;flex:1;padding:16px 18px 14px 0;display:flex}.fig+.fig{border-left:1px solid var(--line);padding-left:18px}.fig b{font:500 clamp(24px, 2.6vw, 34px) var(--mono);letter-spacing:-.05em;color:var(--t1);line-height:1.1}.fig small{color:var(--t3);font-size:12px}.fig-src{border-top:1px solid var(--line);font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t3);flex-basis:100%;padding:10px 0 12px;transition:color .3s}a.figures:hover .fig-src{color:var(--ice)}.hero-figures{grid-template-columns:repeat(3,auto);max-width:420px;margin-bottom:clamp(18px,3.6svh,34px);display:grid}.hero-figures .fig{padding:clamp(10px,1.6svh,16px) 14px clamp(8px,1.4svh,14px) 0}.hero-figures .fig+.fig{padding-left:14px}.hero-figures .fig b{font-size:clamp(19px,min(1.8vw,3svh),26px)}.hero-figures .fig small{white-space:nowrap;font-size:11px}.hero-figures .fig:first-child b{color:var(--ice)}a.fig:hover b{color:var(--t1)!important}.doing{border-top:1px solid var(--line);max-width:760px;margin-bottom:56px}.doing li{border-bottom:1px solid var(--line)}.doing a{transition:padding .4s var(--ease);grid-template-columns:52px 220px 1fr 28px;align-items:center;gap:24px;padding:22px 0;display:grid}.doing a:hover{padding-left:10px}.do-g{place-items:center;width:44px;height:44px;display:grid}.do-h{letter-spacing:-.02em;flex-direction:column;font-size:18px;font-weight:600;line-height:1.25;display:flex}.do-h small{font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t3);margin-bottom:4px}.do-t{color:var(--t2);font-size:14.5px;line-height:1.55}.do-go svg{fill:none;width:20px;height:20px;stroke:var(--t3);stroke-width:1.6px;stroke-linecap:round;transition:transform .4s var(--spring), stroke .3s}.doing a:hover .do-go svg{stroke:var(--ice);transform:translate(3px,-3px)}.rows{border-top:1px solid var(--line);max-width:740px}.row{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:28px;padding:30px 0;display:grid}.row-meta{font:500 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--t3);flex-direction:column;gap:4px;display:flex}.yr{font:500 15px var(--mono);color:var(--t1);letter-spacing:-.02em}.row-main{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.row-main h3{letter-spacing:-.02em;font-size:19px;font-weight:600;line-height:1.3}.row-main p{color:var(--t2);font-size:15px;line-height:1.65}.yr.live{letter-spacing:.06em;color:var(--ice);align-items:center;gap:8px;font-size:12px;display:inline-flex}.yr.live:before{content:"";background:var(--ice);border-radius:50%;width:7px;height:7px;animation:2.4s ease-out infinite ping}.row-meta .role.first{color:var(--t1)}.row-meta .cites{color:var(--ice)}.aw-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;display:grid}.aw-list li{border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:6px;padding:26px 0 28px;display:flex}.aw-yr{font:500 12px var(--mono);letter-spacing:.08em;color:var(--t3)}.aw-list h3{letter-spacing:-.02em;font-size:18px;font-weight:600;line-height:1.3}.aw-org{color:var(--t2);font-size:13.5px}.aw-text{color:var(--t2);max-width:520px;margin:4px 0 6px;font-size:14.5px;line-height:1.6}.jobs{max-width:760px;padding-left:36px;position:relative}.jobs:before,.jobs:after{content:"";width:1px;position:absolute;top:8px;left:0}.jobs:before{background:var(--line);bottom:8px}.jobs:after{height:calc((100% - 16px) * var(--tl,0));background:var(--ice);box-shadow:0 0 10px var(--ice)}.job{flex-direction:column;align-items:flex-start;gap:6px;padding:0 0 46px;display:flex;position:relative}.job-dot{background:var(--bg);border:1px solid var(--line-2);width:9px;height:9px;transition:background .4s, border-color .4s, box-shadow .4s, transform .5s var(--spring);border-radius:50%;position:absolute;top:6px;left:-40px}.job.lit .job-dot{background:var(--ice);border-color:var(--ice);box-shadow:0 0 0 5px rgba(var(--accent-rgb), .14);transform:scale(1.15)}.job-when{font:500 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t3)}.job h3{letter-spacing:-.02em;font-size:21px;font-weight:600;line-height:1.25}.job-co{color:var(--t1);opacity:.75;font-size:14.5px}.job-body{color:var(--t2);max-width:640px;margin-bottom:4px;font-size:15px;line-height:1.65}.courses{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:48px;padding-top:36px;display:grid}.course{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.course-head{align-items:baseline;gap:14px;display:flex}.nick{letter-spacing:-.05em;font-size:34px;font-weight:700;line-height:1}.course h3{color:var(--t2);letter-spacing:-.01em;font-size:17px;font-weight:500}.demo{border:1px solid var(--line);background:var(--panel);border-radius:14px;width:100%;padding:18px}.tprog{width:100%;font:500 11.5px var(--mono);color:var(--t3);align-items:center;gap:12px;display:flex}.tprog .bar{background:var(--line);flex:1;height:2px;overflow:hidden}.tprog .bar i{height:100%;width:calc(var(--p) * 100%);background:var(--ice);display:block}.course.on .tprog .bar i{animation:grow 1.6s var(--ease) .4s backwards}@keyframes grow{0%{width:0}}.tweek{color:var(--t2);font-size:14px}.topen{color:var(--t3);font-size:13px}.feature{grid-template-columns:1fr 1.45fr;align-items:center;gap:48px;margin-bottom:90px;display:grid}.feature-media{aspect-ratio:16/9;background:#000;border-radius:14px;order:2;position:relative;overflow:hidden}.feature-media iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.play{position:absolute;inset:0}.play img{object-fit:cover;opacity:0;width:100%;height:100%;transition:transform 1.2s var(--ease), opacity .8s;transform:scale(1.08)}.play img.vis{opacity:.88}.play:hover img{opacity:1;transform:scale(1.12)}.play-btn{width:72px;height:72px;transition:transform .4s var(--spring);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.play:hover .play-btn{transform:translate(-50%,-50%)scale(1.08)}.play-btn svg{width:100%;height:100%}.play-btn circle{fill:#06070b8c;stroke:#fff9;stroke-width:1.2px}.play-btn path{fill:#fff}.feature-copy{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.feature-copy h3{letter-spacing:-.03em;font-size:clamp(24px,2.4vw,32px);font-weight:600;line-height:1.1}.feature-copy p:not(.meta){color:var(--t2);font-size:15.5px}.works-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px;padding-bottom:18px;display:flex}.works-head h3{letter-spacing:-.02em;font-size:18px;font-weight:600}.works{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-bottom:40px;display:grid}.work{text-align:left;min-width:0}.work-img{aspect-ratio:1;background:var(--bg-2);border-radius:12px;margin-bottom:10px;display:block;overflow:hidden}.work-img img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .6s, transform 1s var(--ease)}.work-img img.vis{opacity:1}.work:hover .work-img img{transform:scale(1.05)}.work-cap{color:var(--t2);font-size:14px;font-weight:500;transition:color .3s;display:block}.work:hover .work-cap{color:var(--t1)}.work-cap em{font:500 11px var(--mono);color:var(--t3);font-style:normal;display:block}.skills{flex-wrap:wrap;gap:10px 36px;display:flex}.skills li{color:var(--t3);flex-direction:column;font-size:13px;display:flex}.skills strong{color:var(--t1);font-size:14.5px;font-weight:600}.app{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.app-head{align-items:center;gap:16px;display:flex}.app-icon{width:64px;height:64px;box-shadow:0 0 0 1px var(--line);border-radius:15px;flex:none}.app-head h3{letter-spacing:-.03em;margin-bottom:4px;font-size:clamp(22px,2.2vw,28px);font-weight:600;line-height:1.15}.app-tag{letter-spacing:-.015em;font-size:18px;font-weight:500}.app-text{color:var(--t2);max-width:640px;font-size:15.5px}.app-shots{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;margin:8px 0 10px;display:grid}.app-shot{aspect-ratio:1350/2925;background:var(--bg-2);cursor:zoom-in;border-radius:12px;display:block;overflow:hidden}.app-shot img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .6s, transform 1s var(--ease)}.app-shot img.vis{opacity:1}.app-shot:hover img{transform:scale(1.04)}@media (width<=760px){.app-shots{scroll-snap-type:x mandatory;gap:10px;padding-bottom:6px;display:flex;overflow-x:auto}.app-shot{scroll-snap-align:start;flex:0 0 44%}}.title.wide{max-width:980px;margin-bottom:44px}.now{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:64px;margin-bottom:90px;padding:36px 0 44px;display:grid}.now-copy{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.now-copy h3{letter-spacing:-.035em;font-size:clamp(26px,2.6vw,36px);font-weight:600;line-height:1.1}.now-copy>p:not(.meta){color:var(--t2);max-width:600px;font-size:16px;line-height:1.65}.meta .live{color:var(--mint)}.now-facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:600px;margin:6px 0 8px;display:grid}.now-facts div{padding:14px 16px 0 0}.now-facts div+div{border-left:1px solid var(--line);padding-left:16px}.now-facts dt{font:500 clamp(22px, 2.2vw, 28px) var(--mono);letter-spacing:-.05em;line-height:1.1}.now-facts dd{color:var(--t3);margin-top:4px;font-size:12.5px;line-height:1.4}.now-shots{justify-content:center;gap:18px;display:flex}.now-shots figure{border:1px solid var(--line-2);background:var(--bg-2);border-radius:26px;flex:0 190px;overflow:hidden;box-shadow:0 30px 60px -30px #0009}.now-shots img{width:100%;height:auto}.th-light{display:none}:root[data-theme=light] .th-light{display:block}:root[data-theme=light] .th-dark{display:none}.pubs{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:0 80px;display:grid}.pubs-side{flex-direction:column;align-items:flex-start;gap:22px;display:flex;position:sticky;top:112px}.pubs-h{letter-spacing:-.03em;font-size:clamp(24px,2.4vw,32px);font-weight:600}.pubs-side .figures{width:100%;max-width:none;margin-bottom:0}.pubs .rows{max-width:none}.sec-tight{padding:110px 0}.gal{columns:5 170px;column-gap:10px}.gal-item{break-inside:avoid;cursor:zoom-in;background:var(--bg-2);text-align:left;border-radius:10px;width:100%;margin-bottom:10px;display:block;position:relative;overflow:hidden}.gal-item img{opacity:0;width:100%;height:auto;transition:opacity .8s, transform 1s var(--ease)}.gal-item img.vis{opacity:1}.gal-item:hover img{transform:scale(1.04)}.gal-item:after{content:"";opacity:0;background:linear-gradient(#0000 60%,#06070bd9);transition:opacity .4s;position:absolute;inset:0}.gal-item:hover:after,.gal-item:focus-visible:after{opacity:1}.gal-cap{color:#fff;z-index:1;opacity:0;transition:opacity .4s, transform .4s var(--ease);font-size:12px;font-weight:500;line-height:1.3;position:absolute;bottom:8px;left:10px;right:10px;transform:translateY(6px)}.gal-item:hover .gal-cap,.gal-item:focus-visible .gal-cap{opacity:1;transform:none}.contact{padding:170px 0 36px}.contact-title{letter-spacing:-.05em;text-wrap:balance;max-width:780px;font-size:clamp(38px,6.4vw,92px);font-weight:600;line-height:.98}.contact-open{max-width:560px;color:var(--t2);text-wrap:pretty;margin-top:22px;font-size:18px}.contact-alt{color:var(--t3);margin:-96px 0 96px;font-size:14px}.pulse-wrap{max-width:720px;margin:26px 0 30px}.contact-cta{flex-wrap:wrap;align-items:center;gap:22px 34px;margin-bottom:120px;display:flex}.socials{flex-wrap:wrap;gap:8px 22px;display:flex}.foot{border-top:1px solid var(--line);color:var(--t3);justify-content:space-between;gap:16px;padding-top:24px;font-size:13px;display:flex}.lb{--t1:#fff;--t2:#ffffffb3;--t3:#fff6;--glass:#ffffff0f;--gb:#ffffff24;--line-2:#fff3;color:#fff;z-index:400;background:#06070bf5;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 80px;display:flex;position:fixed;inset:0}.lb img{border-radius:10px;max-width:100%;max-height:calc(100vh - 160px)}.lb-close{border:1px solid var(--line-2);width:44px;height:44px;color:var(--t2);border-radius:50%;font-size:16px;transition:color .2s,border-color .2s;position:absolute;top:18px;right:18px}.lb-close:hover{color:#fff;border-color:#ffffff80}.lb-cap{color:var(--t2);font-size:14px}@media (width<=1100px){nav.nav-links{gap:18px}.feature{grid-template-columns:1fr;gap:26px}.feature-media{order:0}}@media (width<=900px){:root{--pad:24px}nav.nav-links,.cta-sm{display:none}.menu-btn{display:inline-flex}.courses{grid-template-columns:1fr;gap:56px}}@media (width>=761px) and (aspect-ratio<=1){.hero{justify-content:flex-end;padding-top:50svh}}@media (width<=760px){:root{--pad:20px}body{font-size:15px}.top{height:58px}.top.scrolled{background:var(--bg)}.sec{padding:88px 0}.hero{padding:44svh var(--pad) calc(24px + env(safe-area-inset-bottom));justify-content:flex-end}.eyebrow{margin-bottom:10px;font-size:10.5px}.hero-name{margin-bottom:8px;font-size:min(13.5vw,6.8svh)}.hero-role{margin-bottom:6px;font-size:16px}.hero-desc{margin-bottom:16px;font-size:14.5px;line-height:1.5}.hero-figures{grid-template-columns:repeat(3,1fr);max-width:none;margin-bottom:18px}.hero-figures .fig:nth-child(4){border-left:0;padding-left:0!important}.hero-figures .fig:nth-child(n+4){border-top:1px solid var(--line)}.eyebrow{flex-direction:column;gap:2px;display:flex}.eyebrow .sep{display:none}.hero-figures .fig{padding:9px 10px 8px 0}.hero-figures .fig+.fig{padding-left:10px}.hero-figures .fig b{font-size:18px}.hero-figures .fig small{font-size:10.5px}.hero-cta{flex-wrap:nowrap;gap:8px}.hero-cta .btn{height:44px;padding:0 18px;font-size:14.5px}.hero-cta .btn-quiet{padding:0 6px}.kicker{margin-bottom:18px}.title{margin-bottom:16px;font-size:clamp(27px,7.6vw,34px)}.lede{margin-bottom:34px;font-size:15px}.statement{margin-bottom:40px;font-size:22px;line-height:1.3}.doing a{grid-template-columns:40px 1fr 20px;gap:6px 14px;padding:18px 0}.doing a:hover{padding-left:0}.do-g{width:36px;height:36px}.do-g svg{width:32px;height:32px}.do-h{font-size:16.5px}.do-t{grid-column:2/4;font-size:14px}.do-go{grid-area:1/3}.figures{margin-bottom:40px}.figures:not(.hero-figures){grid-template-columns:1fr 1fr;display:grid}.figures:not(.hero-figures) .fig{padding:14px 0 12px}.figures:not(.hero-figures) .fig:nth-child(2n){padding-left:16px}.figures:not(.hero-figures) .fig:nth-child(odd){border-left:0}.figures:not(.hero-figures) .fig:nth-child(n+3){border-top:1px solid var(--line)}.fig-src{grid-column:1/-1}.row{grid-template-columns:1fr;gap:8px;padding:24px 0}.row-meta{flex-direction:row;align-items:baseline;gap:10px}.row-main h3{font-size:17px}.row-main p{font-size:14.5px}.aw-list{grid-template-columns:1fr}.aw-list li{padding:20px 0 22px}.aw-list h3{font-size:16.5px}.aw-text{font-size:14px}.title.wide{margin-bottom:36px}.now{gap:36px;margin-bottom:60px;padding:28px 0 40px}.now-copy>p:not(.meta){font-size:15px}.now-facts dd{font-size:11.5px}.now-shots{gap:12px}.now-shots figure{border-radius:20px;flex-basis:44%}.now-shots figure:nth-child(2){transform:translateY(24px)}.sec-tight{padding:80px 0}.contact-open{font-size:16px}.contact-alt{margin:-50px 0 60px}.jobs{padding-left:24px}.job-dot{left:-28px}.job{padding-bottom:38px}.job h3{font-size:18px}.job-body{font-size:14.5px}.nick{font-size:28px}.demo{padding:12px}.feature{margin-bottom:60px}.feature-media{border-radius:12px}.works{grid-template-columns:repeat(2,1fr);gap:10px}.work-cap{font-size:12.5px}.gal{columns:2;column-gap:10px}.gal-item{border-radius:8px;margin-bottom:8px}.gal-cap{opacity:1;font-size:11.5px;bottom:8px;left:10px;transform:none}.gal-item:after{opacity:1}.contact{padding-top:110px}.contact-title{font-size:clamp(36px,11vw,52px)}.btn-lg{height:52px;padding:0 22px;font-size:15px}.contact-cta{margin-bottom:70px}.lb{padding:60px 12px}}@media (width<=760px) and (height<=900px){.hero-desc{display:none}}@media (width<=760px) and (height<=700px){.hero{padding-top:40svh}}@media (height<=640px) and (width>=761px){.hero-desc{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.2s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.rv{transform:none}}@media print{.top,.sheet,.lb,canvas{display:none!important}.rv{opacity:1!important;transform:none!important}}.sec-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:0 80px;display:grid}.sec-side{padding-bottom:24px;position:sticky;top:112px}.sec-side .title{font-size:clamp(30px,3.3vw,46px)}.sec-side .lede{margin-bottom:32px}.sec-side .figures{max-width:none;margin-bottom:0}.sec-main .skills{border-top:1px solid var(--line);margin-top:8px;padding-top:22px}.sec-main{min-width:0;padding-top:44px}.sec-main .statement{margin-bottom:44px;font-size:clamp(21px,1.9vw,27px);line-height:1.32}.sec-main .rows,.sec-main .doing,.sec-main .jobs{max-width:none}.sec-main .doing a{grid-template-columns:48px 180px 1fr 24px}.sec-main .feature{grid-template-columns:1fr;gap:24px;margin-bottom:64px}.sec-main .feature-media{order:0}.sec-main .courses{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px}.sec-main .works{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}@media (width<=1100px){.now{grid-template-columns:1fr}.now-shots{justify-content:flex-start}}@media (width<=900px){.pubs{display:block}.pubs-side{margin-bottom:36px;position:static}.sec-grid{display:block}.sec-side{padding-bottom:0;position:static}.sec-main{padding-top:12px}}@media (width<=760px){.sec-main .doing a{grid-template-columns:40px 1fr 20px}.sec-main .statement{font-size:19px}}.theme-btn{border:1px solid var(--line);width:38px;height:38px;color:var(--t1);transition:border-color .3s, transform .5s var(--spring);border-radius:50%;place-items:center;display:grid}.theme-btn:hover{border-color:var(--line-2);transform:rotate(-12deg)}.theme-btn svg{width:18px;height:18px;overflow:visible}.tm-core{fill:currentColor;transition:r .5s var(--spring)}.tm-cut{transition:cx .5s var(--ease), cy .5s var(--ease)}.tm-rays line{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round}.tm-rays{transform-origin:12px 12px;opacity:0;transition:opacity .4s, transform .6s var(--spring);transform:rotate(-60deg)scale(.5)}:root[data-theme=light] .tm-core{r:4.6}:root[data-theme=light] .tm-cut{cx:30px;cy:-6px}:root[data-theme=light] .tm-rays{opacity:1;transform:none}.cue{background:radial-gradient(circle, rgba(var(--fg-rgb), .35) .8px, transparent 1.2px) 50% 0 / 2px 6px repeat-y;width:2px;height:46px;transition:opacity 1s var(--ease) 1.2s;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.cue i{background:var(--ice);width:5px;height:5px;box-shadow:0 0 10px var(--ice);animation:cue 2.2s var(--ease) infinite;border-radius:50%;margin-left:-2.5px;position:absolute;top:0;left:50%}@keyframes cue{0%{opacity:0;transform:translateY(0)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(42px)}}@media (width<=760px){.cue{display:none}}.tl-bead{left:-3.5px;top:calc(8px + (100% - 16px) * var(--tl,0));background:var(--ice);width:8px;height:8px;box-shadow:0 0 0 4px rgba(var(--accent-rgb), .15), 0 0 14px var(--ice);z-index:1;pointer-events:none;border-radius:50%;margin-top:-4px;position:absolute}.doing a{position:relative}.doing a:before{content:"";background:var(--ice);opacity:0;width:5px;height:5px;transition:opacity .3s, transform .4s var(--ease);border-radius:50%;margin-top:-2.5px;position:absolute;top:50%;left:-16px;transform:translate(-8px)}.doing a:hover:before{opacity:1;transform:none}.gal-item img,.work-img img{clip-path:inset(100% 0 0);transition:opacity .8s, transform 1s var(--ease), clip-path 1.1s var(--ease);transition-delay:0s, 0s, var(--d,0s)}.gal-item.on img,.work.on .work-img img{clip-path:inset(0)}.eyebrow{flex-wrap:wrap;align-items:center;display:flex}.eyebrow:before{content:"";background:var(--mint);border-radius:50%;width:6px;height:6px;margin-right:12px;animation:2.4s ease-out infinite ping-mint}@keyframes ping-mint{0%{box-shadow:0 0 #5ff2d080}70%,to{box-shadow:0 0 0 8px #5ff2d000}}@media (width<=760px){.eyebrow{flex-direction:column;align-items:flex-start}.eyebrow:before{display:none}.theme-btn{width:34px;height:34px}}.top:after{content:"";background:var(--ice);transform-origin:0;opacity:0;height:1px;transition:opacity .4s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.top.scrolled:after{opacity:.8}.nav-links{position:relative}.nav-pill{z-index:-1;height:32px;width:calc(var(--pw) + 24px);background:rgba(var(--fg-rgb), .07);transform:translateX(calc(var(--px) - 12px));opacity:0;transition:transform .55s var(--spring), width .55s var(--spring), opacity .3s;pointer-events:none;border-radius:99px;margin-top:-16px;position:absolute;top:50%;left:0}.nav-links.has-pill .nav-pill{opacity:1}nav.nav-links a.active:after{transform:scaleX(0)}.lit-words .w{opacity:calc(.16 + var(--o,0) * .84);transition:opacity .25s linear}.lit-words.lit-all .w{opacity:1}.now-shots{perspective:1200px}.now-shots figure{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s var(--ease)}.now-shots figure:nth-child(2){transform:translateY(36px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}@media (width<=760px){.now-shots figure:nth-child(2){transform:translateY(24px)}}.face-hint{font:500 11.5px var(--mono);letter-spacing:.06em;color:var(--t3);align-items:center;gap:10px;margin:-14px 0 0;display:inline-flex}.face-hint i{border:1px solid var(--ice);border-radius:50%;flex:none;width:14px;height:14px;position:relative}.face-hint i:after{content:"";background:var(--ice);border-radius:50%;animation:2.4s ease-in-out infinite core;position:absolute;inset:3px}@media (pointer:coarse){.face-hint{display:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.top:after{animation:linear both progress;animation-timeline:scroll(root)}@keyframes progress{to{transform:scaleX(1)}}.hero-copy{animation:linear both heroOut;animation-timeline:view();animation-range:exit exit 90%}@keyframes heroOut{to{opacity:0;filter:blur(10px);translate:0 18vh;scale:.9}}.sec-side .title,.title.wide{animation:linear both focusIn;animation-timeline:view();animation-range:entry cover 30%}@keyframes focusIn{0%{filter:blur(4px);scale:.95}}.now-shots figure{animation:linear both rise;animation-timeline:view();animation-range:cover}.now-shots figure:nth-child(2){animation-name:riseMore}@keyframes rise{0%{translate:0 40px}to{translate:0 -40px}}@keyframes riseMore{0%{translate:0 110px}to{translate:0 -70px}}.feature-media{animation:linear both open;animation-timeline:view();animation-range:entry cover 45%}@keyframes open{0%{opacity:.4;border-radius:34px;scale:.86}}@media (width>=761px){.app-shot{animation:linear both fan;animation-timeline:view();animation-range:entry cover 32%}@keyframes fan{0%{translate:calc((1.5 - var(--i)) * 104%) 50px;rotate:calc((var(--i) - 1.5) * 7deg);scale:.9}}}.contact-title{animation:linear both focusIn;animation-timeline:view();animation-range:entry cover 35%}}}
