@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.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.0m6w47a4e5dy9.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.11u06r12fd6v_.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.0wxq9webf.ew4.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.067x_6k0k23tk.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.16ipb6fqu393i.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.0q-301v4kxxnr.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:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.0y1-r_vehenvp.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:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.10_7676vm7pyy.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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..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:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_267e791-module__2oylma__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_267e791-module__2oylma__variable{--font-instrument:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.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.0dza.stei.9v7.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.03nf~dfjdkf~..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.0gfhww.tctz1o.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.09q3q1i5159bl.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.1409xf.ylxg8g.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_f8290d5a-module__2Nw1lG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_f8290d5a-module__2Nw1lG__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#f1f1f1;--bg-2:#e7e7e7;--fg:#141414;--fg-2:#5c5c5c;--fg-3:#8d8d8d;--rule:#1414141f;--rule-strong:#14141447;--outline:#1414144d;--field:#fff;--btn:#2b2b2b;--btn-fg:#f4f4f4;--inv-bg:#0a0a0a;--inv-fg:#f1f1f1;--inv-fg-2:#9b9b9b;--inv-rule:#f1f1f124;--inv-outline:#f1f1f16b;--grid-line:#80808042;--side:clamp(16px, 11.11vw, 220px);--col:calc((100vw - 2 * var(--side)) / 3);--header-h:64px;--font-sans:var(--font-inter), "Helvetica Neue", Arial, system-ui, sans-serif;--font-serif:var(--font-instrument), "Times New Roman", Georgia, serif;--font-mono:var(--font-jetbrains), "SF Mono", Menlo, Consolas, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0e0e0e;--bg-2:#171717;--fg:#ececec;--fg-2:#a3a3a3;--fg-3:#707070;--rule:#ececec1c;--rule-strong:#ececec42;--outline:#ececec52;--field:#1a1a1a;--btn:#e9e9e9;--btn-fg:#111;--inv-bg:#ececec;--inv-fg:#0e0e0e;--inv-fg-2:#5f5f5f;--inv-rule:#0e0e0e24;--inv-outline:#0e0e0e66;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .5s var(--ease-out), color .5s var(--ease-out);margin:0;font-size:16px;line-height:1.5;overflow-x:clip}img,svg,video,canvas{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;color:inherit}::selection{background:var(--fg);color:var(--bg)}:focus-visible{outline-offset:3px;border-radius:2px;outline:1.5px solid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--fg);color:var(--bg);padding:10px 14px;font-size:14px;transition:top .2s;position:fixed;top:-60px;left:16px}.skip-link:focus{top:12px}.paren{white-space:nowrap}.paren:before{content:"("}.paren:after{content:")"}.label{color:var(--fg);font-size:14px;line-height:1.3}.mono{font-family:var(--font-mono);letter-spacing:.02em;font-size:12px}.muted{color:var(--fg-2)}.link-u{transition:background-size .45s var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.link-u:hover,.link-u:focus-visible{background-size:100% 1px}.u-line{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.outline-word{font-family:var(--font-serif);letter-spacing:-.035em;color:#0000;-webkit-text-stroke:1px var(--outline);white-space:nowrap;-webkit-user-select:none;user-select:none;font-style:italic;font-weight:400;line-height:.82}.grid-lines{z-index:1;pointer-events:none;position:fixed;inset:0}.grid-lines i{background:var(--grid-line);width:1px;position:absolute;top:0;bottom:0}.grid-lines i:first-child{left:var(--side)}.grid-lines i:nth-child(2){left:calc(var(--side) + var(--col))}.grid-lines i:nth-child(3){left:calc(var(--side) + 2 * var(--col))}.grid-lines i:nth-child(4){right:var(--side)}.cols{padding-inline:var(--side);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.section{z-index:2;position:relative}.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease-out), transform 1.1s var(--ease-out);transition-delay:var(--d,0s);transform:translateY(28px)}.js [data-reveal].is-in{opacity:1;transform:none}@media (max-width:760px){:root{--side:20px;--col:calc((100vw - 2 * var(--side)) / 2);--header-h:56px}.grid-lines i:nth-child(3){display:none}.grid-lines i:nth-child(2){left:50%}.cols{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.js [data-reveal]{opacity:1;transform:none}}
.site-header{z-index:60;height:var(--header-h);color:#fff;mix-blend-mode:difference;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);justify-content:space-between;align-items:center;gap:24px;padding-inline:32px;font-size:14px;display:flex;position:fixed;inset:0 0 auto}.site-header__brand{letter-spacing:-.01em;white-space:nowrap;font-weight:500}.site-header__nav{white-space:nowrap;gap:22px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.site-header__nav a{opacity:.92;transition:opacity .2s}.site-header__nav a:hover{opacity:1}.site-header__nav a.is-current{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.site-header__end{white-space:nowrap;align-items:center;gap:20px;display:flex}.site-header__status{align-items:center;gap:8px;display:inline-flex}.site-header__status-short{display:none}.spark{flex:none;width:15px;height:15px;animation:14s linear infinite spark-spin}@keyframes spark-spin{to{transform:rotate(360deg)}}.site-header__menu{display:none}.is-intro .site-header{opacity:0;pointer-events:none;transform:translateY(-12px)}@media (max-width:1320px){.site-header__status-long{display:none}.site-header__status-short{display:inline}}@media (max-width:1080px){.site-header{padding-inline:var(--side)}.site-header__nav,.site-header__status,.site-header__theme{display:none}.site-header__end{gap:18px}.site-header__menu{display:inline}}.menu{z-index:80;background:var(--bg);color:var(--fg);padding:0 var(--side) 28px;clip-path:inset(0 0 100%);transition:clip-path .7s var(--ease-in-out);flex-direction:column;display:flex;position:fixed;inset:0}.menu.is-open{clip-path:inset(0)}.menu__top{height:var(--header-h);justify-content:space-between;align-items:center;font-size:14px;display:flex}.menu__links{flex-direction:column;flex:1;justify-content:center;gap:2px;display:flex}.menu__links a{font-family:var(--font-serif);letter-spacing:-.02em;opacity:0;transition:opacity .5s var(--ease-out), transform .7s var(--ease-out);transition-delay:calc(.18s + var(--i) * 50ms);align-items:baseline;gap:14px;font-size:clamp(44px,13vw,84px);font-style:italic;line-height:1.04;display:flex;transform:translateY(24px)}.menu.is-open .menu__links a{opacity:1;transform:none}.menu__links .mono{color:var(--fg-3);font-style:normal}.menu__bottom{justify-items:start;gap:12px;font-size:14px;display:grid}.menu__social{flex-wrap:wrap;gap:16px;display:flex}.menu__status{color:var(--fg-2);align-items:center;gap:8px;margin:0;display:flex}.stage{height:340vh}.stage__sticky{background:var(--bg);height:100svh;transition:background-color 1.3s var(--ease-in-out);position:sticky;top:0;overflow:hidden}.stage.is-dark .stage__sticky{background:#000}.stage__canvas{opacity:0;width:100%;height:100%;transition:opacity 1s var(--ease-out);position:absolute;inset:0}.stage.is-ready .stage__canvas{opacity:1}.stage__fade{background:linear-gradient(to bottom, transparent, var(--bg) 62%);opacity:0;pointer-events:none;height:52%;position:absolute;inset:auto 0 0}.stage__blurb{opacity:0;left:calc(var(--side) + var(--col));width:var(--col);letter-spacing:-.01em;margin:0;font-size:clamp(17px,1.35vw,22px);line-height:1.42;position:absolute;bottom:13vh}.stage__blurb .w{opacity:.14;transition:opacity .2s linear}.stage__obj{right:calc(var(--side) + 12px);color:var(--fg-3);opacity:0;position:absolute;bottom:22px}.hero{z-index:3;height:100svh;min-height:520px;padding-top:var(--header-h);pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0 0 auto}.hero a,.hero button{pointer-events:auto}.hero__logo{border-top:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);text-align:center;transition:border-color 1.2s var(--ease-out) .2s;flex:none;margin:0;padding:.4vh 0 0;font-weight:400;line-height:1;overflow:hidden}.hero__logo-line{letter-spacing:-.045em;transition:transform 1.3s var(--ease-out), opacity .8s var(--ease-out);align-items:baseline;padding-bottom:.2em;font-size:min(14.4vw,25vh,270px);display:inline-flex}.hero__logo-serif{font-family:var(--font-serif);letter-spacing:-.035em;padding-right:.02em;font-style:italic}.hero__logo-sans{font-family:var(--font-sans);letter-spacing:-.065em;font-weight:500}.hero__logo-line{position:relative}.hero__logo-mark{width:0;height:0}.hero__logo-canvas{pointer-events:none;display:none;position:absolute}.hero__logo.is-scan .hero__logo-canvas{display:block}.hero__logo.is-scan [data-seg]{-webkit-text-fill-color:transparent}.hero__logo.is-scan{pointer-events:auto}.logo-dot{z-index:40;aspect-ratio:1;background:var(--fg);opacity:.4;pointer-events:none;width:min(2.9vw,5vh,54px);transition:transform .3s var(--ease-out);border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)scale(0)}.logo-dot.is-on{transform:translate(-50%,-50%)scale(1)}@media (hover:hover){.hero__logo.is-scan{cursor:none}}.hero__plus{flex:none;margin:0;padding-top:14px;font-size:14px;list-style:none}.hero__plus li{transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transition-delay:var(--d);padding-left:2px}.hero__main{flex:auto;align-items:start;min-height:0;padding-block:4vh 2vh}.hero__slot{align-self:stretch;min-height:160px}.hero__side{min-width:0;transition:opacity 1s var(--ease-out), transform 1s var(--ease-out)}.hero__side--left{padding:0 24px 0 2px;transition-delay:.3s}.hero__side--right{padding-left:14px;transition-delay:.4s}.hero__hello{margin:0 0 4px;font-size:15px}.hero__study{font-family:var(--font-serif);letter-spacing:-.01em;margin:0 0 14px;font-size:clamp(24px,2.1vw,34px);font-style:italic;line-height:1.08}.hero__role{color:var(--fg-2);white-space:nowrap;text-overflow:clip;min-height:1.5em;margin:0;overflow:hidden}.hero__prompt{color:var(--fg-3)}.hero__caret{vertical-align:-2px;background:currentColor;width:7px;height:13px;margin-left:2px;animation:1s step-end infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.hero__tagline{color:var(--fg-2);max-width:30ch;margin:0 0 18px;font-size:15px;line-height:1.5}.hero__cta{flex-wrap:wrap;gap:8px;display:flex}.hero__foot{padding:0 calc(var(--side) + 2px) 24px;transition:opacity 1s var(--ease-out) .5s;flex:none;justify-content:space-between;align-items:center;gap:16px;font-size:14px;display:flex}.hero__social{gap:18px;display:flex}.hero__scroll{color:var(--fg-3);text-align:center}.hero__where{color:var(--fg-2)}.is-intro .hero__logo-line{transform:translateY(105%)}.is-intro .hero__plus li,.is-intro .hero__side,.is-intro .hero__foot{opacity:0;transform:translateY(16px)}.is-intro .hero__logo{border-color:#0000}.btn{border:1px solid var(--rule-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:40px;padding:0 16px;font-size:14px;transition:background-color .25s,color .25s,border-color .25s;display:inline-flex}.btn:hover{border-color:var(--fg)}.btn--solid{background:var(--btn);color:var(--btn-fg);border-color:var(--btn)}.btn--solid:hover{background:var(--fg);color:var(--bg)}.btn--ghost{border-color:#0000}@media (max-width:1100px){.hero__scroll{display:none}}@media (max-width:760px),(max-width:1080px) and (orientation:portrait){.stage{height:300vh}.hero__logo-line{font-size:min(19vw,20vh)}.hero__plus{padding-inline:var(--side);flex-wrap:wrap;gap:4px 14px;font-size:13px;display:flex}.hero__main{flex-direction:column;gap:12px;padding-block:3vh 14px;display:flex}.hero__side--left,.hero__side--right{padding:0 2px}.hero__slot{flex:auto;min-height:120px}.hero__tagline{display:none}.hero__study{margin-bottom:8px;font-size:26px}.hero__where{display:none}}@media (max-width:760px){.stage__blurb{left:var(--side);right:var(--side);width:auto;font-size:19px;bottom:10vh}.stage__obj{display:none}}@media (max-height:560px) and (orientation:landscape){.hero__tagline,.hero__hello{display:none}.hero__main{padding-block:2vh 8px}}.site-footer{z-index:3;padding:18px var(--side);color:#f1f1f1;background:#000;justify-content:space-between;align-items:center;gap:16px;font-size:14px;display:flex;position:relative}.site-footer__credit{color:#8a8a8a}@media (max-width:760px){.site-footer{flex-wrap:wrap}.site-footer__credit{order:3;width:100%;font-size:12px}}.toaster{z-index:120;pointer-events:none;gap:8px;width:min(360px,100vw - 40px);display:grid;position:fixed;bottom:20px;right:20px}.toast{background:var(--fg);color:var(--bg);animation:toast-in .5s var(--ease-out);padding:14px 16px}.toast__title{margin:0;font-size:14px;font-weight:500}.toast__desc{opacity:.75;margin:4px 0 0;font-size:13px}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}.konami body{animation:konami .6s var(--ease-out) 3}@keyframes konami{50%{filter:hue-rotate(160deg)saturate(2)}}
.stitle{padding:18vh var(--side) 7vh;text-align:center;position:relative}.stitle__eyebrow{color:var(--fg-3);margin:0 0 12px}.stitle__h{place-items:center;margin:0;font-weight:400;display:grid;position:relative}.stitle__outline{grid-area:1/1;font-size:clamp(58px,15.5vw,300px)}.stitle__solid{font-family:var(--font-sans);letter-spacing:-.05em;grid-area:1/1;font-size:clamp(36px,4.6vw,84px);font-weight:500;line-height:1;position:relative}.skills{padding-bottom:14vh}.skills__intro{align-items:start;margin-bottom:9vh}.skills__intro .label{margin:4px 0 0;padding-left:2px}.skills__lead,.pricing__lead{letter-spacing:-.015em;grid-column:2/4;max-width:38ch;margin:0;font-size:clamp(20px,1.75vw,28px);line-height:1.3}.skills__row{border-top:1px solid var(--rule);align-items:start;padding-block:34px 38px;position:relative}.skills__row:last-child{border-bottom:1px solid var(--rule)}.skills__head{padding-left:2px;padding-right:32px}.skills__cat{align-items:baseline;gap:10px;margin:0;display:flex}.skills__num{color:var(--fg-3)}.skills__cat-name{font-family:var(--font-serif);letter-spacing:-.015em;font-size:clamp(30px,2.6vw,44px);font-style:italic;line-height:1}.skills__count{color:var(--fg-3);margin:10px 0 0}.skills__desc{gap:2px;max-width:34ch;min-height:4.6em;margin-top:18px;font-size:14px;line-height:1.5;display:grid}.skills__desc-name{font-weight:500}.skills__list{flex-wrap:wrap;grid-column:2/4;gap:6px 30px;margin:0;padding:0 0 0 14px;list-style:none;display:flex}.skill{font-family:var(--font-sans);letter-spacing:-.04em;color:var(--fg);align-items:center;gap:12px;padding:6px 0;font-size:clamp(24px,2.35vw,40px);font-weight:500;line-height:1.1;transition:color .25s,opacity .25s;display:inline-flex}.skill__icon{opacity:.85;width:.62em;height:.62em;transition:transform .4s var(--ease-out);flex:none}.skills__list:hover .skill:not(:hover):not(.is-active){color:var(--fg-3)}.skills__list:has(.is-active) .skill:not(.is-active){color:var(--fg-3)}.skill:hover .skill__icon,.skill.is-active .skill__icon{transform:rotate(-8deg)scale(1.1)}.skill.is-active span{text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px}@media (max-width:760px){.skills__lead,.pricing__lead{grid-column:1;margin-top:10px}.skills__list{grid-column:1;gap:2px 20px;padding:14px 0 0}.skill{font-size:26px}.skills__desc{min-height:0;margin-top:10px}}.inv{background:var(--inv-bg);color:var(--inv-fg);--outline:var(--inv-outline);--rule:var(--inv-rule);--fg-2:var(--inv-fg-2);--fg-3:var(--inv-fg-2)}.inv .muted{color:var(--inv-fg-2)}.projects{padding-bottom:20vh}.projects .stitle{padding-top:14vh}.projects__bar{align-items:baseline;margin-bottom:4vh;font-size:15px}.projects__filter,.projects__view{flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding-left:2px;display:flex}.projects__view{justify-self:end;padding-right:2px}.projects__sub{max-width:34ch;margin:0;padding-left:14px;font-size:14px}.projects__chip{color:var(--inv-fg-2);transition:color .2s}.projects__chip:hover,.projects__chip.is-on{color:var(--inv-fg)}.projects__chip sup{margin-left:2px;font-size:10px}.projects__note{animation:fade-in .6s var(--ease-out);margin:0 0 4vh;font-size:14px}.projects__note .mono{color:var(--inv-fg-2);padding-left:2px}.projects__note span:last-child{grid-column:2/4;max-width:62ch;padding-left:14px}@keyframes fade-in{0%{opacity:0}}.pgrid{padding:6vh var(--side) 0;grid-template-columns:repeat(6,minmax(0,1fr));gap:10vh 0;margin:0;list-style:none;display:grid}.pgrid__item{padding-inline:14px}.pgrid__item--0{grid-column:2/span 3}.pgrid__item--1{grid-column:5/span 2;margin-top:18vh}.pgrid__item--2{grid-column:1/span 2;margin-top:-2vh}.pgrid__item--3{grid-column:3/span 3;margin-top:12vh}.pgrid__item--4{grid-column:1/span 3;margin-top:2vh}.pgrid__item--5{grid-column:4/span 2;margin-top:22vh}.pcard{text-align:left;cursor:none;width:100%;display:block}.pcard__media{aspect-ratio:16/10.5;background:#1a1a1a;display:block;overflow:hidden}.pgrid__item--2 .pcard__media{aspect-ratio:4/4.6}.pgrid__item--5 .pcard__media{aspect-ratio:1}.pcard__media img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform 1.2s var(--ease-out), filter .6s;filter:saturate(.92);transform:scale(1.01)}.pcard:hover .pcard__media img,.pcard:focus-visible .pcard__media img{filter:saturate(1.05);transform:scale(1.05)}.pcard__cap{gap:2px;padding-top:12px;font-size:15px;display:grid}.pcard__title{font-weight:500}.pcard__cat{margin-left:10px;font-weight:400}.pcard__lead{color:var(--inv-fg-2);max-width:48ch}.pcard__group{color:var(--inv-fg-2);margin-top:6px}.pcursor{z-index:40;background:var(--inv-fg);width:78px;height:78px;color:var(--inv-bg);pointer-events:none;transition:scale .35s var(--ease-out);border-radius:50%;place-items:center;margin:-39px 0 0 -39px;font-size:13px;display:grid;position:fixed;top:0;left:0;scale:0}.pcursor.is-on{scale:1}@media (hover:none){.pcursor{display:none}.pcard{cursor:pointer}}.plist{margin:4vh 0 0;list-style:none;display:block}.plist li{border-top:1px solid var(--inv-rule)}.plist li:last-child{border-bottom:1px solid var(--inv-rule)}.plist__row{text-align:left;width:100%;transition:padding .4s var(--ease-out), color .2s;grid-template-columns:54px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.3fr) 110px;align-items:baseline;gap:16px;padding:20px 2px;font-size:15px;display:grid}.plist__row:hover{padding-left:14px}.plist__title{letter-spacing:-.03em;font-size:clamp(20px,1.8vw,28px);font-weight:500}.plist__n,.plist__group{color:var(--inv-fg-2)}.plist__group{justify-self:end}.ppreview{z-index:30;aspect-ratio:16/10;pointer-events:none;opacity:0;width:300px;transition:opacity .25s;position:fixed;top:0;left:0;overflow:hidden}.ppreview.is-on{opacity:1}.ppreview img{object-fit:cover;object-position:top;width:100%;height:100%}@media (max-width:960px){.projects__bar{grid-template-columns:1fr;gap:12px}.projects__view{justify-self:start}.projects__sub{padding-left:2px}.projects__note span:last-child{grid-column:1;margin-top:6px;padding-left:2px}.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:7vh}.pgrid__item{padding-inline:8px;grid-column:auto/span 1!important;margin-top:0!important}.pgrid__item:nth-child(3n+1){grid-column:1/span 2!important}.plist__row{grid-template-columns:36px minmax(0,1fr) auto}.plist__cat,.plist__stack,.ppreview{display:none}}@media (max-width:560px){.pgrid{grid-template-columns:1fr}.pgrid__item{grid-column:1!important}.pgrid__item .pcard__media{aspect-ratio:16/10.5!important}}.pdialog{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .45s var(--ease-out);background:#000000b8;position:fixed;inset:0}.pdialog.is-open{opacity:1;pointer-events:auto}.pdialog__panel{overscroll-behavior:contain;background:var(--bg);color:var(--fg);transition:transform .8s var(--ease-out);position:absolute;inset:3vh 0 0;overflow-y:auto;transform:translateY(100%)}.pdialog.is-open .pdialog__panel{transform:none}.pdialog__top{z-index:2;padding:16px var(--side);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;font-size:14px;display:flex;position:sticky;top:0}.pdialog__steps{gap:16px;display:flex}.pdialog__head{padding:8vh var(--side) 5vh;gap:14px;display:grid}.pdialog__group{color:var(--fg-3);margin:0}.pdialog__title{font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:clamp(54px,8.5vw,150px);font-style:italic;font-weight:400;line-height:.9}.pdialog__lead{letter-spacing:-.015em;max-width:44ch;margin:6px 0 0;font-size:clamp(19px,1.6vw,26px);line-height:1.32}.pdialog__links{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.pdialog__body{grid-template-columns:var(--col) minmax(0, 1fr);padding:7vh var(--side) 14vh;border-top:1px solid var(--rule);display:grid}.pdialog__stack{align-content:start;gap:26px;padding-right:32px;font-size:15px;display:grid}.pdialog__stack p{margin:0 0 8px}.pdialog__stack ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.pdialog__note{border:1px solid var(--rule-strong);color:var(--fg-2);margin:0;padding:14px 16px;font-size:14px}.pdialog__content{max-width:68ch;color:var(--fg);font-size:16.5px;line-height:1.62}.pdialog__content .pd-lead{display:none}.pdialog__content p{color:var(--fg-2);margin:0 0 16px}.pdialog__content h3{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--fg);margin:42px 0 14px;font-size:clamp(28px,2.4vw,38px);font-style:italic;font-weight:400;line-height:1.05}.pdialog__content ul{color:var(--fg-2);gap:10px;margin:0 0 16px;padding-left:20px;display:grid}.pdialog__content strong{color:var(--fg);font-weight:500}.pdialog__content code{font-family:var(--font-mono);background:var(--bg-2);padding:1px 5px;font-size:.86em}@media (max-width:760px){.pdialog__body{grid-template-columns:1fr;gap:36px}.pdialog__steps{gap:10px}}.gallery{padding:0 0 4vh}.gallery__bar{padding:0 var(--side) 14px;justify-content:space-between;align-items:baseline;font-size:14px;display:flex}.gallery__bar p{color:var(--fg-3);margin:0}.gallery__tools{gap:16px;display:flex}.gallery__rail{padding:4px var(--side) 18px;scroll-snap-type:x mandatory;scroll-padding-inline:var(--side);scrollbar-width:thin;gap:22px;display:flex;overflow-x:auto}.shot{scroll-snap-align:start;flex:none;margin:0}.gallery__rail--desktop .shot{width:min(760px,74vw)}.gallery__rail--mobile .shot{width:min(270px,62vw)}.shot__frame{border:1px solid var(--rule-strong);background:var(--field);cursor:zoom-in;width:100%;display:block;overflow:hidden}.shot__frame--phone{border:7px solid #111;border-radius:30px}.shot__chrome{border-bottom:1px solid var(--rule);background:var(--bg-2);align-items:center;gap:6px;height:30px;padding:0 12px;display:flex}.shot__chrome i{background:var(--rule-strong);border-radius:50%;width:9px;height:9px}.shot__url{font-family:var(--font-mono);color:var(--fg-3);white-space:nowrap;text-overflow:ellipsis;margin-left:10px;font-size:11px;overflow:hidden}.shot__frame img{width:100%;height:auto}.shot figcaption{color:var(--fg-2);margin-top:10px;font-size:14px}.shot figcaption .mono{color:var(--fg-3);margin-right:6px}.lightbox{z-index:110;background:#080808f0;place-items:center;padding:4vh 4vw 84px;animation:.3s fade-in;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 140px)}.lightbox__bar{color:#eee;flex-wrap:wrap;justify-content:center;gap:24px;font-size:14px;display:flex;position:absolute;bottom:22px;left:0;right:0}.circle-reveal{z-index:2;height:140vh;margin-top:-1px;position:relative}.circle-reveal--in{height:170vh;margin-bottom:-1px}.circle-reveal__sticky{height:100vh;position:sticky;top:0;overflow:hidden}.circle-reveal__dot{background:var(--inv-bg);will-change:transform;border-radius:50%;width:160vmax;height:160vmax;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.about{margin-top:-60vh;padding-bottom:14vh}.about__hero{padding-top:6vh;position:relative}.about__word{text-align:center;margin:0 auto;font-size:clamp(62px,17vw,330px);font-weight:400}.about__intro{align-items:start;margin-top:-5vw;position:relative}.about__photo{margin:0 14px 0 calc(var(--col) * .27);aspect-ratio:4/5;border:1px solid var(--rule-strong);background:linear-gradient(var(--rule) 1px, transparent 1px) 0 0 / 14px 14px, linear-gradient(90deg, var(--rule) 1px, transparent 1px) 0 0 / 14px 14px, var(--bg-2);place-items:center;display:grid;position:relative;container-type:inline-size}.about__photo img{object-fit:cover;filter:grayscale();width:100%;height:100%;position:absolute;inset:0}.about__mono{font-family:var(--font-serif);letter-spacing:-.05em;font-size:42cqw;font-style:italic;line-height:1}.about__photo figcaption{color:var(--fg-3);position:absolute;bottom:-26px;left:0}.objtag{z-index:2;background:var(--bg-2);border:1px solid var(--rule-strong);color:var(--fg-2);padding:2px 6px;font-size:10.5px;position:absolute;top:-1px;left:-1px}.about__text{grid-column:2/4;max-width:62ch;padding:0 14px}.about__kicker{color:var(--fg-3);margin:0 0 12px}.about__lede{letter-spacing:-.025em;margin:0 0 22px;font-size:clamp(24px,2.2vw,36px);line-height:1.18}.about__p{color:var(--fg-2);text-indent:calc(var(--col) * .3);margin:0 0 14px;font-size:17px;line-height:1.6}.about__p+.about__p{text-indent:0}.about__cv{margin-top:12px;font-size:15px;display:inline-block}.about__stats{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));margin:14vh 0 0}.about__stat{padding:22px 14px 26px}.about__stat+.about__stat{border-left:1px solid var(--rule)}.about__stat dt{margin-bottom:12px}.about__stat dd{margin:0}.about__stat-n{letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-size:clamp(48px,5.6vw,104px);font-weight:500;line-height:1}.about__focus{margin:0;padding-top:7vh;list-style:none}.about__focus li{padding:0 28px 0 14px}.about__focus li:first-child{padding-left:2px}.about__focus h3{font-family:var(--font-serif);margin:10px 0;font-size:clamp(30px,2.6vw,44px);font-style:italic;font-weight:400;line-height:1}.about__focus p{color:var(--fg-2);max-width:36ch;margin:0;font-size:15.5px}.path{padding-top:18vh}.path__head{align-items:baseline;margin-bottom:6vh}.path__head .mono{color:var(--fg-3);padding-left:2px}.path__title{font-family:var(--font-sans);letter-spacing:-.055em;grid-column:2/4;margin:0;padding-left:14px;font-size:clamp(40px,5vw,92px);font-weight:500;line-height:.95}.path__title em{font-family:var(--font-serif);letter-spacing:-.02em;font-weight:400}.path__sub{grid-column:2/4;margin:14px 0 0;padding-left:14px;font-size:15px}.path__list{margin:0;padding:0;list-style:none}.path__item{border-top:1px solid var(--rule);align-items:start;padding-block:36px 40px}.path__item:last-child{border-bottom:1px solid var(--rule)}.path__when{padding-left:2px}.path__when .mono{color:var(--fg-2);margin:0}.path__kind{color:var(--fg-3);align-items:center;gap:8px;margin:8px 0 0;font-size:14px;display:flex}.path__dot{background:var(--fg);width:8px;height:8px;box-shadow:0 0 0 0 var(--fg);animation:pulse 2s var(--ease-out) infinite;border-radius:50%}@keyframes pulse{70%{box-shadow:0 0 0 8px #0000}}.path__what{grid-column:2/4;max-width:70ch;padding-left:14px}.path__what h4{font-family:var(--font-serif);letter-spacing:-.015em;margin:0;font-size:clamp(30px,2.8vw,48px);font-style:italic;font-weight:400;line-height:1.02}.path__org{margin:6px 0 14px;font-size:15px}.path__desc{color:var(--fg-2);gap:6px;margin:0;padding-left:18px;font-size:15.5px;display:grid}.path__skills{color:var(--fg-3);margin:16px 0 0}@media (max-width:760px){.about{margin-top:-50vh}.about__intro{gap:40px;margin-top:4vh}.about__photo{width:70%;margin:0}.about__text,.path__what,.path__title,.path__sub{grid-column:1;padding-left:2px;padding-right:2px}.about__p{text-indent:0}.about__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.about__stat:nth-child(3){border-left:0;border-top:1px solid var(--rule)}.about__stat:nth-child(4){border-top:1px solid var(--rule)}.about__focus{gap:30px}.about__focus li{padding:0 2px}.path__what{margin-top:12px}}.pricing{padding-bottom:12vh}.pricing__intro{align-items:start;margin-bottom:8vh}.pricing__intro .label{margin:4px 0 0;padding-left:2px}.plans{margin:0;padding:0;list-style:none}.plan,.care{border-top:1px solid var(--rule);align-items:start;padding-block:32px 34px}.plan__name{align-content:start;gap:6px;padding-left:2px;display:grid}.plan__name h3,.care__name h3{font-family:var(--font-serif);letter-spacing:-.015em;margin:0;font-size:clamp(32px,2.8vw,48px);font-style:italic;font-weight:400;line-height:1}.plan__tag{background:var(--fg);color:var(--bg);text-transform:uppercase;letter-spacing:.08em;justify-self:start;margin-top:6px;padding:3px 8px;font-size:10.5px}.plan__what,.care__what{padding-inline:14px 32px;font-size:15.5px}.plan__what p,.care__what p{color:var(--fg-2);max-width:44ch;margin:0 0 12px}.plan__what ul,.care__what ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.plan__what li:before,.care__what li:before{content:"+";color:var(--fg-3);margin-right:8px}.plan__price{text-align:right;align-content:start;justify-items:end;gap:10px;padding-right:2px;font-size:15px;display:grid}.plan__price p{margin:0}.plan__price strong{letter-spacing:-.055em;font-size:clamp(40px,4vw,72px);font-weight:500;line-height:1}.care{border:1px solid var(--rule-strong);margin-top:6vh;margin-inline:var(--side);padding-inline:0;grid-template-columns:repeat(3,minmax(0,1fr));padding:34px 0;display:grid}.care__name{align-content:start;gap:6px;padding-left:18px;display:grid}.care__foot{font-size:13px;margin-top:14px!important}.care .plan__price{padding-right:18px}.care__nohidden{font-size:14px}@media (max-width:760px){.plan,.care{gap:16px}.plan__what,.care__what{padding-inline:2px}.plan__price{text-align:left;justify-items:start;padding-left:2px}.care{grid-template-columns:1fr;padding-inline:16px}.care__name,.care .plan__price{padding-inline:0}}.contact{padding:16vh 0 10vh;position:relative;overflow:hidden}.contact__grid{z-index:2;align-items:start;position:relative}.contact__say{padding:2vh 40px 0 14px}.contact__line{margin:0 0 30px;font-size:17px;line-height:1.35}.contact__kicker{color:var(--fg-3);margin:0 0 8px}.contact__text{max-width:32ch;margin:0 0 18px;font-size:15px}.contact__mail{font-size:16px}.contact__facts{gap:6px;margin:26px 0 0;font-size:14px;display:grid}.contact__facts div{grid-template-columns:90px 1fr;display:grid}.contact__facts dd{margin:0}.contact__form{grid-column:2/4;width:100%;max-width:680px;padding:0 2px 0 14px}.cform{gap:16px;padding:18px 12px 16px;display:grid;position:relative}.cform__mark{color:var(--fg-2);font-size:15px;line-height:1;position:absolute}.cform__mark--tl{top:-8px;left:-6px}.cform__mark--tr{top:-8px;right:-6px}.cform__mark--bl{bottom:-8px;left:-6px}.cform__mark--br{bottom:-8px;right:-6px}.cform__title{margin:0;font-size:17px;font-weight:500}.cform__hint{margin:-10px 0 4px;font-size:14px}.cform__hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.cform__row{gap:6px;display:grid}.cform label{font-size:15px}.cform input,.cform select,.cform textarea{background:var(--field);border:1px solid #0000;border-radius:0;outline:none;width:100%;padding:10px 12px;font-size:15px;transition:border-color .2s}.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--fg-2)}.cform [aria-invalid=true]{border-color:#c0392b}.cform__msg{position:relative}.cform textarea{resize:vertical;min-height:130px;padding-bottom:46px;display:block}.cform__send{background:var(--btn);height:36px;color:var(--btn-fg);padding:0 14px;font-size:14px;position:absolute;bottom:0;right:0}.cform__send:disabled{opacity:.6}.cform__err{color:#c0392b;margin:0;font-size:13px}.cform__privacy{margin:2px 0 0;font-size:13px}.cform__alert,.cform__ok{border:1px solid var(--rule-strong);margin:0;padding:10px 12px;font-size:14px}.cform__alert{color:#c0392b;border-color:#c0392b}.contact__call{gap:8px;margin-top:26px;padding-inline:12px;display:grid}.contact__call .label{margin:0;font-size:15px}.contact__book .paren{white-space:normal}.contact__book{background:var(--btn);min-height:40px;color:var(--btn-fg);text-align:center;place-items:center;padding:8px 14px;font-size:14px;transition:background-color .25s;display:grid}.contact__book:hover{background:var(--fg);color:var(--bg)}.contact__word{z-index:1;margin:4vh var(--side) 0;text-align:center;font-size:clamp(56px,16.6vw,330px);line-height:.95;position:relative}.contact__social{z-index:2;align-items:baseline;margin-top:4vh;font-size:15px;position:relative}.contact__social .label{margin:0;padding-left:2px}.contact__social ul{flex-wrap:wrap;grid-column:2/4;gap:10px 40px;margin:0;padding-left:14px;list-style:none;display:flex}@media (max-width:960px){.contact__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact__say{padding:0 20px 0 2px}.contact__form{grid-column:1/3;max-width:none;margin-top:6vh;padding:0}}@media (max-width:760px){.contact__grid{grid-template-columns:minmax(0,1fr)}.contact__say{padding:0 2px}.contact__form{grid-column:1}.contact__social ul{flex-direction:column;grid-column:1;margin-top:10px;padding-left:2px}}.notfound{z-index:2;min-height:100vh;padding:18vh var(--side) 10vh;text-align:center;align-content:center;place-items:center;gap:22px;display:grid;position:relative}.notfound__word{font-size:clamp(140px,30vw,520px)}.notfound__text{margin:-4vw 0 0;font-size:18px}.ccount{display:none}@media (max-width:760px){.pgrid,.plans{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--side);padding-inline:var(--side);scrollbar-width:none;gap:12px;display:flex;overflow-x:auto}.pgrid::-webkit-scrollbar{display:none}.plans::-webkit-scrollbar{display:none}.pgrid{padding-block:4vh 4px}.pgrid__item{scroll-snap-align:start;flex:0 0 84%;padding-inline:0}.pgrid__item .pcard__media{aspect-ratio:4/4.4!important}.plans{padding-block:8px 4px}.plan{scroll-snap-align:start;border:1px solid var(--rule-strong);flex-direction:column;flex:0 0 86%;padding:22px 18px 24px;display:flex}.plan .plan__price{margin-top:auto;padding-top:8px}.ccount{padding-inline:var(--side);color:var(--fg-3);align-items:center;gap:14px;margin:16px 0 0;font-size:12px;display:flex}.inv .ccount{color:var(--inv-fg-2)}.ccount__bar{background:color-mix(in srgb, currentColor 25%, transparent);flex:1;height:1px;position:relative}.ccount__bar i{transition:width .3s var(--ease-out);background:currentColor;position:absolute;inset:0 auto 0 0}.pdialog__panel{inset:0}}
