@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/5789866e1f6c0b3a-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/1d8a6ab50b58c98f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/6864518888912bb6-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/10b966b6a52e2569-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/854bb2d01eefbe38-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/f3d49a6cc42289e4-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/a8a4bee916c8efc4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/b741e17df1a92217-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e92542ed07ddbaee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/251df36401e2f093-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/d19148a489889c3f-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/6e3dff35a8d2b87a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/8b7d2a0269fd9b46-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/32e223c2320c378a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/35a91d7a43063ba6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/f21e69bb6a61306e-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/c1d45af601cdd93b-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/435a224332f9f6c3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/bd7993bb7a0d0ec6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_3acd87;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/be134c60f3754e50-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/2654dbf24aea7c5c-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/28d9a5bcdfe1d85c-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f9ab74ff5df93b56-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f884487c2e174fcf-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f36144f235cd456e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__IBM_Plex_Mono_3acd87;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__IBM_Plex_Mono_Fallback_3acd87;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3acd87{font-family:__IBM_Plex_Mono_3acd87,__IBM_Plex_Mono_Fallback_3acd87}.__variable_3acd87{--font-ibm-plex-mono:"__IBM_Plex_Mono_3acd87","__IBM_Plex_Mono_Fallback_3acd87"}:root{--bg:#fafaf9;--text:#1c1917;--text-secondary:#78716c;--border:#d6d3d1;--nav-hover:#57534e}[data-theme=dark]{--bg:#0c0a09;--text:#e7e5e4;--text-secondary:#a8a29e;--border:#292524;--nav-hover:#d6d3d1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c0a09;--text:#e7e5e4;--text-secondary:#a8a29e;--border:#292524;--nav-hover:#d6d3d1}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--font-ibm-plex-mono),monospace;font-size:14px;line-height:1.7;font-weight:300;min-height:100vh;transition:background-color .3s ease,color .3s ease}.page-container{max-width:640px;margin:0 auto;padding:80px 24px 120px;opacity:0;animation:fadeIn .6s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.site-title{font-weight:400;cursor:default}.theme-toggle{background:none;border:1px solid var(--border);color:var(--text-secondary);font-family:inherit;font-size:12px;padding:4px 8px;cursor:pointer;border-radius:4px;transition:all .2s ease}.theme-toggle:hover{border-color:var(--text);color:var(--text)}.nav{display:flex;gap:24px;margin-bottom:80px}.nav-link{color:var(--text);text-decoration:none;transition:color .2s ease}.nav-link:hover{color:var(--nav-hover)}.section{margin-bottom:100px;scroll-margin-top:40px}.section-title{text-transform:uppercase;letter-spacing:.1em;margin-bottom:24px;display:block}.footer,.section-title{font-size:12px;color:var(--text-secondary)}.footer{border-top:1px solid var(--border);padding-top:32px}.project-entry,.work-entry{border-bottom:1px solid var(--border);padding:24px 0}.project-entry:last-child,.work-entry:last-child{border-bottom:none}.project-header,.work-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.company-name,.project-name{font-size:14px;font-weight:500}.work-period{font-size:12px;color:var(--text-secondary)}.project-description,.work-description{font-size:13px;font-weight:300;line-height:1.6}.project-description{color:var(--text-secondary);margin-bottom:12px}.project-link{display:inline-block;font-size:13px;color:var(--text);text-decoration:none;margin-top:8px;transition:opacity .2s ease}.project-link:hover{opacity:.7}.project-media{margin-top:16px;border-radius:8px;overflow:hidden;max-width:100%;border:1px solid var(--border)}[data-theme=dark] .project-media{box-shadow:0 4px 20px rgba(0,0,0,.4)}.project-media img,.project-media video{display:block;width:100%;height:auto}.project-media-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:16px}.writing-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--border)}.writing-row:last-child{border-bottom:none}.writing-title{font-size:14px;text-decoration:none;color:var(--text);transition:opacity .2s ease}.writing-title:hover{opacity:.6}.writing-source{font-size:12px;color:var(--text-secondary)}.contact-row{display:flex;gap:24px;margin-top:24px}.contact-link{font-size:13px;color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.contact-link:hover{color:var(--text)}.about-footer{margin-top:32px;font-size:12px;color:var(--text-secondary)}.photo-grid{display:grid;grid-template-columns:1fr;grid-gap:32px;gap:32px}.photo-item{cursor:pointer}.photo-item img{width:100%;border-radius:4px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.08)}[data-theme=dark] .photo-item img{box-shadow:0 2px 8px rgba(0,0,0,.3)}.photo-caption{margin-top:4px;font-size:13px;color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px}.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:1000;padding:40px}.lightbox-content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-content img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:4px}.lightbox-caption{margin-top:16px;color:#fff;font-size:14px;text-decoration:underline;text-underline-offset:2px}.text-secondary{color:var(--text-secondary)}::selection{background-color:var(--text);color:var(--bg)}@media (max-width:640px){.page-container{padding-top:40px;padding-bottom:80px}.header{margin-bottom:32px}.nav{gap:16px;margin-bottom:60px}.section{margin-bottom:80px}}@media (max-width:480px){.page-container{padding-left:16px;padding-right:16px}.nav{flex-wrap:wrap;gap:12px 16px}.work-header{flex-direction:column;align-items:flex-start;gap:4px}.project-media-grid{grid-template-columns:1fr}.writing-row{flex-direction:column;align-items:flex-start;gap:4px}}