@font-face{font-family:"DM Sans";font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/dm-sans-latin-ext.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:"DM Sans";font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/dm-sans-latin.woff2)format("woff2");unicode-range:U+0000-00FF,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:"Inter";font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/inter-cyrillic-ext.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:"Inter";font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/inter-cyrillic.woff2)format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Inter";font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/inter-greek-ext.woff2)format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:"Inter";font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/inter-greek.woff2)format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Inter";font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/inter-vietnamese.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:"Inter";font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/inter-latin-ext.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:"Inter";font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+0000-00FF,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:"Roboto Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-mono-cyrillic-ext.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:"Roboto Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-mono-cyrillic.woff2)format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Roboto Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-mono-greek.woff2)format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Roboto Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-mono-vietnamese.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:"Roboto Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-mono-latin-ext.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:"Roboto Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-mono-latin.woff2)format("woff2");unicode-range:U+0000-00FF,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}*{margin:0;padding:0;box-sizing:border-box}body{color:#111;background-color:#fcfcfc;line-height:1.6;font-family:"DM Sans",sans-serif}.nav-container{position:relative;width:100%;height:120px;overflow:hidden;margin-bottom:0}.nav-image,.overlay{width:100%;height:100%}.nav-image{object-fit:cover;filter:grayscale(40%)}.overlay{position:absolute;top:0;left:0;background:linear-gradient(90deg,#fcfcfc 0,rgba(252,252,252,.8) 25%,rgba(252,252,252,0) 100%);display:flex;flex-direction:column;justify-content:center;padding-left:12%}.name,.title{font-family:"Inter",sans-serif;font-size:2.2rem;font-weight:300;letter-spacing:-.7px}.title{font-size:.85rem;font-weight:400;letter-spacing:2px;text-transform:uppercase;opacity:.6;margin-top:5px}.below-strip{max-width:1300px;margin:0 auto;padding:.5rem 2rem 0;display:grid;grid-template-columns:repeat(12,1fr);gap:0 1.5rem}.below-strip-cell{grid-column:1/11;display:flex;justify-content:flex-end}.bl-link{font-family:"DM Sans",sans-serif;font-size:.92rem;font-weight:400;color:#111;text-decoration:none;display:inline-flex;align-items:baseline;gap:.5rem;padding:4px 0;opacity:.7;white-space:nowrap;flex-shrink:0;border-bottom:1px solid rgba(0,0,0,.3);transition:opacity .2s,border-color .2s}.bl-link:hover{opacity:1;border-bottom-color:#111}.bl-arrow{font-size:.95rem;opacity:.5;transition:transform .2s,opacity .2s}.bl-link:hover .bl-arrow{opacity:1;transform:translateX(4px)}.layout-grid{display:grid;grid-template-columns:repeat(12,1fr);max-width:1300px;margin:0 auto;gap:5rem 1.5rem;padding:6rem 2rem}h2,section{position:relative}#about,#links,#projects{grid-column:3/11}h2{font-family:"Inter",sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:2.5rem;font-weight:500;color:#666;display:inline-block;margin-left:30px}h2:before{content:"";position:absolute;width:20px;height:1px;background:#000;left:-30px;top:50%;transform:translateY(-50%)}p{margin-bottom:1.5rem;font-size:1rem;line-height:1.8;opacity:.87}p:last-child{margin-bottom:0}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4rem}.project-card{position:relative;padding-top:1.5rem}.project-card:before{content:none}.project-title{font-family:"Inter",sans-serif;font-size:1.1rem;font-weight:500;margin-bottom:1rem;letter-spacing:-.3px}.project-desc{font-size:.95rem;line-height:1.7}.tech{font-family:"Roboto Mono",monospace;font-size:.75rem;opacity:.6;margin-top:1rem}.links{display:flex;flex-wrap:wrap;gap:3.5rem;margin-top:.5rem}.link-item{text-decoration:none;color:#111;font-size:1rem;position:relative;transition:opacity .2s;padding:3px 0}.link-item:after{content:"";position:absolute;width:0;height:1px;background:#000;left:0;bottom:0;transition:width .3s}.link-item:hover:after,.nav-link:hover:after{width:100%}.link-item:hover{opacity:.7}footer{text-align:center;padding:4rem 0 2rem;font-size:.8rem;opacity:.5;letter-spacing:.5px}.overlay{padding-left:calc(((100% - 1300px)/2) + 2rem + ((1300px - 4rem)*2/12))}@media (max-width:1300px){.overlay{padding-left:calc(2rem + (100% - 4rem)*2/12)}}@media (max-width:1100px){#about,#links,#projects{grid-column:2/12}.overlay{padding-left:calc(1.5rem + (100% - 3rem)*1/6)}.below-strip-cell{grid-column:1/13}}@media (max-width:900px){.layout-grid{grid-template-columns:repeat(6,1fr);gap:4rem 1rem;padding:4rem 1.5rem}#about,#links,#projects{grid-column:1/7}.projects-grid{grid-template-columns:1fr;gap:3rem}.name{font-size:1.8rem}.links{gap:2rem}.nav-container{height:100px}.overlay{padding-left:1.5rem}.below-strip{padding:.5rem 1.5rem 0;gap:0 1rem;grid-template-columns:repeat(6,1fr)}.below-strip-cell{grid-column:1/7}}.link-item:focus-visible{outline:2px solid #000;outline-offset:2px}.nav-links{position:absolute;top:0;right:0;height:100%;display:flex;align-items:center;padding-right:calc(((100% - 1300px)/2) + 2rem);z-index:10}.nav-link{font-family:"Inter",sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:2px;color:#fcfcfc;text-decoration:none;opacity:.85;text-shadow:0 1px 6px rgba(0,0,0,.55);transition:opacity .2s;padding:3px 0;position:relative}.nav-link:after{content:"";position:absolute;width:0;height:1px;background:currentColor;left:0;bottom:0;transition:width .3s}.nav-link:hover{opacity:1}.nav-link:focus-visible{outline:2px solid #fcfcfc;outline-offset:2px;opacity:1}@media (max-width:1300px){.nav-links{padding-right:2rem}}@media (max-width:900px){.nav-links{padding-right:1.5rem}}