@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/jost-cyrillic-wght-normal-CjwCQKo9.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/jost-latin-ext-wght-normal-BDUtSsKd.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:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/jost-latin-wght-normal-ObQm3Zd1.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(/assets/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(/assets/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(/assets/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(/assets/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(/assets/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(/assets/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,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#0a0a0a;--ground-2:#131313;--text:#f4f4f4;--text-2:#b3b3b3;--text-3:#8f8f8f;--line:#f4f4f41f;--glass-bg:#1e1e1e6b;--glass-bg-strong:#1e1e1ea8;--glass-edge:#ffffff24;--glass-top:#ffffff38;--glass-spec:#ffffff12;--glass-shadow:0 30px 70px -30px #000c, 0 2px 10px -4px #00000080;--tint:.16;--btn-bg:#f4f4f4;--btn-text:#0a0a0a;--btn-hover:#fff;--wm-soft:#a3a3a3;--c-codeboros:#ececec;--c-codeboros-hi:#fff;--c-codeboros-ink:#d4d4d4;--c-openmixing:#a8a8a8;--c-openmixing-hi:#e2e2e2;--c-openmixing-ink:#c2c2c2;--c-openhouse:#737373;--c-openhouse-hi:#b8b8b8;--c-openhouse-ink:#a3a3a3;--field-opacity:.9}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#f2f2f2;--ground-2:#e7e7e7;--text:#0a0a0a;--text-2:#444;--text-3:#5e5e5e;--line:#0a0a0a1f;--glass-bg:#ffffff75;--glass-bg-strong:#ffffffb3;--glass-edge:#fffc;--glass-top:#fffffff2;--glass-spec:#ffffff80;--glass-shadow:0 30px 70px -34px #00000061, 0 2px 10px -4px #00000024;--tint:.1;--btn-bg:#0a0a0a;--btn-text:#f4f4f4;--btn-hover:#2a2a2a;--wm-soft:#686868;--c-codeboros:#121212;--c-codeboros-hi:#555;--c-codeboros-ink:#1f1f1f;--c-openmixing:#5c5c5c;--c-openmixing-hi:#a3a3a3;--c-openmixing-ink:#333;--c-openhouse:#8c8c8c;--c-openhouse-hi:#c8c8c8;--c-openhouse-ink:#4d4d4d;--field-opacity:.82}:root{--font:"Jost Variable", "Jost", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--r-pane:28px;--r-ctl:999px;--gutter:clamp(20px, 5vw, 72px);--max:1240px;--blur:26px}*,:before,:after{box-sizing:border-box}html{background:var(--ground);scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-color:color-mix(in srgb, var(--text) 22%, transparent) transparent;scroll-padding-top:96px;overflow-x:clip}body{min-width:320px;font-family:var(--font);color:var(--text);background:var(--ground);caret-color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color .5s var(--ease-out), color .5s var(--ease-out);margin:0;font-size:1.0625rem;font-weight:400;line-height:1.6;overflow-x:clip}::selection{background:var(--text);color:var(--ground)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text) 20%, transparent);border:3px solid var(--ground);border-radius:99px}h1,h2,h3,p,ul,dl,dd,figure{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}button{font:inherit;color:inherit;cursor:pointer}code,kbd{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.86em}:focus-visible{outline:2px solid var(--text);outline-offset:3px;border-radius:6px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip{z-index:100;border-radius:var(--r-ctl);background:var(--btn-bg);color:var(--btn-text);transition:translate .3s var(--ease-out);padding:10px 18px;text-decoration:none;position:fixed;top:16px;left:16px;translate:0 -200%}.skip:focus-visible{translate:0}html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:none!important}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.glass{background:var(--glass-bg);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow), inset 0 1px 0 var(--glass-top);-webkit-backdrop-filter:blur(var(--blur)) saturate(165%);position:relative}.glass:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(460px circle at var(--mx,22%) var(--my,-10%), var(--glass-spec), transparent 62%);transition:opacity .4s var(--ease-out);position:absolute;inset:0}.icon{flex:none;width:18px;height:18px}.actions{flex-wrap:wrap;gap:12px;display:flex}.btn{border-radius:var(--r-ctl);white-space:nowrap;min-height:48px;transition:background-color .25s var(--ease-out), border-color .25s var(--ease-out), translate .25s var(--ease-out), box-shadow .25s var(--ease-out);border:1px solid #0000;align-items:center;gap:10px;padding:0 22px;font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.btn .icon{transition:translate .35s var(--ease-out)}.btn:hover .icon{translate:3px}.btn-primary{background:var(--btn-bg);color:var(--btn-text);box-shadow:0 10px 24px -14px #0009}.btn-primary:hover{background:var(--btn-hover);translate:0 -1px;box-shadow:0 16px 30px -16px #000000a6}.btn:active{transition-duration:90ms;translate:0;scale:.98}.btn-glass{background:var(--glass-bg);border-color:var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-top);-webkit-backdrop-filter:blur(14px)saturate(150%)}.btn-glass:hover{background:var(--glass-bg-strong)}.topbar{z-index:50;padding:0 var(--gutter);pointer-events:none;position:fixed;top:14px;left:0;right:0}.topbar-inner{pointer-events:auto;max-width:var(--max);border-radius:var(--r-ctl);--blur:20px;min-height:58px;transition:background-color .4s var(--ease-out);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:8px 8px 8px 20px;display:flex}.topbar.is-scrolled .topbar-inner{background:var(--glass-bg-strong)}.brand{letter-spacing:-.02em;align-items:center;gap:12px;font-size:1.16rem;font-weight:600;text-decoration:none;display:inline-flex}.logo{width:auto;height:22px;display:block;overflow:visible}.logo-c,.logo-l{stroke-dasharray:100;animation:logo-draw 1s var(--ease-out) .2s backwards}.logo-l{animation-delay:.8s}@keyframes logo-draw{0%{stroke-dashoffset:100px;opacity:0}8%{opacity:1}}.brand:hover .logo-stem{animation:stem-drop .7s var(--ease-out)}@keyframes stem-drop{35%{translate:0 6px}}.wordmark{display:inline-flex}.wm-coura{color:var(--wm-soft);font-weight:500}.wm-labs{color:var(--text)}.nav-links{gap:2px;display:flex}.nav-links a{border-radius:var(--r-ctl);color:var(--text-2);transition:color .2s var(--ease-out), background-color .2s var(--ease-out);padding:8px 16px;font-size:.98rem;font-weight:500;text-decoration:none;display:block}.nav-links a:hover{color:var(--text);background:var(--line)}.nav-tools{gap:6px;display:flex}.tool{border:1px solid var(--line);letter-spacing:.02em;width:42px;height:42px;transition:background-color .2s var(--ease-out), scale .2s var(--ease-out);background:0 0;border-radius:50%;place-items:center;font-size:.85rem;font-weight:600;display:grid}.tool:hover{background:var(--line)}.tool:active{scale:.92}.tool:active .icon{rotate:45deg}.hero{isolation:isolate;min-height:100svh;padding:112px var(--gutter) 96px;align-items:center;display:grid;position:relative;overflow:clip}.hero-pane{width:min(700px,100%);margin-left:max(0px, calc((100vw - var(--max)) / 2 - var(--gutter)));border-radius:var(--r-pane);animation:pane-in 1.3s var(--ease-out) .12s backwards;padding:clamp(28px,4vw,52px)}@keyframes pane-in{0%{opacity:0;-webkit-backdrop-filter:blur()saturate();translate:0 18px}}.hero h1{letter-spacing:-.035em;text-wrap:balance;max-width:12.5ch;font-size:clamp(2.6rem,5.4vw,4.9rem);font-weight:500;line-height:1.02}.word{animation:word-in 1s var(--ease-out) calc(.32s + var(--i) * 80ms) backwards;display:inline-block}@keyframes word-in{0%{opacity:0;filter:blur(10px);translate:0 .32em}}.hero-sub{animation:rise-in .9s var(--ease-out) .7s backwards;max-width:46ch;color:var(--text-2);text-wrap:pretty;margin-top:22px;font-size:1.125rem}.index{border-top:1px solid var(--line);margin-top:36px}.index li{animation:rise-in .9s var(--ease-out) backwards}.index li:first-child{animation-delay:.82s}.index li:nth-child(2){animation-delay:.9s}.index li:nth-child(3){animation-delay:.98s}@keyframes rise-in{0%{opacity:0;translate:0 12px}}.index-row{border-bottom:1px solid var(--line);transition:background-color .3s var(--ease-out);border-radius:14px;grid-template-columns:26px auto minmax(0,1fr) auto 18px;align-items:center;gap:14px;margin:0 -10px;padding:14px 10px;text-decoration:none;display:grid}.index li:last-child .index-row{border-bottom-color:#0000}.index-row:hover,.index-row:focus-visible{background:color-mix(in srgb, var(--c) 9%, transparent)}.index-glyph{width:24px;height:24px;transition:rotate .7s var(--ease-out), scale .5s var(--ease-out)}.index-row:hover .index-glyph,.index-row:focus-visible .index-glyph{rotate:90deg;scale:1.12}.index-name{letter-spacing:-.01em;font-size:1.18rem;font-weight:500}.index-kind{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:.98rem;overflow:hidden}.index-badge{color:var(--ci);white-space:nowrap;font-size:.9rem;font-weight:500}.index-arrow{color:var(--text-3);transition:translate .4s var(--ease-out), color .3s var(--ease-out)}.index-row:hover .index-arrow,.index-row:focus-visible .index-arrow{color:var(--text);translate:4px}.hero .actions{animation:rise-in .9s var(--ease-out) 1.08s backwards;margin-top:32px}.field{z-index:-1;opacity:var(--field-opacity);position:absolute;inset:0}.field-shape{width:var(--s);aspect-ratio:1;transform:translate(calc(var(--x) - 50%), calc(var(--y) - 50%)) scale(var(--k,1));transition:transform 1.4s var(--ease-out), opacity .9s var(--ease-out);animation:shape-in 1.8s var(--ease-out) backwards;position:absolute;top:0;left:0}.field-shape svg{width:100%;height:100%;display:block;overflow:visible}.field-codeboros{--x:70vw;--y:32svh;--s:min(46vw, 660px)}.field-openmixing{--x:max(7.5vw, 104px);--y:76svh;--s:min(19vw, 270px);animation-delay:.16s}.field-openhouse{--x:max(56vw, 760px);--y:74svh;--s:min(15vw, 220px);animation-delay:.32s}.hero[data-focus=codeboros] .field-codeboros,.hero[data-focus=openmixing] .field-openmixing,.hero[data-focus=openhouse] .field-openhouse{--x:max(30vw, 380px);--y:56svh;--k:.9}.hero[data-focus=openhouse] .field-openhouse{--k:1.7}.hero[data-focus=openmixing] .field-openmixing{--k:1.25}.hero[data-focus]:not([data-focus=codeboros]) .field-codeboros,.hero[data-focus]:not([data-focus=openmixing]) .field-openmixing,.hero[data-focus]:not([data-focus=openhouse]) .field-openhouse{opacity:.32;--k:.92}@keyframes shape-in{0%{opacity:0;scale:.7}}.field-codeboros .field-drift,.contact-codeboros .field-drift{animation:spin 90s linear infinite, float-a 22s var(--ease-in-out) infinite alternate}.field-openmixing .field-drift,.contact-openmixing .field-drift{animation:float-b 26s var(--ease-in-out) infinite alternate}.field-openhouse .field-drift,.contact-openhouse .field-drift{animation:float-c 19s var(--ease-in-out) infinite alternate}@keyframes spin{to{rotate:360deg}}@keyframes float-a{to{translate:-3% 4%}}@keyframes float-b{0%{rotate:-8deg}to{translate:-6% -5%;rotate:14deg}}@keyframes float-c{0%{rotate:-6deg}to{translate:5% 7%;rotate:8deg}}.section{max-width:var(--max);padding:clamp(104px, 13vw, 176px) var(--gutter) 0;margin:0 auto}.section-head{max-width:640px;margin-bottom:clamp(36px,5vw,56px)}.section-head h2{letter-spacing:-.032em;font-size:clamp(2.3rem,4.2vw,3.6rem);font-weight:500;line-height:1.05}.section-head p{max-width:52ch;color:var(--text-2);text-wrap:pretty;margin-top:16px;font-size:1.125rem}.projects-body{grid-template-columns:minmax(260px,.78fr) minmax(0,1.6fr);align-items:start;gap:clamp(24px,4vw,64px);display:grid}.tabs{flex-direction:column;gap:6px;display:flex;position:sticky;top:108px}.tab{text-align:left;width:100%;transition:background-color .4s var(--ease-out), border-color .4s var(--ease-out), box-shadow .4s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:22px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 18px 18px 20px;display:grid}.tab:hover{background:color-mix(in srgb, var(--text) 4%, transparent)}.tab[aria-selected=true]{background:var(--glass-bg-strong);border-color:var(--glass-edge);box-shadow:0 18px 40px -26px #0000008c, inset 0 1px 0 var(--glass-top)}.tab-glyph{opacity:.5;width:32px;height:32px;transition:opacity .5s var(--ease-out), rotate .9s var(--ease-out)}.tab:hover .tab-glyph{opacity:.8}.tab[aria-selected=true] .tab-glyph{opacity:1;rotate:90deg}.tab[aria-selected=true] .tab-glyph[data-shape=openhouse],.index-row .index-glyph[data-shape=openhouse],.index-row:hover .index-glyph[data-shape=openhouse]{rotate:none}.tab-text{gap:2px;display:grid}.tab-name{letter-spacing:-.015em;font-size:1.3rem;font-weight:500;line-height:1.25}.tab-kind{text-wrap:balance;color:var(--text-2);font-size:.94rem;line-height:1.35}.tab-key{border:1px solid var(--line);min-width:26px;color:var(--text-2);text-align:center;border-radius:7px;padding:2px 7px;font-size:.86rem}.stage{isolation:isolate;padding-top:clamp(84px,11vw,150px);scroll-margin-top:96px;position:relative}.stage-shapes{z-index:-1;aspect-ratio:1;width:min(54%,420px);position:absolute;top:0;right:clamp(-40px,-3vw,0px)}.stage-shape{opacity:0;transition:opacity .7s var(--ease-out), scale 1.2s var(--ease-out), rotate 1.4s var(--ease-out);position:absolute;inset:0;rotate:-40deg;scale:.55}.stage-shape.is-active{opacity:1;rotate:0deg;scale:1}.stage-shape svg{width:100%;height:100%;display:block;overflow:visible}.stage-codeboros svg{rotate:168deg}.panel{border-radius:var(--r-pane);background:linear-gradient(155deg, color-mix(in srgb, var(--c) 12%, transparent), transparent 58%), var(--glass-bg);transition:background .6s var(--ease-out);padding:clamp(28px,4vw,52px);scroll-margin-top:96px}.panel-body{animation:content-in .7s var(--ease-out) backwards}@keyframes content-in{0%{opacity:0;filter:blur(5px);translate:0 10px}}.panel-head h3{letter-spacing:-.032em;font-size:clamp(2.1rem,3.6vw,3rem);font-weight:500;line-height:1.05}.panel-kind{color:var(--text-2);margin-top:8px;font-size:1.15rem}.status{border-radius:var(--r-ctl);border:1px solid var(--line);align-items:center;gap:10px;margin-top:20px;padding:6px 14px 6px 12px;font-size:.94rem;font-weight:500;display:inline-flex}.status-dot{background:var(--c);border-radius:50%;width:8px;height:8px;position:relative}.status-dot:after{content:"";border:1.5px solid var(--c);animation:ping 2.6s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}@keyframes ping{0%{opacity:.9;scale:1}to{opacity:0;scale:2.8}}.lines{gap:12px;max-width:62ch;margin-top:30px;display:grid}.lines li{text-wrap:pretty;padding-left:28px;font-size:1.06rem;position:relative}.lines li:before{content:"";background:var(--c);width:7px;height:7px;position:absolute;top:.62em;left:4px;rotate:45deg}.facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;display:grid}.facts>div{padding:16px 20px 0 0}.facts dt{color:var(--text-2);font-size:.9rem;font-weight:500}.facts dd{margin-top:4px;font-size:1rem;line-height:1.45}.facts code{background:color-mix(in srgb, var(--text) 8%, transparent);white-space:nowrap;border-radius:7px;padding:2px 8px}.panel .actions{margin-top:36px}.run{border:1px solid var(--line);background:color-mix(in srgb, var(--ground) 55%, transparent);border-radius:14px;max-width:62ch;margin-top:30px;overflow:hidden}.run figcaption{border-bottom:1px solid var(--line);color:var(--text-2);justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:.9rem;font-weight:500;display:flex}.run-copy{border:1px solid var(--line);border-radius:var(--r-ctl);color:var(--text);transition:background .25s var(--ease-out);background:0 0;padding:4px 12px;font-size:.9rem}.run-copy:hover{background:var(--glass-bg-strong)}.run pre{margin:0;padding:14px 16px;font-size:.9rem;line-height:1.6;overflow-x:auto}.run code{white-space:pre;font-family:inherit}.pending-note{color:var(--text-2);margin-top:20px;font-size:.94rem}.about{grid-template-columns:minmax(260px,.78fr) minmax(0,1.6fr);align-items:start;gap:clamp(24px,4vw,64px);display:grid}.about-name{letter-spacing:-.035em;font-size:clamp(2.6rem,4.8vw,4.1rem);font-weight:500;line-height:1.02}.about-role{color:var(--text-2);margin-top:12px;font-size:1.2rem}.about-id .btn{margin-top:32px}.about-text{padding-top:6px}.about-text>p{text-wrap:pretty;max-width:60ch;font-size:clamp(1.15rem,1.5vw,1.3rem);line-height:1.6}.about-text>p+p{color:var(--text-2);margin-top:20px}.facts-wide{margin-top:44px}.skills-title{color:var(--text-3);margin-top:44px;font-size:.86rem;font-weight:500}.skills{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.skills li{border-radius:var(--r-ctl);border:1px solid var(--line);padding:8px 16px;font-size:.98rem}.contact{isolation:isolate;padding:clamp(96px, 12vw, 168px) var(--gutter);place-items:center;margin-top:clamp(120px,14vw,200px);display:grid;position:relative;overflow:clip}.contact-field{z-index:-1;opacity:var(--field-opacity);position:absolute;inset:0}.contact-shape{aspect-ratio:1;position:absolute;translate:-50% -50%}.contact-shape svg{width:100%;height:100%;display:block;overflow:visible}.contact-codeboros{width:min(34vw,460px);top:34%;left:30%}.contact-openmixing{width:min(28vw,380px);top:66%;left:72%}.contact-openhouse{width:min(14vw,190px);top:18%;left:58%}.contact-pane{border-radius:var(--r-pane);text-align:center;width:min(760px,100%);padding:clamp(36px,5vw,64px)}.contact-pane h2{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2.5rem,5vw,4.4rem);font-weight:500;line-height:1.02}.contact-pane p{max-width:44ch;color:var(--text-2);text-wrap:pretty;margin:18px auto 0;font-size:1.125rem}.contact-pane .actions{justify-content:center;margin-top:32px}.footer{max-width:var(--max);padding:28px var(--gutter) 40px;color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin:0 auto;font-size:.94rem;display:flex}.footer-note{flex-basis:100%;order:3}.footer-tools{gap:24px;display:flex}.link-btn{color:var(--text-2);text-underline-offset:.3em;transition:text-decoration-color .25s var(--ease-out), color .25s var(--ease-out);background:0 0;border:0;padding:6px 0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.link-btn:hover{color:var(--text);text-decoration-color:currentColor}[data-reveal]{transition:opacity 1s var(--ease-out), translate 1s var(--ease-out), filter 1s var(--ease-out)}[data-reveal].is-pending{opacity:0;filter:blur(8px);translate:0 28px}.stage[data-reveal],.about-text[data-reveal]{transition-delay:.14s}@media (width<=1100px){.hero-pane{width:min(640px,100%)}.field-codeboros{--x:82vw;--y:28svh;--s:52vw}.field-openhouse{--x:63vw;--y:76svh;--s:20vw}.field-openmixing{--x:max(5vw, 56px);--y:74svh;--s:24vw}}@media (width<=900px){.projects-body,.about{grid-template-columns:minmax(0,1fr)}.tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:static}.tab{grid-template-columns:minmax(0,1fr);justify-items:start;gap:12px;padding:16px}.tab-kind,.tab-key{display:none}.tab-name{font-size:1.1rem}.stage-shapes{width:min(60%,340px);right:0}}@media (width<=720px){.topbar-inner{gap:6px;padding-left:14px}.logo{height:18px}.brand{font-size:1rem}.nav-links a{padding:6px 7px;font-size:.86rem}.tool{width:38px;height:38px}.hero{align-items:start;padding-top:196px;padding-bottom:24px}.field-codeboros{--x:78vw;--y:168px;--s:54vw}.field-openhouse{--x:49vw;--y:168px;--s:28vw}.field-openmixing{--x:20vw;--y:192px;--s:38vw}.hero h1{font-size:clamp(2.2rem,9.6vw,2.8rem)}.hero-sub{font-size:1.02rem}.index-row{padding-block:11px}.hero[data-focus=codeboros] .field-codeboros,.hero[data-focus=openmixing] .field-openmixing,.hero[data-focus=openhouse] .field-openhouse{--x:50vw;--y:70svh}.index-row{grid-template-columns:24px minmax(0,1fr) auto;row-gap:2px}.index-glyph{grid-row:span 2}.index-kind{white-space:normal;grid-area:2/2/auto/4;font-size:.94rem}.index-arrow{display:none}.facts{grid-template-columns:minmax(0,1fr)}.facts>div{padding:14px 0 0}.contact-codeboros{width:64vw;top:22%;left:18%}.contact-openmixing{width:52vw;top:78%;left:86%}.contact-openhouse{width:26vw;top:14%;left:78%}}@media (width<=420px){.tool+.tool{display:none}}@media (width<=480px){.tabs{grid-template-columns:minmax(0,1fr);gap:4px}.tab{border-radius:18px;grid-template-columns:24px minmax(0,1fr);align-items:center;padding:12px 16px}.tab-name{font-size:1.05rem}.actions .btn{flex:auto;justify-content:center}}
