@font-face{font-family:Rubik;font-style:italic;font-weight:300 900;font-display:swap;src:url(../media/7f72665b86f45d35-s.1hkwclz0_yo2u.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:italic;font-weight:300 900;font-display:swap;src:url(../media/bbe6432b58cd7ca5-s.2mt36e-m9otif.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:Rubik;font-style:italic;font-weight:300 900;font-display:swap;src:url(../media/49fd4a006efb178d-s.2ihaeog2gqmhm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:italic;font-weight:300 900;font-display:swap;src:url(../media/f618dd938bb342ad-s.0ldgqs16twbka.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:italic;font-weight:300 900;font-display:swap;src:url(../media/22489d8e479ca545-s.0f-8fbysi01v1.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-style:italic;font-weight:300 900;font-display:swap;src:url(../media/96d4d083aca4efcb-s.p.3skmobxb_0_5s.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:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/098850a6eb1f8577-s.2f577igfy6zek.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/6dac7af80352e41b-s.2ofvzoy5xjn1c.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:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/21445b8bd0ec5702-s.3ncsaruqasduw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/87c7f5b5afcd23bd-s.45a19n6z-i3ph.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/d25394c5b8ff78eb-s.3s-jl_297nmfs.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/c9f6ebf08ddd616b-s.p.1er88gr2sg4r_.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:Rubik Fallback;src:local(Arial);ascent-override:89.06%;descent-override:23.81%;line-gap-override:0.0%;size-adjust:104.98%}.rubik_275070c2-module__aKq2iq__className{font-family:Rubik,Rubik Fallback}.rubik_275070c2-module__aKq2iq__variable{--font-rubik:"Rubik", "Rubik Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.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.2sb9jzhmrh7ny.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.343obqi851wr5.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.40kcwrf1wub16.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.200l3jur7oygh.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-20C0,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.269kn9uafm0ti.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_6b7574a6-module__BVULza__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_6b7574a6-module__BVULza__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#111;--surface:#161616;--border:#efece61f;--text:#efece6;--sub:#9a9892;--accent:#c4fbf6;--accent-text:#111;--hud-h:62px;--head-h:calc(clamp(56px, 9vw, 150px) * .9 + 36px);--work-head-h:calc(var(--head-h) + 32px);--gutter:clamp(20px, 5vw, 64px);--font-display:var(--font-rubik), "Rubik", sans-serif;--font-mono:var(--font-jetbrains), "JetBrains Mono", monospace;--ease-out:cubic-bezier(.2, .7, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-mono);-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--accent-text)}img{max-width:100%;display:block}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.site{background:var(--bg);color:var(--text);min-height:100vh;padding-bottom:44px;transition:background .3s,color .3s;position:relative}html.cursor-on .site{cursor:none}.wrap{max-width:1640px;padding:0 var(--gutter);margin:0 auto}.wrap-narrow{max-width:1200px;padding:0 var(--gutter);margin:0 auto}.cta{font-family:var(--font-mono);letter-spacing:.12em;background:var(--accent);color:var(--accent-text);cursor:pointer;clip-path:polygon(0 0,100% 0,100% 70%,calc(100% - 8px) 100%,0 100%);border:none;padding:8px 14px;font-size:11px;font-weight:700;transition:background .3s,opacity .2s;display:inline-block}.cta:disabled{opacity:.6;cursor:progress}.meta{letter-spacing:.14em;color:var(--accent);white-space:nowrap;font-size:11px;font-weight:700}.dot-rule{background-image:radial-gradient(circle, var(--sub) 1px, transparent 1.2px);opacity:.6;background-size:8px 1px;flex:1;height:1px}.meta-row{align-items:center;gap:16px;display:flex}.w-filled{color:var(--accent);padding-right:.25em}.w-outline{color:#0000;-webkit-text-stroke:2px var(--accent);padding-right:.25em}.big-track{white-space:nowrap;will-change:transform;font-family:var(--font-display);letter-spacing:-.02em;align-items:center;font-size:clamp(56px,9vw,150px);font-weight:900;line-height:.9;display:inline-flex;transform:translate(8%)}section[id]{scroll-margin-top:var(--hud-h)}.cursor-dot,.cursor-ring{pointer-events:none;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot{background:var(--accent);z-index:9999;width:8px;height:8px;margin:-4px 0 0 -4px;transition:transform 50ms linear}.cursor-ring{border:1px solid var(--accent);z-index:9998;opacity:.8;width:28px;height:28px;margin:-14px 0 0 -14px;transition:transform .12s ease-out,width .15s,height .15s,margin .15s}.cursor-ring.is-hover{width:44px;height:44px;margin:-22px 0 0 -22px}.topbar{z-index:100;-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#111111e6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;padding:16px 32px;display:flex;position:sticky;top:0}.logo{align-items:center;gap:12px;display:flex}.logo-mark{font-family:var(--font-display);align-items:flex-end;font-size:26px;font-weight:900;line-height:1;display:flex}.logo-mark .i{color:var(--text);display:inline-block;transform:skew(-8deg)}.logo-mark .e{color:var(--accent);margin-left:-2px;transition:color .3s;display:inline-block;transform:translateY(3px)skew(-8deg)}.logo-text{letter-spacing:.12em;color:var(--sub);font-size:11px;font-weight:700}.logo-text b{color:var(--text);font-weight:700}.topnav{flex-wrap:wrap;align-items:center;gap:clamp(14px,2vw,28px);display:flex}.topnav a{letter-spacing:.1em;color:var(--sub);font-size:11px;font-weight:700;transition:color .2s}.topnav a:hover,.topnav a.is-active{color:var(--text)}.statusbar{z-index:100;-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--border);background:#111111eb;align-items:center;gap:16px;padding:12px clamp(16px,2vw,28px);display:flex;position:fixed;bottom:0;left:0;right:0}.statusbar .side{flex:1;align-items:center;gap:20px;min-width:0;display:flex}.statusbar .side.right{justify-content:flex-end}.hud-data{letter-spacing:.1em;color:var(--sub);white-space:nowrap;font-variant-numeric:tabular-nums;gap:6px;font-size:11px;font-weight:700;display:flex}.hud-val{color:var(--accent);font-variant-numeric:tabular-nums}.section-indicator{letter-spacing:.12em;color:var(--accent);white-space:nowrap;font-size:11px;font-weight:700}.theme-btn{cursor:pointer;font-family:var(--font-mono);letter-spacing:.12em;color:var(--text);background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:11px;font-weight:700;display:flex}.swatch{background:var(--accent);width:12px;height:12px;transition:background .3s}.hero{min-height:calc(100vh - var(--hud-h));border-bottom:1px solid var(--border);display:flex;position:relative;overflow:hidden}.hero-img{object-fit:cover;object-position:75% 22%;pointer-events:none;filter:brightness(.88)contrast(1.04);width:100%;max-width:none;height:100%;position:absolute;inset:0}.hero-scrim{pointer-events:none;background:linear-gradient(180deg, var(--bg) 0%, #1111118c 10%, #1110 26%), linear-gradient(270deg, #111c 0%, #11111159 12%, #1110 26%), linear-gradient(90deg, #111111d1 0%, #111111a8 30%, #11111140 52%, #1110 68%), linear-gradient(0deg, var(--bg) 0%, #1110 22%);position:absolute;inset:0}.hero-inner{pointer-events:none;flex-direction:column;flex:1;justify-content:space-between;padding:clamp(40px,7vh,72px) clamp(20px,7vw,140px) 36px;display:flex;position:relative}.hero-role{font-family:var(--font-display);letter-spacing:.04em;color:var(--accent);font-size:clamp(18px,1.8vw,26px);font-weight:400}.hero-role-sub{letter-spacing:.14em;color:var(--text);margin-top:12px;font-size:11px;font-weight:700}.hero-name{pointer-events:auto;margin:0;font-weight:400;line-height:.9;display:inline-block}.hero-name .line{font-family:var(--font-display);white-space:nowrap;font-size:clamp(56px,9vw,140px);display:block}.hero-name .line.first{letter-spacing:.02em}.hero-name .line.last{letter-spacing:-.01em}.hero-name .l{transition:font-weight .55s cubic-bezier(.65,0,.35,1),letter-spacing .55s cubic-bezier(.65,0,.35,1),color .45s;display:inline-block}.hero-sub{color:var(--text);max-width:520px;margin:28px 0 0;font-size:15px;line-height:1.6}.hero-facts-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:48px;display:flex}.hero-facts{flex-wrap:wrap;gap:28px;display:flex}.hero-fact{letter-spacing:.14em;color:var(--text);align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.hero-fact-dot{background:var(--accent);width:6px;height:6px}.scroll-arrow{color:var(--accent);font-size:10px;animation:1.2s step-end infinite blink}.work{padding:60px 0 140px}.work-head{top:var(--hud-h);z-index:50;background:var(--bg);margin-bottom:24px;padding:18px 0;position:sticky;overflow:hidden}.marquee-track{white-space:nowrap;font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:.25em;font-size:clamp(56px,9vw,150px);font-weight:900;line-height:.9;animation:30s linear infinite marquee;display:inline-flex}.work-list{flex-direction:column;gap:14vh;padding-bottom:10vh;display:flex}.work-card{top:calc(var(--hud-h) + var(--work-head-h) + 16px + var(--i,0) * 18px);transform-origin:50% 0;will-change:transform, filter;min-height:min(680px, calc(100vh - var(--hud-h) - var(--work-head-h) - 70px));border:1px solid var(--border);background:var(--bg);border-radius:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));display:grid;position:sticky;overflow:hidden;box-shadow:0 -20px 60px #00000059}.work-info{flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(28px,4vw,64px);display:flex}.work-category{font-family:var(--font-display);color:var(--text);font-size:clamp(20px,2vw,28px);font-style:italic;font-weight:300}.work-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--accent);margin:18px 0 0;font-size:clamp(40px,4.5vw,64px);font-weight:900;line-height:1}.work-desc{font-family:var(--font-display);color:var(--text);text-wrap:pretty;max-width:480px;margin:28px 0 0;font-size:16px;font-style:italic;font-weight:300;line-height:1.6}.work-foot{flex-direction:column;gap:22px;margin-top:48px;display:flex}.work-role{font-family:var(--font-display);color:var(--accent);font-size:clamp(26px,2.6vw,38px);font-weight:900;line-height:1.1}.work-role-label{font-family:var(--font-display);color:var(--text);margin-top:4px;font-size:14px;font-style:italic}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 9px;font-size:11px}.work-link{letter-spacing:.1em;color:var(--accent);border-bottom:1px solid var(--accent);align-self:flex-start;padding-bottom:2px;font-size:12px;font-weight:700}.work-link.is-disabled{opacity:.45;pointer-events:none}.work-link.stretched:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.work-card{cursor:pointer;transition:border-color .3s}.work-card:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.work-card:hover .work-link{letter-spacing:.14em}.work-link{transition:letter-spacing .3s var(--ease-out)}.work-media img{transition:transform .8s var(--ease-out)}.work-card:hover .work-media img{transform:scale(1.03)}.work-media{background:var(--surface);border-radius:14px;min-height:440px;margin:20px;position:relative;overflow:hidden}.work-media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.corner{pointer-events:none;border:0 solid var(--text);opacity:.35;width:22px;height:22px;position:absolute}.corner.tl{border-top-width:1px;border-left-width:1px;top:36px;left:36px}.corner.br{border-bottom-width:1px;border-right-width:1px;bottom:36px;right:36px}.list-section{padding:20px 0 100px;overflow-x:clip}.sec-head{top:var(--hud-h);z-index:40;background:var(--bg);margin-bottom:32px;padding:18px 0;position:sticky;overflow:hidden}.sec-head .big-track{margin-top:18px}.sec-head-roomy{margin-bottom:56px}.card-list{flex-direction:column;gap:14px;display:flex}.row-card{border:1px solid var(--border);background:var(--bg);color:var(--text);transition:border-color .3s ease, background .35s ease, color .3s ease, box-shadow .35s ease, opacity .25s ease-out, transform .35s var(--ease-out), filter .25s ease-out;will-change:transform, opacity;border-radius:20px;grid-template-columns:minmax(110px,160px) minmax(0,1fr) auto;gap:clamp(16px,3vw,48px);padding:clamp(22px,2.4vw,36px);display:grid}.row-card .rc-meta{flex-direction:column;gap:8px;display:flex}.row-card .rc-num{letter-spacing:.14em;color:var(--accent);font-size:11px;font-weight:700;transition:color .3s}.row-card .rc-m{letter-spacing:.12em;color:var(--text);font-size:11px;font-weight:700;transition:color .3s}.row-card .rc-title{transition:color .3s ease, transform .4s var(--ease-out);font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);text-wrap:balance;margin:0;font-size:clamp(28px,3.6vw,60px);font-weight:900;line-height:1.05}.row-card .rc-desc{font-family:var(--font-display);color:var(--sub);text-wrap:pretty;max-width:440px;margin:20px 0 0;font-size:16px;font-weight:300;line-height:1.5;transition:color .3s}.row-card .rc-read{letter-spacing:.12em;color:var(--text);white-space:nowrap;align-self:flex-start;font-size:11px;font-weight:700;transition:color .3s,transform .3s}.row-card .rc-body{min-width:0}.row-card.edu .rc-body{align-items:center;gap:clamp(16px,2vw,28px);display:flex}.edu-logo{border:1px solid var(--border);width:clamp(64px,6vw,88px);height:clamp(64px,6vw,88px);font-family:var(--font-display);color:#111;background:#fff;border-radius:50%;flex:none;place-items:center;font-size:18px;font-weight:900;display:grid;position:relative;overflow:hidden}.edu-logo img{object-fit:contain;width:78%;height:78%}.badge{letter-spacing:.12em;border:1px solid var(--accent);color:var(--accent);white-space:nowrap;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:10px;font-weight:700;transition:color .3s,border-color .3s}.badge.done{opacity:.5}.row-card{isolation:isolate;position:relative;overflow:hidden}.row-card:before{content:"";z-index:-1;background:var(--accent);transform-origin:100%;transition:transform .6s cubic-bezier(.65,0,.35,1);position:absolute;inset:0;transform:scaleX(0)}.row-card:hover:before{transform-origin:0;transform:scaleX(1)}.row-card:hover :is(.rc-num,.rc-m,.rc-title,.rc-desc,.rc-read,.badge){transition-delay:.12s}.row-card:hover{border-color:var(--accent);color:var(--accent-text)}.row-card.art:hover{box-shadow:0 20px 60px color-mix(in srgb, var(--accent) 12%, transparent)}.row-card:hover .rc-num,.row-card:hover .rc-m,.row-card:hover .rc-desc,.row-card:hover .rc-read{color:var(--accent-text)}.row-card:hover .rc-title{color:var(--accent-text);transform:translate(10px)}.row-card:hover .rc-read{transform:translate(-6px)}.row-card:hover .badge{color:var(--accent-text);border-color:var(--accent-text);opacity:1}.toolkit{padding:20px 0 140px;overflow-x:clip}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:12px;display:grid}.tool-card{border:1px solid var(--border);background:var(--bg);text-align:center;min-height:180px;transition:border-color .3s ease, background .3s ease, opacity .25s ease-out, transform .35s var(--ease-out), filter .25s ease-out;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:32px 20px;display:flex}.tool-card:hover{border-color:var(--accent);background:var(--surface)}.tool-icons{justify-content:center;align-items:center;gap:12px;height:30px;display:flex}.tool-icon{background:50%/contain no-repeat;width:28px;height:28px;display:block}.tool-name{font-family:var(--font-display);letter-spacing:.01em;color:inherit;margin-top:6px;font-size:16px;font-weight:900;transition:color .3s}.tool-cat{letter-spacing:.16em;color:var(--sub);font-size:10px;font-weight:700}.tool-card{gap:10px;min-height:150px;padding:26px 16px}@media (max-width:720px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-card{min-height:130px;padding:22px 10px}}.tool-icon-builtin{color:inherit;background:0 0;place-items:center;transition:color .3s;display:grid}.tool-icon-mono{background-color:currentColor;transition:background-color .3s}.tk-groups{flex-direction:column;display:flex}.tk-group{border-top:1px dashed var(--border);grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:clamp(20px,3vw,40px);padding:28px 0;display:grid}.tk-group:last-child{border-bottom:1px dashed var(--border)}.tk-group-side{flex-direction:column;gap:10px;padding-top:4px;display:flex}.tk-group-num{font-family:var(--font-display);color:color-mix(in srgb, var(--text) 26%, transparent);font-size:44px;font-weight:900;line-height:.85}.tk-group-side .label{letter-spacing:.16em}.tk-group-count{letter-spacing:.14em;color:var(--sub);font-size:10px;font-weight:700}.tk-group .tool-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}.tk-group .tool-card{min-height:130px}@media (max-width:720px){.tk-group{grid-template-columns:1fr;gap:16px}.tk-group-side{flex-direction:row;align-items:baseline;gap:14px}.tk-group-num{font-size:32px}}.about{padding:40px 0 140px;overflow-x:clip}.about-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start;gap:clamp(40px,5vw,72px);display:grid}.about-photo{aspect-ratio:1/1.12;background:var(--bg);border:1px solid var(--border);border-radius:20px;width:100%;position:relative;overflow:hidden}.about-photo img{object-fit:cover;object-position:50% 25%;filter:brightness(.9);width:100%;height:100%}.about-vignette{pointer-events:none;background:radial-gradient(75% 70% at 50% 40%,#1110 45%,#1111118c 75%,#111111f2 100%);position:absolute;inset:0}.about-caption{letter-spacing:.14em;color:var(--sub);text-align:right;margin-top:12px;font-size:10px;font-weight:700}.about-lead{font-family:var(--font-display);color:var(--text);text-wrap:pretty;max-width:460px;margin:32px 0 0;font-size:clamp(18px,1.6vw,22px);font-style:italic;font-weight:300;line-height:1.45}.about-kv{letter-spacing:.14em;color:var(--accent);font-size:10px;font-weight:700}.about-kv span{color:var(--text)}.about-kvs{flex-direction:column;gap:6px;margin-top:20px;display:flex}.about-group{letter-spacing:.14em;color:var(--accent);border-bottom:1px dashed var(--border);padding-bottom:12px;font-size:10px;font-weight:700}.about-row{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:20px;padding:20px 0;display:flex}.about-company{font-family:var(--font-display);color:var(--text);text-transform:uppercase;font-size:clamp(28px,3vw,44px);font-weight:900;line-height:1}.about-study{font-family:var(--font-display);color:var(--text);text-transform:uppercase;font-size:clamp(16px,1.4vw,20px);font-weight:900;line-height:1.2}.about-role{font-family:var(--font-display);color:var(--sub);text-transform:uppercase;letter-spacing:.02em;margin-top:6px;font-size:12px;font-style:italic;font-weight:400}.about-date{letter-spacing:.1em;color:var(--accent);white-space:nowrap;font-size:10px;font-weight:700}.contact{border-top:1px solid var(--border);padding:40px 0;overflow-x:clip}.contact-rows{border-top:1px dashed var(--border)}.contact-row{border-bottom:1px dashed var(--border);color:var(--text);justify-content:space-between;align-items:center;gap:20px;padding:32px 0;display:flex}.label{letter-spacing:.14em;color:var(--accent);font-size:10px;font-weight:700}.contact-value{font-family:var(--font-display);color:var(--text);overflow-wrap:anywhere;transition:color .3s ease, transform .4s var(--ease-out);margin-top:10px;font-size:clamp(24px,4vw,52px);font-weight:900;line-height:1.1}.contact-arrow{color:var(--accent);font-size:26px;transition:transform .3s}.contact-row:hover .contact-value{color:var(--accent);transform:translate(10px)}.contact-row:hover .contact-arrow{transform:translate(4px,-4px)}.contact-form{border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:22px;margin-top:36px;padding:clamp(20px,3vw,36px);display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{letter-spacing:.14em;color:var(--sub);font-size:10px;font-weight:700}.field-label span{color:var(--text)}.field-error{letter-spacing:.12em;color:var(--accent);text-transform:uppercase;font-size:10px;font-weight:700}.input{border:none;border-bottom:1px dashed var(--border);color:var(--text);font-family:var(--font-display);background:0 0;border-radius:0;outline:none;padding:10px 0;font-size:16px;transition:border-color .2s}.input:focus{border-bottom-color:var(--accent)}textarea.input{resize:vertical}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status{letter-spacing:.12em;color:var(--accent);font-size:11px;font-weight:700}.footer-bar{border-top:1px dashed var(--border);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:24px;display:flex}.footer-text{color:var(--sub);letter-spacing:.14em;font-size:10px;font-weight:700}.footer-text:is(a):hover{color:var(--text)}.article-page{padding:48px 0 120px}.article-back{letter-spacing:.12em;color:var(--sub);margin-top:40px;font-size:11px;font-weight:700;transition:color .2s;display:inline-block}.article-back:hover{color:var(--accent)}.article-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--accent);text-wrap:balance;margin:28px 0 0;font-size:clamp(40px,6.5vw,104px);font-weight:900;line-height:.95}.article-summary{font-family:var(--font-display);max-width:760px;margin:28px 0 0;font-size:clamp(18px,1.8vw,24px);font-style:italic;font-weight:300;line-height:1.45}.article-meta{border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);flex-wrap:wrap;gap:10px 28px;margin-top:36px;padding:18px 0;display:flex}.article-meta span{letter-spacing:.12em;font-size:11px;font-weight:700}.article-cover{border:1px solid var(--border);background:var(--surface);border-radius:20px;margin-top:40px;overflow:hidden}.article-cover img{width:100%;height:auto}.prose{max-width:760px;font-family:var(--font-display);color:var(--text);margin-top:48px;font-size:18px;font-weight:300;line-height:1.7}.prose h1,.prose h2,.prose h3,.prose h4{letter-spacing:-.01em;margin:2em 0 .6em;font-weight:900;line-height:1.1}.prose h1{color:var(--accent);font-size:44px}.prose h2{color:var(--accent);font-size:34px}.prose h3{font-size:24px}.prose p{margin:0 0 1.2em}.prose a{color:var(--accent);border-bottom:1px solid var(--accent)}.prose strong{font-weight:700}.prose em{font-style:italic}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.3em}.prose li{margin:.35em 0}.prose li::marker{color:var(--accent)}.prose blockquote{border-left:2px solid var(--accent);color:var(--sub);margin:1.6em 0;padding:4px 0 4px 22px;font-style:italic}.prose hr{border:none;border-top:1px dashed var(--border);margin:2.4em 0}.prose img{border:1px solid var(--border);border-radius:14px;margin:1.6em 0}.prose code{font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.1em .4em;font-size:.82em}.prose pre{font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border);border-radius:14px;margin:1.6em 0;padding:20px 22px;font-size:14px;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;border:none;padding:0}.prose table{border-collapse:collapse;width:100%;margin:1.6em 0;font-size:15px}.prose th,.prose td{text-align:left;border-bottom:1px dashed var(--border);padding:10px 12px}.prose th{font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent);font-size:11px}.project-page{padding:44px 0 120px}.pj-hero{grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:start;gap:clamp(32px,5vw,96px);margin-top:clamp(40px,7vh,80px);display:grid}.pj-hero-main{min-width:0}.pj-headline{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);text-wrap:balance;overflow-wrap:anywhere;margin:26px 0 0;font-size:clamp(44px,6.4vw,104px);font-weight:900;line-height:.95}.pj-lead{font-family:var(--font-display);color:var(--sub);text-wrap:pretty;max-width:720px;margin:28px 0 0;font-size:clamp(18px,1.7vw,24px);font-style:italic;font-weight:300;line-height:1.45}.pj-panel{border-top:1px dashed var(--border);margin:0}.pj-panel-row{border-bottom:1px dashed var(--border);flex-direction:column;gap:10px;padding:18px 0;display:flex}.pj-panel-row dd,.pj-panel-row dt{margin:0}.pj-panel-label{letter-spacing:.16em;color:var(--sub);font-size:10px;font-weight:700}.pj-panel-value{font-family:var(--font-display);color:var(--text);text-transform:none;font-size:16px;line-height:1.5}.pj-links{flex-flow:wrap;align-items:center;gap:16px}.pj-chips{flex-wrap:wrap;gap:12px;margin:48px 0 0;padding:0;list-style:none;display:flex}.pj-chip{letter-spacing:.12em;border:1px solid var(--text);color:var(--text);border-top-color:#0000;border-bottom-color:#0000;border-radius:10px/50%;padding:5px 12px;font-size:11px;font-weight:700}.pj-cover{border:1px solid var(--border);background:var(--surface);border-radius:4px;margin-top:56px;overflow:hidden}.pj-cover img{object-fit:cover;width:100%;height:auto;max-height:86vh}.pj-body{margin:96px 0 0 clamp(0px,20vw,288px)}.pj-body>:first-child{margin-top:0}.pj-soon{align-items:center;gap:16px;margin-top:64px;display:flex}.pj-gallery{margin-top:96px}.pj-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr));gap:14px;display:grid}.pj-shot{border:1px solid var(--border);background:var(--surface);border-radius:14px;display:block;overflow:hidden}.pj-shot img{width:100%;height:auto;transition:transform .8s var(--ease-out)}.pj-shot:hover img{transform:scale(1.03)}.cs{margin-top:24px}.cs-chapter{border-bottom:1px solid var(--border);grid-template-columns:minmax(140px,248px) minmax(0,1fr);gap:clamp(24px,4vw,40px);padding:clamp(64px,10vh,112px) 0;display:grid}.cs-chapter-side{flex-direction:column;gap:14px;display:flex}.cs-chapter-side .label{letter-spacing:.16em}.cs-num{font-family:var(--font-display);color:color-mix(in srgb, var(--text) 26%, transparent);font-size:clamp(56px,6vw,88px);font-weight:900;line-height:.85}.cs-chapter-main{min-width:0}.cs-lead{font-family:var(--font-display);color:var(--text);text-wrap:pretty;max-width:1000px;margin:0;font-size:clamp(20px,2vw,30px);font-weight:300;line-height:1.35}.cs-lead+*{margin-top:32px}.cs-prose{max-width:760px;margin-top:32px}.cs-prose>:first-child{margin-top:0}.cs-icon{color:var(--accent)}.cs-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:12px;display:grid}.cs-stat{border:1px dashed var(--border);min-height:160px;transition:opacity .25s ease-out, transform .35s var(--ease-out), filter .25s ease-out, border-color .3s ease;border-radius:2px;flex-direction:column;gap:18px;padding:18px 16px;display:flex}.cs-stat:hover{border-color:var(--accent)}.cs-stat-value{font-family:var(--font-display);margin-top:auto;font-size:clamp(40px,4vw,64px);font-weight:900;line-height:.9}.cs-stat-label{letter-spacing:.16em;color:var(--sub);text-transform:uppercase;font-size:10px;font-weight:700}.cs-stat .cs-stat-label:first-of-type:last-child{margin-top:auto}.cs-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.cs-card{border:1px dashed var(--border);transition:opacity .25s ease-out, transform .35s var(--ease-out), filter .25s ease-out, border-color .3s ease;border-radius:2px;flex-direction:column;gap:14px;padding:22px 20px;display:flex}.cs-card:hover{border-color:var(--accent)}.cs-item-title{font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;color:var(--text);margin:0;font-size:16px;font-weight:900}.cs-item-text{font-family:var(--font-display);color:var(--sub);margin:0;font-size:15px;font-weight:300;line-height:1.55}.cs-card .cs-item-title+.cs-item-text{margin-top:-4px}.cs-list{flex-direction:column;gap:26px;max-width:760px;margin:0;padding:0;list-style:none;display:flex}.cs-list-item{grid-template-columns:40px minmax(0,1fr);align-items:start;gap:16px;display:grid}.cs-list-icon{border:1px dashed var(--border);width:40px;height:40px;color:var(--text);place-items:center;display:grid}.cs-list-item .cs-item-text{margin-top:6px;font-size:16px}.cs-block{border-bottom:1px solid var(--border);padding:clamp(56px,9vh,96px) 0}.cs-block-heading{border-bottom:none;padding-bottom:0}.cs-block-label{color:var(--sub);margin-bottom:18px}.cs-caption{color:var(--sub);margin-top:16px}.cs-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);text-transform:uppercase;margin:0;font-size:clamp(64px,10vw,168px);font-weight:900;line-height:.9}.cs-media{margin:0}.cs-frame{border:1px dashed var(--border);background-image:radial-gradient(circle, color-mix(in srgb, var(--text) 10%, transparent) 1px, transparent 1.2px);background-size:10px 10px;padding:clamp(20px,3vw,40px);position:relative}.cs-frame-label{background:var(--bg);letter-spacing:.16em;color:var(--sub);padding:0 8px;font-size:10px;font-weight:700;position:absolute;top:-7px;left:20px}.cs-frame-dot{background:var(--accent);width:6px;height:6px;position:absolute;top:-3px}.cs-frame-dot.tl{left:-3px}.cs-frame-dot.tr{right:-3px}.cs-frame-img{border-radius:2px;width:100%;height:auto}.cs-frame-cap{margin-top:20px}.cs-frame-cap .cs-lead{margin-top:14px}.cs-screens-wrap,.cs-media{margin:0}.cs-screens{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));align-items:start;gap:12px;display:grid}.cs-screen{border:1px solid var(--border);background:var(--surface);border-radius:4px;display:block;overflow:hidden}.cs-screen img{width:100%;height:auto;transition:transform .8s var(--ease-out)}.cs-screen:hover img{transform:scale(1.03)}.cs-chips{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.cs-chip{border:1px dashed var(--border);letter-spacing:.14em;text-transform:uppercase;color:var(--text);align-items:center;gap:14px;padding:16px 18px;font-size:11px;font-weight:700;display:flex}.pj-next-card{border:1px solid var(--accent);color:var(--accent);border-radius:20px;margin-top:112px;padding:clamp(28px,3vw,44px) clamp(24px,3vw,40px);transition:background .35s,color .3s;display:block}.pj-next-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:28px;display:flex}.pj-next-top .label{color:var(--sub);transition:color .3s}.pj-next-num{font-family:var(--font-display);font-size:clamp(72px,9vw,140px);font-weight:900;line-height:.85}.pj-next-bottom{justify-content:space-between;align-items:center;gap:20px;padding-top:28px;display:flex}.pj-next-name{font-family:var(--font-display);overflow-wrap:anywhere;font-size:clamp(32px,4.4vw,64px);font-weight:900;line-height:1}.pj-next-arrow{fill:none;stroke:currentColor;stroke-width:3px;width:64px;height:28px;transition:transform .35s var(--ease-out);flex:none}.pj-next-card:hover{background:var(--accent);color:var(--accent-text)}.pj-next-card:hover .label{color:var(--accent-text)}.pj-next-card:hover .pj-next-top{border-bottom-color:color-mix(in srgb, var(--accent-text) 25%, transparent)}.pj-next-card:hover .pj-next-arrow{transform:translate(8px)}@media (max-width:900px){.pj-hero,.cs-chapter{grid-template-columns:1fr}.cs-chapter-side{flex-direction:row;align-items:baseline;gap:16px}.pj-body{margin-left:0}}@media (max-width:720px){.topbar{padding:14px 20px}.hud-crsr{display:none}.row-card{grid-template-columns:1fr}.row-card .rc-meta{flex-flow:wrap;gap:6px 16px}.row-card .rc-read,.row-card .badge{justify-self:start}.work-media{min-height:260px}}@media (max-width:480px){.statusbar .section-indicator{display:none}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){.marquee-track,.scroll-arrow{animation:none}.hero-name .l,.row-card,.row-card .rc-title,.row-card .rc-read,.contact-value,.contact-arrow{transition:none}.big-track,.row-card:hover .rc-title,.contact-row:hover .contact-value{transform:none}.row-card:before{transition:none}}
