@font-face{font-family:Permanent Marker;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/permanent-marker-latin-400-normal-BF23djCy.woff2)format("woff2"),url(/assets/permanent-marker-latin-400-normal-BnZj5c41.woff)format("woff");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:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-ext-400-normal-ChcxYnmu.woff2)format("woff2"),url(/assets/special-elite-latin-ext-400-normal-CaJZjSVf.woff)format("woff");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:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-400-normal-YjDd9tmf.woff2)format("woff2"),url(/assets/special-elite-latin-400-normal-BtSRmyJ6.woff)format("woff");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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-normal-W3Dto7M0.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-normal-DLdKLAvx.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-normal-DD2KOZkl.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-normal-CVFrM67f.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-normal-6K-YXo6g.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-normal-4uxlocMh.woff)format("woff");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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-normal-Drx2k2n9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-normal-uvC0WHQr.woff)format("woff");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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff");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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-ext-400-italic-BEGvmv_3.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-400-italic-C_Uk1MUY.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-cyrillic-400-italic-D3GtrbRZ.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-400-italic-AH1vqu4S.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-italic-BoXDRTEW.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-italic-CJpMwFnN.woff)format("woff");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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-ext-400-italic-BdEzgT7i.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-400-italic-CQvLaSWn.woff)format("woff");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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/rubik-arabic-400-normal-B6c_9tGI.woff2)format("woff2"),url(/assets/rubik-arabic-400-normal-Dci85dQr.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/rubik-cyrillic-ext-400-normal-D-KNTwvG.woff2)format("woff2"),url(/assets/rubik-cyrillic-ext-400-normal-CTkTGo13.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/rubik-cyrillic-400-normal-C5G8_8ug.woff2)format("woff2"),url(/assets/rubik-cyrillic-400-normal-D5R8xuhl.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/rubik-hebrew-400-normal-Dp0lvSRB.woff2)format("woff2"),url(/assets/rubik-hebrew-400-normal-BQDoxs6C.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/rubik-latin-ext-400-normal-BtzQ7olK.woff2)format("woff2"),url(/assets/rubik-latin-ext-400-normal-E7wwwcV8.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/rubik-latin-400-normal-j0pmKyiQ.woff2)format("woff2"),url(/assets/rubik-latin-400-normal-BV1Ho3GG.woff)format("woff");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{--paper:#fff;--ink:#080808;--ink-soft:#282828;--ink-faded:#6a6a6a;--highlight:#0e2860fa;--paper-edge:#e4e4e0;--font-display:"Permanent Marker", cursive;--font-label:"Special Elite", cursive;--font-mono:"Cormorant Garamond", Georgia, serif;--font-body:"Rubik", sans-serif;--type-display:clamp(72px, 11vw, 144px);--type-h1:clamp(48px, 6vw, 88px);--type-h2:clamp(28px, 3vw, 40px);--type-h3:20px;--type-body:17px;--type-mono:15px;--type-label:12px;--wobble-1:255px 15px 225px 15px / 15px 225px 15px 255px;--wobble-2:15px 225px 15px 255px / 255px 15px 225px 15px;--wobble-3:35px 95px 25px 100px / 110px 25px 90px 30px;--wobble-4:100px 30px 95px 25px / 30px 95px 25px 100px;--wobble-5:200px 25px 30px 200px / 25px 195px 200px 25px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--type-body);-webkit-font-smoothing:antialiased;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;background:0 0;border:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}.hl{background:var(--highlight);color:var(--paper);padding:.5px 4px}.label{font-family:Space Mono,Courier New,monospace;font-size:var(--type-label);letter-spacing:.15em;text-transform:uppercase}.mono{font-family:var(--font-mono);font-size:var(--type-mono)}.grid-overlay{pointer-events:none;z-index:0;background-image:repeating-linear-gradient(90deg, var(--paper-edge) 0px, var(--paper-edge) 1px, transparent 1px, transparent calc(100vw / 12));opacity:.07;position:fixed;inset:0}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 32px}@media (width<=768px){.container{padding:0 20px}}.nav{z-index:100;background:var(--paper);border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;gap:24px;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.nav-name{font-family:var(--font-display);color:var(--ink);flex-shrink:0;font-size:26px}.nav-items{align-items:center;gap:0;list-style:none;display:flex}.nav-items li+li:before{content:"·";font-family:var(--font-mono);color:var(--ink-faded);margin:0 10px}.nav-link{font-family:var(--font-label);letter-spacing:.1em;color:var(--ink);font-size:14px;transition:color .15s}.nav-link:hover{color:var(--highlight)}.nav-link.active{color:var(--ink)}.nav-status{flex-shrink:0;align-items:center;gap:6px;display:flex}.nav-dot{color:var(--ink-faded);font-size:10px}.nav-dot.available{color:var(--ink)}.nav-available{font-size:11px}@media (width<=768px){.nav-items{display:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(8deg)}}@keyframes drawLine{0%{stroke-dashoffset:600px}to{stroke-dashoffset:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero{border-bottom:2px solid var(--ink);grid-template:"label label""name portrait""pixbars portrait""whatido whatido""hfooter hfooter"/1fr 1fr;gap:0 40px;padding:30px 50px 48px;display:grid}.hero-grid-break{color:var(--ink-faded);grid-area:label;margin-bottom:24px;animation:.5s both fadeIn}.hero-name-wrap{flex-direction:column;grid-area:name;align-self:start;gap:15px;animation:.7s .1s both fadeUp;display:flex}.hero-name-block{position:relative}.hero-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);word-break:break-word;margin-left:-4px;font-size:clamp(40px,11vw,160px);line-height:1.15}.doodle-underline{stroke-dasharray:600;stroke-dashoffset:600px;width:100%;height:14px;margin-top:-4px;animation:1.2s .6s forwards drawLine;display:block}.sparkle{animation:3s ease-in-out infinite float;position:absolute}.pixel-float{opacity:.9;image-rendering:pixelated;animation:2.5s ease-in-out infinite float;position:absolute}.doodle-scribble{opacity:.5;animation:1s 1s both fadeIn}.hero-role{align-items:center;gap:12px;display:flex}.pixel-star{grid-template-columns:repeat(3,10px);gap:2px;display:grid}.pixel-cell{width:10px;height:10px}.hero-pixbars-wrap{grid-area:pixbars;align-items:flex-end;padding-top:24px;display:flex}@keyframes pixelPulse{0%,to{opacity:.9;transform:scaleY(1)}50%{opacity:.4;transform:scaleY(.3)}}.pixel-bars{align-items:flex-end;gap:5px;width:100%;animation:.8s .6s both fadeIn;display:flex}.pixel-bar-col{transform-origin:bottom;flex-direction:column-reverse;flex:1;gap:4px;animation:1.2s ease-in-out infinite pixelPulse;display:flex}.pixel-bar-block{background:var(--highlight);width:100%;height:9px}.pixel-bars-label{font-family:var(--font-label);letter-spacing:.1em;color:var(--ink-faded);white-space:nowrap;align-self:flex-end;margin-left:10px;padding-bottom:2px;font-size:10px}.portrait-wrap{flex-direction:column;grid-area:portrait;justify-content:flex-start;align-items:center;gap:24px;padding-top:14px;animation:.9s .3s both fadeIn;display:flex;position:relative}.portrait-frame{border:2.5px solid var(--ink);border-radius:var(--wobble-3);box-shadow:6px 6px 0 var(--ink);width:100%;max-width:360px;padding-bottom:40px;transition:border-radius .15s,transform .15s,box-shadow .15s;overflow:hidden}.portrait-frame:hover{border-radius:var(--wobble-1);box-shadow:3px 3px 0 var(--ink);transform:rotate(-.8deg)}.portrait-img{width:100%;height:auto;image-rendering:pixelated;display:block}.portrait-caption{font-family:var(--font-mono);color:var(--ink-faded);font-size:18px;font-style:italic}.portrait-annotation{opacity:.7;flex-direction:column;align-items:flex-start;display:flex;position:absolute;top:-22px;left:20px}.portrait-annotation-label{font-family:var(--font-label);letter-spacing:.05em;color:var(--ink-soft);margin-left:4px;font-size:12px}.terminal{width:100%;max-width:340px;box-shadow:5px 5px 0 var(--highlight);background:#111;border:2px solid #111;border-radius:6px;font-family:Space Mono,Courier New,monospace;font-size:14px;overflow:hidden}.terminal-bar{background:#2e2e2e;border-bottom:1px solid #000;align-items:center;gap:6px;padding:7px 12px;display:flex}.terminal-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.terminal-title{color:#888;margin-left:6px;font-family:Space Mono,Courier New,monospace;font-size:11px}.terminal-body{color:#f0ead8;flex-direction:column;gap:2px;padding:12px 14px;line-height:1.7;display:flex}.terminal-body p{margin:0}.t-prompt{color:var(--highlight);-webkit-user-select:none;user-select:none;margin-right:6px}.t-out{color:#9ab;padding-left:18px}.t-cursor{animation:1s step-end infinite blink;display:inline-block}.hero-what-row{border-top:1.5px solid var(--paper-edge);flex-direction:column;grid-area:whatido;gap:24px;margin-top:40px;padding-top:32px;animation:.7s .4s both fadeUp;display:flex}.what-statement-row{align-items:center;gap:16px;display:flex}.what-statement{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:clamp(22px,2.5vw,34px);line-height:1.1}.specialty-grid{grid-template-columns:repeat(3,1fr);gap:12px 24px;list-style:none;display:grid}.specialty-item{border:1.5px solid var(--paper-edge);border-radius:var(--wobble-3);align-items:center;gap:10px;padding:10px 14px;transition:border-color .15s,border-radius .15s,box-shadow .15s;display:flex}.specialty-item:hover{border-color:var(--ink);border-radius:var(--wobble-1);box-shadow:2px 2px 0 var(--ink)}.specialty-label{letter-spacing:.12em;color:var(--ink-soft);font-size:13px;font-weight:800}.specialty-note{font-family:var(--font-mono);margin-left:4px;font-size:14px;font-style:italic;font-weight:800}.hero-footer-row{flex-wrap:wrap;grid-area:hfooter;justify-content:space-between;align-items:center;gap:16px;margin-top:32px;animation:.7s .5s both fadeUp;display:flex}.hero-available{align-items:center;gap:8px;font-size:13px;display:flex}.hero-scroll-hint{align-items:center;gap:10px;display:flex}.hero-scroll-label{font-family:var(--font-display);color:var(--ink-soft);font-size:18px;display:inline-block;transform:rotate(-3deg)}@media (width<=768px){.hero{grid-template-columns:1fr;grid-template-areas:"label""name""portrait""whatido""hfooter";padding:48px 20px 32px}.hero-what-row,.hero-pixbars-wrap{display:none}.portrait-wrap{flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px}.portrait-frame{max-width:100%}.terminal{max-width:100%;font-size:11px}.sparkle{display:none}.specialty-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.terminal{font-size:10px}.specialty-grid{grid-template-columns:1fr}}.marquee-strip{background:var(--highlight);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);white-space:nowrap;padding:10px 0;overflow:hidden}.marquee-track{animation:32s linear infinite marquee-scroll;display:inline-flex}.marquee-item{letter-spacing:.15em;color:var(--paper);flex-shrink:0;padding:0 4px;font-size:12px}.marquee-sep{opacity:.5;margin-left:16px;margin-right:12px}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-33.333%)}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}.work-section{border-bottom:2px solid var(--ink);padding:80px 32px}.section-header{grid-template-columns:auto 1fr auto;align-items:end;gap:24px;margin-bottom:56px;display:grid}.section-eyebrow{color:var(--ink-faded);letter-spacing:.2em;align-self:start;padding-top:8px;font-size:11px}.section-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:clamp(40px,5vw,72px);line-height:.95}.section-sub{color:var(--ink-faded);text-align:right;align-self:end}.projects-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.project-card{border:2.5px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:var(--paper);cursor:pointer;padding:12px;transition:border-radius .15s,transform .15s,box-shadow .15s;position:relative}.project-card:hover{box-shadow:3px 3px 0 var(--ink);border-radius:var(--wobble-5)!important;transform:rotate(-.8deg)!important}.project-annotation{letter-spacing:.1em;color:var(--highlight);background:var(--paper);padding:0 4px;font-size:10px;position:absolute;top:-20px;right:16px}.project-card-top{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.project-id{letter-spacing:.15em;color:var(--ink-faded);font-size:11px}.project-year{color:var(--ink-faded);font-size:13px}.project-image-placeholder{border:2px solid var(--ink);aspect-ratio:16/9;background:var(--paper-edge);justify-content:center;align-items:center;margin-bottom:10px;display:flex;position:relative;overflow:hidden}.project-img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}.project-image-name{font-family:var(--font-display);color:var(--ink);text-align:center;z-index:1;padding:16px;font-size:clamp(18px,2.5vw,28px);position:relative}.project-image-grid{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(4,1fr);gap:0;display:grid;position:absolute;inset:0}.project-image-pixel{background:var(--highlight)}.project-title{font-family:var(--font-body);color:var(--ink);margin-bottom:6px;font-size:clamp(15px,1.6vw,20px);font-weight:600}.project-desc{color:var(--ink-soft);margin-bottom:10px;font-size:14px;line-height:1.5}.project-card-footer{border-top:1px solid var(--paper-edge);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:10px;display:flex}.project-stack{color:var(--ink-faded);font-size:12px}.project-links{flex-shrink:0;align-items:center;gap:10px;display:flex}.project-link{letter-spacing:.12em;color:var(--ink-faded);border-bottom:1px solid var(--paper-edge);white-space:nowrap;padding-bottom:1px;font-size:10px;transition:color .12s,border-color .12s}.project-link:hover{color:var(--ink);border-color:var(--ink)}.project-link--live{color:var(--highlight);border-color:var(--highlight)}.project-link--live:hover{color:var(--ink);border-color:var(--ink)}.work-view-all{justify-content:flex-end;margin-top:40px;display:flex}.work-view-all-link{letter-spacing:.15em;color:var(--ink);border-bottom:2px solid var(--highlight);padding-bottom:2px;font-size:13px;transition:color .15s}.work-view-all-link:hover{color:var(--highlight)}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes ruleIn{0%{stroke-dashoffset:800px}to{stroke-dashoffset:0}}.modal-overlay{z-index:100;background:#080808b3;align-items:flex-end;animation:.25s both overlayIn;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--paper);border-top:3px solid var(--ink);border-radius:12px 12px 0 0;width:100%;max-height:90vh;padding:48px 60px 60px;animation:.4s cubic-bezier(.16,1,.3,1) both sheetUp;position:relative;overflow-y:auto}.modal-close{color:var(--ink);opacity:.5;line-height:0;transition:opacity .15s,transform .15s;position:absolute;top:24px;right:28px}.modal-close:hover{opacity:1;transform:rotate(90deg)}.modal-meta{align-items:center;gap:16px;margin-bottom:12px;display:flex}.modal-id{color:var(--highlight);letter-spacing:.2em;font-size:11px}.modal-year{color:var(--ink-faded);letter-spacing:.15em;font-size:11px}.modal-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-bottom:20px;font-size:clamp(40px,7vw,96px);line-height:1}.modal-rule{stroke-dasharray:800;stroke-dashoffset:800px;width:100%;height:6px;margin-bottom:40px;animation:.8s .3s forwards ruleIn;display:block}.modal-body{grid-template-columns:1fr 280px;align-items:start;gap:48px;display:grid}.modal-image-placeholder{border:2px solid var(--ink);aspect-ratio:16/9;background:var(--paper-edge);justify-content:center;align-items:center;margin-bottom:24px;display:flex;position:relative;overflow:hidden}.modal-image-label{font-family:var(--font-display);color:var(--ink-faded);z-index:1;text-align:center;padding:16px;font-size:clamp(20px,3vw,36px);position:relative}.modal-image-dots{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(5,1fr);display:grid;position:absolute;inset:0}.modal-dot{background:var(--highlight)}.modal-desc{color:var(--ink-soft);font-size:18px;line-height:1.7}.modal-stack-box{border:2px solid var(--ink);border-radius:var(--wobble-3);box-shadow:4px 4px 0 var(--ink);margin-bottom:20px;padding:20px}.modal-stack-label{color:var(--ink-faded);letter-spacing:.2em;margin-bottom:12px;font-size:10px;display:block}.modal-stack-list{flex-direction:column;gap:8px;list-style:none;display:flex}.modal-stack-item{letter-spacing:.1em;color:var(--ink-soft);border:1px solid var(--paper-edge);border-radius:var(--wobble-4);padding:6px 10px;font-size:13px}.modal-links-box{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.modal-link{border:2px solid var(--ink);font-family:var(--font-label);letter-spacing:.15em;color:var(--ink);border-radius:var(--wobble-4);align-items:center;gap:8px;padding:12px 16px;font-size:11px;transition:background .15s,color .15s;display:flex}.modal-link:hover{background:var(--ink);color:var(--paper)}.modal-link--live{border-color:var(--highlight);color:var(--highlight)}.modal-link--live:hover{background:var(--highlight);color:var(--paper)}.modal-annotation-box{border:1.5px dashed var(--ink-faded);border-radius:var(--wobble-2);color:var(--ink-faded);letter-spacing:.1em;padding:12px 16px;font-size:11px;transform:rotate(1deg)}@media (width<=768px){.projects-grid{grid-template-columns:repeat(2,1fr)}.section-header{grid-template-columns:1fr;gap:12px}.section-sub{text-align:left}.modal-sheet{max-height:95vh;padding:40px 24px 48px}.modal-body{grid-template-columns:1fr}}@media (width<=480px){.projects-grid{grid-template-columns:1fr}}.stats-strip{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--paper);grid-template-columns:repeat(4,1fr);display:grid}.stats-cell{flex-direction:column;gap:8px;padding:32px 24px;display:flex;position:relative}.stats-cell+.stats-cell{border-left:2px solid var(--ink)}.stats-num{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-size:clamp(40px,5vw,64px);line-height:1}.stats-label{letter-spacing:.18em;color:var(--ink-faded);white-space:pre-line;font-size:10px;line-height:1.4}@media (width<=600px){.stats-strip{grid-template-columns:repeat(2,1fr)}.stats-cell:nth-child(3),.stats-cell:nth-child(4){border-top:2px solid var(--ink)}}.toolkit-section{border-bottom:2px solid var(--ink);padding:80px 32px}.toolkit-grid{grid-template-columns:repeat(4,1fr);gap:40px 32px;margin-bottom:40px;display:grid}.toolkit-col{flex-direction:column;gap:20px;display:flex}.toolkit-cat{letter-spacing:.2em;color:var(--ink);border-bottom:1.5px solid var(--ink);padding-bottom:8px;font-size:11px}.toolkit-list{flex-direction:column;gap:16px;list-style:none;display:flex}.toolkit-item{flex-direction:column;gap:5px;display:flex}.toolkit-item-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.toolkit-name{color:var(--ink);font-family:Verdana,Geneva,Tahoma,sans-serif;font-size:14px}.toolkit-label{letter-spacing:.1em;color:gray;text-align:right;font-size:10px;font-weight:700}.sketched-bar{display:block}.toolkit-note{color:var(--ink-faded);font-size:12px}@media (width<=900px){.toolkit-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.toolkit-grid{grid-template-columns:1fr}}.interests-section{border-bottom:2px solid var(--ink);background:radial-gradient(circle, var(--paper-edge) 1px, transparent 1px);background-size:20px 20px;padding:80px 32px}.interests-board{grid-template-columns:repeat(3,1fr);gap:32px 24px;display:grid}.interest-card{border:2px solid var(--ink);background:var(--paper);box-shadow:4px 4px 0 var(--ink);flex-direction:column;gap:12px;padding:24px 20px 20px;display:flex;position:relative}.interest-annotation{letter-spacing:.12em;color:var(--highlight);background:var(--paper);padding:0 4px;font-size:9px;position:absolute;top:-18px;right:12px}.interest-pin{opacity:.7;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.interest-icon-wrap{align-items:flex-start;display:flex}.pixel-icon{image-rendering:pixelated}.interest-title{letter-spacing:.15em;color:var(--ink);font-size:13px}.interest-desc{color:var(--ink-soft);font-size:14px;line-height:1.5}@media (width<=900px){.interests-board{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.interests-board{grid-template-columns:1fr}}.about-section{border-bottom:2px solid var(--ink);padding:80px 32px}.about-grid{grid-template-columns:220px 1fr 180px;align-items:start;gap:48px;display:grid}.about-portrait-col{flex-direction:column;gap:10px;display:flex}.about-bio{color:var(--ink-soft);letter-spacing:-1.2px;font-family:Courier New,Courier,monospace;font-size:24px;font-weight:600}.about-portrait-frame{border:2.5px solid var(--ink);border-radius:var(--wobble-4);box-shadow:4px 4px 0 var(--ink);overflow:hidden}.about-portrait-img{width:100%;height:auto;image-rendering:pixelated;display:block}.about-caption{color:var(--ink-faded);font-size:12px}.about-bio-col{flex-direction:column;gap:20px;padding-top:4px;display:flex}.about-bio{font-size:var(--type-body);color:var(--ink-soft);line-height:1.7}.about-motto{border:2.5px solid var(--ink);border-radius:var(--wobble-2);box-shadow:4px 4px 0 var(--ink);align-self:flex-start;margin-top:8px;padding:20px 24px 20px 20px;display:inline-block;position:relative;transform:rotate(-1.2deg)}.about-motto-eyebrow{background:var(--paper);color:var(--ink-faded);padding:0 6px;font-size:10px;position:absolute;top:-10px;left:14px}.about-motto-text{font-family:var(--font-display);color:var(--ink);font-size:clamp(28px,3.5vw,46px);line-height:1.15}.about-stats-col{flex-direction:column;gap:16px;display:flex}.stat-box{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:var(--paper);flex-direction:column;gap:4px;padding:16px;display:flex}.stat-num{font-family:var(--font-display);color:var(--ink);font-size:clamp(32px,4vw,48px);line-height:1}.stat-label{letter-spacing:.12em;color:var(--ink-faded);white-space:pre-line;font-size:10px}@media (width<=900px){.about-grid{grid-template-rows:auto auto;grid-template-columns:180px 1fr}.about-stats-col{flex-flow:wrap;grid-column:1/-1}.stat-box{flex:1;min-width:100px}}@media (width<=600px){.about-grid{grid-template-columns:1fr}.about-portrait-frame{max-width:200px}}.contact-section{grid-template-columns:1fr auto;align-items:end;gap:48px;padding:80px 32px 60px;display:grid}.contact-inner{flex-direction:column;gap:28px;display:flex}.contact-heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:clamp(64px,10vw,128px);line-height:.9}.contact-body{font-size:var(--type-body);color:var(--ink-soft);line-height:1.6;font-weight:var(--font-medium);max-width:520px;margin-top:32px}.contact-links{flex-direction:column;gap:16px;list-style:none;display:flex}.contact-link-item{flex-wrap:wrap;align-items:baseline;gap:0;display:flex}.contact-link-label{letter-spacing:.15em;color:var(--ink);min-width:80px;font-size:12px}.contact-link-dash{color:var(--ink-faded);margin-right:8px}.contact-link-value-wrap{flex-direction:column;gap:2px;display:flex}.contact-link-value{color:var(--ink-soft);font-size:15px;transition:color .15s}.contact-link-value:hover{color:var(--highlight)}.contact-doodle{flex-direction:column;align-items:center;gap:8px;padding-bottom:16px;display:flex}.contact-doodle-label{letter-spacing:.15em;color:var(--ink-faded);font-size:10px}@media (width<=768px){.contact-section{grid-template-columns:1fr}.contact-doodle{display:none}}.footer{background:var(--ink)}.footer-inner{flex-direction:column;gap:6px;padding:24px 32px;display:flex}.footer-line{color:var(--paper-edge);letter-spacing:.05em;font-size:12px}.footer-declaration{color:var(--ink-faded)}.resume-page{max-width:900px;margin:0 auto;padding:40px 32px 80px}.resume-top-bar{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.resume-back{letter-spacing:.15em;color:var(--ink-faded);font-size:12px;transition:color .12s}.resume-back:hover{color:var(--ink)}.resume-download{background:var(--highlight);color:#fff;letter-spacing:.15em;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);padding:8px 16px;font-size:12px;transition:box-shadow .15s,transform .15s}.resume-download:hover{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.resume-image-wrap{border:2.5px solid var(--ink);box-shadow:10px 10px 0 var(--ink);transition:box-shadow .2s,transform .2s;transform:rotate(-.4deg)}.resume-image-wrap:hover{box-shadow:6px 6px 0 var(--ink);transform:rotate(0)translate(4px,4px)}.resume-img{width:100%;height:auto;display:block}@media (width<=600px){.resume-page{padding:24px 16px 60px}}.work-all-page{min-height:100svh}.work-all-header{border-bottom:3px solid var(--ink);flex-direction:column;gap:32px;padding:60px 32px 40px;display:flex}.work-all-header-top{justify-content:space-between;align-items:flex-end;display:flex}.work-all-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-top:8px;font-size:clamp(48px,7vw,88px);line-height:.95}.work-all-back{color:var(--ink-faded);white-space:nowrap;padding-bottom:8px;font-size:13px;transition:color .15s}.work-all-back:hover{color:var(--highlight)}.work-all-filters{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.work-filter-btns{flex-wrap:wrap;gap:8px;display:flex}.work-filter-btn{letter-spacing:.15em;color:var(--ink-soft);border:1.5px solid var(--paper-edge);background:var(--paper);cursor:pointer;padding:4px 12px;font-size:11px;transition:all .15s}.work-filter-btn:hover,.work-filter-btn.active{background:var(--highlight);color:var(--paper);border-color:var(--highlight);box-shadow:2px 2px 0 var(--ink)}.work-all-grid{grid-template-columns:repeat(3,1fr);gap:24px;padding:40px 32px;display:grid}.work-all-card{border:2px solid var(--ink);background:var(--paper);box-shadow:3px 3px 0 var(--ink);flex-direction:column;gap:10px;padding:20px;transition:border-radius .15s,transform .15s,box-shadow .15s;display:flex;position:relative}.work-all-card:hover{box-shadow:5px 5px 0 var(--ink);transform:rotate(-.5deg);border-radius:var(--wobble-5)!important}.work-all-card-top{justify-content:space-between;display:flex}.work-featured-tag{letter-spacing:.15em;color:var(--paper);background:var(--highlight);align-self:flex-start;padding:2px 6px;font-size:9px}.work-all-card-title{font-family:var(--font-body);color:var(--ink);font-size:18px;font-weight:600;line-height:1.2}.work-all-card-desc{color:var(--ink-soft);flex:1;font-size:14px;line-height:1.5}.work-all-card-stack{color:var(--ink-faded);font-size:12px}@media (width<=900px){.work-all-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.work-all-grid{grid-template-columns:1fr}.work-all-header-top{flex-direction:column;align-items:flex-start;gap:16px}}
