@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:300;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/martian-mono-cyrillic-300-normal.B9UIvQz3.woff2) format("woff2"),url(/_astro/martian-mono-cyrillic-300-normal.KuvwTveM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/martian-mono-latin-ext-300-normal.Bpb8wd8o.woff2) format("woff2"),url(/_astro/martian-mono-latin-ext-300-normal.M6vh4dAz.woff) format("woff");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:Martian Mono;font-style:normal;font-display:swap;font-weight:300;src:url(/_astro/martian-mono-latin-300-normal.luGXoQVE.woff2) format("woff2"),url(/_astro/martian-mono-latin-300-normal.By_yFnu4.woff) format("woff");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:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/martian-mono-cyrillic-400-normal.BCR-5knY.woff2) format("woff2"),url(/_astro/martian-mono-cyrillic-400-normal.Br6HGNtH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/martian-mono-latin-ext-400-normal.CqsZQCXg.woff2) format("woff2"),url(/_astro/martian-mono-latin-ext-400-normal.CBFElp5P.woff) format("woff");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:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/martian-mono-latin-400-normal.DZsjfPjH.woff2) format("woff2"),url(/_astro/martian-mono-latin-400-normal.DM4nBGIh.woff) format("woff");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:Martian Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAkEAA8AAAAAC9wAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABwAAAAcACEAD0dQT1MAAAF0AAAAHgAAAB5EdEx1R1NVQgAAAZQAAAAnAAAAKLj8uOpPUy8yAAABvAAAAFQAAABgZvB9qFNUQVQAAAIQAAAANwAAAEDzW98ZY21hcAAAAkgAAABoAAAAjFU69oFnYXNwAAACsAAAAAgAAAAIAAAAEGdseWYAAAK4AAAD1gAABR5TQFICaGVhZAAABpAAAAA1AAAANh3TuCtoaGVhAAAGyAAAAB8AAAAkBtr/w2htdHgAAAboAAAAMAAAAFg3ugZqbG9jYQAABxgAAAAwAAAAMA/QEMptYXhwAAAHSAAAABoAAAAgACcAnm5hbWUAAAdkAAABFgAAAlIy2FpbcG9zdAAACHwAAACHAAAAzbQ5fwAAAQAAAAwAAAAAAAAAAgACAAEAAwABAAkAEAABAAEAAAAKABwAHAABREZMVAAIAAQAAAAA//8AAAAAAAB42mNgZGBg4GJQA0ImFzefEAahnMSSPAY+BhBgARH//4NIAFpJBVUAeNpjYGHaw/iFgZWBgamLKYKBgcEbQjPGMRgxZgBFuRk4mRiAgAXIZgfSQA4E+Pn7uTIcYFBQ2ML84r8FUIETwy+g8HSQHFMEswKQUmBgBgBRVQxyeNodhMEBQAAQw9IDAGAEmwF/sLg/aJMgRIgB7d8OO4dtkeCcl00gXEoEmFIGQAjk64IHn6IFRAB42k3IwQ3BABSA4a/tiwRVjYhzV+kkdnAyjjNXA7ABF45mwABPOEhP/58PJSosVYpfwxYrrcpIp7dzLso4xDXu8e6OmQx8H5e4xevr+cxTbrLPAuCx9n/UGq0FGJuZaEzN1doPMEYZ8gABAAH//wAPeNp0UkV441YQnvfkSCGzpXBiWYkUhyNwmMkB29t1l5mZmZmZGY5lun/l9lLmXoq3XsrHRN6xvAwGwS/NDzMDDEwEoAsZP15xkAmguUV3megWvW5xInWZueRds1Ml0xn/6K+l9MexmXQ5UKjGmlNYw0EWVng1r8RIDMF/9cfff3yo/dcOQkfskWQNsZmjZBfpNN+FRCJVZ/NQGQgAVvNQBB/cx9n7uA+PH+D1XsSXoU6W5Yu/991L/jCvEt38NOlr0y9rft8EFPoT/9AoXYGMQQBi6LIUYFlOaqeaKvBuyZBYNiDLhh5qyGFZ3idoaihkGOSbruZgZ3n6FnZgc2zDrm1+YXhlvHrONJ8i1yjBviDZYm9sL9DKBhY2rFtmrmmSyqpiemSuYz4XFP2K0lXuB9SekviLrkftAigF8Ao5SfIGzUGllGIILQi8j+XKRFlBXxz7HVesjNSG8za5hpd1T9rW1bM1HlvTQoi5geRyuVJvWMknaf3Bhtqqjmn1kTML5xyPhI/Ns+dlL24uVQ0UIdCWUOgeOgN4VNSSX4ZlUU/RBEu9QWrbf7H88Nav+YnN46Zza7IKc4T8rKL5dIbZRd4Zi3eFJz9fUlRYMjvJ1Yz+T2KfBeSyqND6w1TM+6/XrN3xsquup2Zokn19ZoGPL7D7lv7M+M3nyOtju9ui8rSpZWK5GqEFSb4h9HaMqYdagDTOin6XTg3psqI0YBdcVlNyJDk5J1eqYTgvlrzOycFwR2sfM9nG+91ud6VzW9fQpYvjN/eym52RzknxaLx1yLGZ7Wn2ZxWzlWKVWleZZXflu6mtL3PmYnL7q74DsyZOOW1+fToem7pL9D5rvxC39svCbXdxv4Un+3Ha2tN0Cxcgx9rHKZhrC85Ze2Yua94PR+N9D2V7+YlsHWp7b9+eiZG13cxae6RlePy4sBF2rmN7GoofT9fPlsgn58w7HetYG+0eWjF31pKOpoFlRS70a+0+04N+0wCABd8oIGptpYWyKTQd0dTeMFFEOQsV8ETAwHcP4cQaMRkurRJqqKuXDA2HLxpiyNCtLJx0b5U5jZdYjhN58aGAZElsXTshnv7zgTrZ/J+c9hVpot6bvd1+cFV4RYen5bCkSgTM7XxPs9ru2GHf61and9aUT83P9U0tqSyqzKuvWbLKmN5Wq0wtyPMgVK3X1i1dmfT3Cn2RupgesOONcFfQaj7JswVKSiRmBTc5Hp/MMT2lgUBpBD8AhGTSt0iCiQKDNw0aRzIXnTxM37p+HYAi41t0i/WMA7gzYaCsMRCvieiqjKqcOBOoCAgAof4RMAAAeNpjYGRgAOHceAvWeH6brwzMzC8YgOD28/dTQfT9Jy0F/5/9Z2TmYnECctkYmECiAFv1DNYAAAB42mNgZGBgfvHfgoGB6d3/Z3/bmbmAIqhAFACm7gagAHjaY9rDEAbEuki4CYjdgDgSiG2B2AqIvWByUH4kmhoGKDZlYGBYw8jFsAYA2zEVTgAAABoANgBCAE4AZACiANwBAgEqAXIBfgGKAZYB4gHtAfgCAwIDAgMCUwJuAnwCj3jaY2BkYGAQZ/BjYAdiVjAPAZgZGAERywDGAAB42o3QBUoGMBjG8b/dQRqU3d1B2ITdNH7d3TfwBB5AGjySJ/AUPoyvmzH4bW+xAf180UZLew/w0zKcdQtz/GXdyiC/WbdxxHfW7UU5HYzzmXUnM9izHmSPNYxboJ+prFvoZTTrTt33Zy0Bd4SIEsCCn1sc2PGQ0PkdjxzHLTlklxRHWytMjCPWtWLYiCoaJi6vEZP9rJmeLsXvueKGWyw6xxWzENQpRFB7tWTemxw19YoywSZrbKBVpGPuuNe+lJrp+SS7JL/JLa2YyNdMlNSc6yZMhmj+zRNsaba29KIbBxN1ej3oPoQXBzZTe0rC/FvIvG6ChYo/dOExGQmsrGEjREC3DpK698vFk2KKBLKzFv8BPh5YaQAAeNpiYGIAg/9zGIyAFCMDOhAHYhWGk4AWptoAYQAI/uEOY9DFkxaHHXB3iMv00a/ODyUa0oxWtEEZFVRRQx0NNNFCm8rooIse+hjUxif76l/r3u8pqrJS4Hhc4Exk1AtcyJxP2JcYDc6LvTgWM5TFidrO38//7+kcNY9nz8153lLESQLNRilQAA==) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/martian-mono-cyrillic-500-normal.DejhKr-t.woff2) format("woff2"),url(/_astro/martian-mono-cyrillic-500-normal.CQ32KwDP.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/martian-mono-latin-ext-500-normal.CPN1Info.woff2) format("woff2"),url(/_astro/martian-mono-latin-ext-500-normal.CYMi9jUC.woff) format("woff");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:Martian Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/martian-mono-latin-500-normal.BWC8e-kx.woff2) format("woff2"),url(/_astro/martian-mono-latin-500-normal.BsOs1ffX.woff) format("woff");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}:root{--navy:#0a1120;--navy-2:#0d1626;--card:#0e1828;--line:#1d2c45;--line-2:#2a3f5e;--white:#eaf0fa;--dim:#90a4c2;--faint:#566f92;--accent:#f3a23a;--accent-soft:#c9802a;--accent-glow:rgba(243,162,58,.35);--mono:"Martian Mono",ui-monospace,monospace;--disp:"Cabinet Grotesk","Space Grotesk",sans-serif;--maxw:1080px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--navy);color:var(--white);font-family:var(--disp);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}.warp{position:fixed;inset:0;z-index:-3;width:100%;height:100%;display:block}.scrim{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(130% 100% at 50% 45%,transparent 50%,rgba(6,10,20,.82) 100%)}.pglow{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(243,162,58,.07),transparent 60%);mix-blend-mode:screen;opacity:0}@media(hover:hover){.pglow{opacity:1}}main,.contact{position:relative;z-index:1}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(120,160,210,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(120,160,210,.035) 1px,transparent 1px);background-size:64px 64px;-webkit-mask:radial-gradient(120% 90% at 50% 0%,#000 30%,transparent 80%);mask:radial-gradient(120% 90% at 50% 0%,#000 30%,transparent 80%)}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--navy)}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.5rem,5vw,2.5rem)}.mono{font-family:var(--mono)}.lbl{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}.lbl.acc{color:var(--accent)}header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(1.5rem,5vw,2.5rem);transition:background .3s,border-color .3s;border-bottom:1px solid transparent}header.stuck{background:#0a1120cc;backdrop-filter:blur(10px);border-color:var(--line)}header .brand{font-weight:800;font-size:15px;letter-spacing:.01em}header nav{display:flex;gap:26px}header nav a{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);transition:color .2s}header nav a:hover{color:var(--accent)}header nav a.resume{color:var(--accent)}@media(max-width:640px){header nav{display:none}}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;position:relative}.hello{display:block;font-family:var(--mono);font-size:14px;letter-spacing:.02em;color:var(--accent);margin-bottom:18px}.hero h1{font-weight:800;font-size:clamp(2.8rem,9vw,6.5rem);line-height:.98;letter-spacing:-.02em}.hero h1 .accent{color:var(--accent)}.hero .lead{margin-top:24px;max-width:30ch;font-size:clamp(1.1rem,2.2vw,1.5rem);color:var(--dim);font-weight:400;line-height:1.4;text-shadow:0 2px 30px rgba(6,10,20,.6)}.hero .meta{margin-top:40px;display:flex;gap:34px;flex-wrap:wrap}.hero .meta div{display:flex;flex-direction:column;gap:5px}.hero .meta b{font-family:var(--mono);font-size:12px;font-weight:400;color:var(--white);letter-spacing:.02em}.hero-copy{position:relative;max-width:min(640px,60%)}.globe-wrap{position:absolute;right:-50px;top:50%;transform:translateY(-50%);width:min(54vw,560px);height:min(54vw,560px);z-index:-1}.globe{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}.globe:active{cursor:grabbing}body.dragging,body.dragging *{user-select:none;cursor:grabbing}.globe-hint{position:absolute;left:50%;bottom:18%;transform:translate(-50%);white-space:nowrap;font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--faint);opacity:.8;transition:opacity .5s;pointer-events:none}@media(max-width:760px){.globe-wrap{opacity:.4;right:-24%;pointer-events:none}.hero-copy{max-width:100%}.globe-hint{display:none}}@media(hover:none){.globe-hint{display:none}}.scrollcue{position:absolute;bottom:24px;left:50%;font-size:20px;line-height:1;color:var(--accent);opacity:.75;animation:bob 1.8s ease-in-out infinite}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,7px)}}@media(prefers-reduced-motion:reduce){.scrollcue{animation:none;transform:translate(-50%)}}section{padding-block:clamp(5rem,12vh,9rem)}.shead{display:flex;align-items:baseline;gap:16px;margin-bottom:56px}.shead h2{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--white);font-weight:400}.shead .ix{font-family:var(--mono);font-size:12px;color:var(--accent)}.shead .rule{flex:1;height:1px;background:var(--line);transform-origin:left center}.projects{display:flex;flex-direction:column}.proj{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:center;padding:32px 0;transition:padding .3s;position:relative}.proj+.proj{border-top:1px solid var(--line)}.proj .frame{justify-self:end;width:360px}.proj.linked{cursor:pointer}.proj.linked:hover{padding-inline-start:14px}.proj-links a{position:relative;z-index:1}.proj .code{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent)}.proj h3{font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:700;letter-spacing:-.01em;margin:10px 0 12px;line-height:1.05}.proj p{color:var(--dim);max-width:46ch;font-weight:400}.proj .tags{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}.proj .tags span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);background:#ffffff0a;padding:5px 9px;border-radius:2px}.proj .view{margin-top:22px;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--white)}.proj .view .ar{color:var(--accent);transition:transform .25s}.proj:hover .view .ar{transform:translate(4px,-4px)}.proj .diagram{justify-self:end;width:220px;height:140px}.proj .diagram svg{width:100%;height:100%;overflow:visible}.d{stroke:var(--line-2);fill:none;stroke-width:1.4;vector-effect:non-scaling-stroke}.ds{stroke:var(--line);fill:none;stroke-width:1;vector-effect:non-scaling-stroke}.da{stroke:var(--accent);fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke}.dot{fill:var(--accent)}.filltint{fill:#78a0d214;stroke:var(--line-2);stroke-width:1.2;vector-effect:non-scaling-stroke}.fillacc{fill:#f3a23a2e;stroke:var(--accent);stroke-width:1.4;vector-effect:non-scaling-stroke}.fillsoft{fill:#f3a23a17;stroke:none}.glowdot{filter:drop-shadow(0 0 5px var(--accent-glow))}@media(max-width:680px){.proj{grid-template-columns:1fr;gap:24px}.proj .frame{justify-self:stretch;width:100%;order:-1}}.log{display:flex;flex-direction:column}.log a{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:22px 0;transition:padding .25s,color .2s}.log a+a{border-top:1px solid var(--line)}.log a:hover{padding-inline-start:14px}.log .li{display:flex;flex-direction:column;gap:5px}.log .t{font-size:1.15rem;font-weight:500}.log .s{color:var(--dim);font-size:.95rem}.log .ar{color:var(--accent);transition:transform .25s}.log a:hover .ar{transform:translate(4px,-4px)}.about{display:grid;grid-template-columns:1.4fr 1fr;gap:60px}.about p{font-size:1.25rem;line-height:1.55;color:var(--white);font-weight:400;max-width:34ch}.about p .dim{color:var(--dim)}.facts{display:flex;flex-direction:column;gap:22px}.facts div{display:flex;flex-direction:column;gap:6px}.facts b{font-family:var(--mono);font-size:13px;font-weight:400;color:var(--white)}@media(max-width:680px){.about{grid-template-columns:1fr;gap:32px}}.contact{padding-block:clamp(5rem,14vh,10rem)}.contact .big{font-size:clamp(2.4rem,7vw,4.5rem);font-weight:800;letter-spacing:-.02em;line-height:1}.contact .big a{color:var(--accent)}.contact .links{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap}.contact .links a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-2);padding:13px 18px;border-radius:2px;transition:.2s}.contact .links a:hover{color:var(--accent);border-color:var(--accent);background:#f3a23a0d}footer{padding:30px 0 50px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.proj .result{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--faint);line-height:1.7}.proj-links{margin-top:16px;display:flex;gap:20px}.proj-links a{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);transition:color .2s}.proj-links a:hover{color:var(--accent)}.proj-links .ar{color:var(--accent);transition:transform .25s}.proj-links a:hover .ar{transform:translate(3px,-3px)}.soon-tag{font-size:9px;letter-spacing:.14em;color:var(--accent);background:#f3a23a1a;padding:2px 6px;border-radius:2px;vertical-align:middle;margin-left:6px}.proj.soon{opacity:.65}.soon-frame{border-style:dashed}.frame.tinted:after{content:"";position:absolute;inset:0;background:#0a112061;pointer-events:none}.hf{animation:hand-flex 2.6s ease-in-out infinite}@keyframes hand-flex{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(prefers-reduced-motion:reduce){.hf{animation:none}}.research .lead2{font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.5;color:var(--dim);font-weight:400;max-width:54ch}.research .focus{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px}.research .focus span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);background:#ffffff0a;padding:6px 11px;border-radius:2px}.pubs{margin-top:48px}.pub{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:baseline;padding:18px 0;border-top:1px solid var(--line);transition:padding .2s,color .2s}.pub:last-child{border-bottom:1px solid var(--line)}.pub:hover{padding-inline-start:10px;color:var(--white)}.pub .pt{font-weight:500;color:var(--white);font-size:1.05rem;transition:color .2s}.pub:hover .pt{color:var(--accent)}.pub .venue{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.04em;text-align:right;white-space:nowrap;transition:color .2s}.pub:hover .venue{color:var(--accent)}@media(max-width:600px){.pub{grid-template-columns:1fr}.pub .venue{text-align:left}}.exp{display:flex;flex-direction:column}.exp .row{display:grid;grid-template-columns:150px 1fr;gap:36px;padding:30px 0}.exp .row+.row{border-top:1px solid var(--line)}.exp .when{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.04em}.exp .org{font-size:1.3rem;font-weight:700;letter-spacing:-.01em}.exp .role{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-top:4px}.exp ul{margin-top:14px;list-style:none;display:flex;flex-direction:column;gap:7px}.exp li{position:relative;padding-left:18px;color:var(--dim);font-size:.97rem}.exp li:before{content:"›";position:absolute;left:0;color:var(--accent)}@media(max-width:640px){.exp .row{grid-template-columns:1fr;gap:14px}}.stack{display:flex;flex-direction:column;gap:16px}.stack>div{display:grid;grid-template-columns:108px 1fr;gap:20px;align-items:baseline}.stack dt{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.stack dd{color:var(--dim);font-size:.97rem}@media(max-width:680px){.stack>div{grid-template-columns:88px 1fr;gap:14px}}.frame{position:relative;border:1px solid var(--line);border-radius:3px;aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;background:linear-gradient(180deg,var(--navy-2),var(--navy));transition:border-color .3s,transform .3s}.proj:hover .frame{border-color:var(--line-2);transform:translateY(-3px)}.frame svg{width:64%;height:auto;opacity:.9}.frame img{width:100%;height:100%;object-fit:cover;display:block}.frame .ph{position:absolute;bottom:8px;left:10px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:var(--faint)}.portrait{aspect-ratio:2/3;max-width:260px;margin-top:-48px}.r,[data-reveal] li{opacity:0}@media(prefers-reduced-motion:reduce){.r,[data-reveal] li{opacity:1}}.post{max-width:680px;padding-top:8rem;padding-bottom:6rem}.post .back{display:inline-block;margin-bottom:2rem}.post .date{display:block;color:var(--faint);margin-bottom:.6rem}.post h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.05;margin-bottom:1.5rem}.prose{margin-top:2rem;color:var(--dim);line-height:1.8;font-weight:400}.prose :global(h2){color:var(--white);font-size:1.5rem;margin:2rem 0 .75rem}.prose :global(p){margin-bottom:1.1rem}.prose :global(a){color:var(--accent);border-bottom:1px solid var(--line-2)}.prose :global(code){font-family:var(--mono);font-size:.85em;color:var(--accent);background:var(--navy-2);padding:.1em .4em;border-radius:2px}
