@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.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:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_24b337c1-module__-cE_Pq__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_24b337c1-module__-cE_Pq__variable{--font-sans:"Manrope", "Manrope Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_b1fbbf4d-module__CKbUBG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_b1fbbf4d-module__CKbUBG__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--bg:#070b10;--surface:#0c1118;--surface-2:#10171e;--text:#edf2f2;--muted:#94a0a9;--subtle:#63727d;--line:#222c34;--mint:#a2decd;--orange:#ff805b;--page-width:1280px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans), sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.7}::selection{background:var(--mint);color:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a,button{touch-action:manipulation}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.15}svg{flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:6px;border-radius:4px}.container{width:min(calc(100% - 112px), var(--page-width));margin-inline:auto}.section-space{padding-block:114px}.eyebrow{font-family:var(--font-mono), monospace;letter-spacing:.11em;color:#bac6cb;align-items:center;gap:12px;font-size:12px;font-weight:400;line-height:1.5;display:flex}.section-number{color:var(--orange);margin-right:7px}.skip-link{z-index:100;background:var(--mint);color:var(--bg);padding:10px 20px;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.text-link{background:0 0;align-items:center;gap:10px;padding:0;font-size:14px;transition:color .2s;display:inline-flex}.text-link:hover{color:var(--mint)}.button-primary,.button-outline{border-radius:4px;justify-content:center;align-items:center;gap:24px;min-height:54px;padding:16px 23px;font-size:14px;font-weight:600;line-height:1.4;transition:background .2s,transform .2s;display:inline-flex}.button-primary{background:var(--mint);color:#102621}.button-primary:hover{background:#c0f1e2;transform:translateY(-2px)}.button-outline{border:1px solid var(--line)}.button-outline:hover{background:var(--surface-2)}.icon-button{border:1px solid var(--line);background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,color .2s;display:inline-flex}.icon-button:hover{color:var(--mint);background:#1a252c}.site-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#070b10e8;border-bottom:1px solid #ffffff0c;height:88px;position:relative}.header-inner{width:min(calc(100% - 112px), var(--page-width));justify-content:space-between;align-items:center;height:100%;margin:auto;display:flex}.identity{letter-spacing:-.5px;align-items:center;gap:14px;font-size:17px;font-weight:650;display:flex}.monogram{letter-spacing:-5px;margin-right:6px;font-size:28px;font-weight:700;line-height:1;display:inline-block;position:relative}.monogram span{font-style:italic}.monogram i{background:var(--orange);border-radius:50%;width:5px;height:5px;position:absolute;top:-2px;right:-8px}.identity-dot{color:var(--mint)}.desktop-nav{align-items:center;gap:34px;margin-left:75px;display:flex}.desktop-nav a{color:#9ba7b0;font-size:13px;transition:color .2s}.desktop-nav a:hover{color:#fff}.nav-spark{color:var(--mint);padding-left:4px;font-size:16px}.header-contact{border-bottom:1px solid #5b696c;align-items:center;gap:24px;padding-block:7px;font-size:13px;display:flex}.header-contact:hover{color:var(--mint)}.menu-trigger{display:none}.mobile-navigation{background:#0c1118;padding:12px 24px 24px;position:absolute;top:100%;left:0;right:0;box-shadow:0 18px 24px #0007}.mobile-navigation a{border-bottom:1px solid var(--line);justify-content:space-between;padding:16px 0;display:flex}.hero{background:var(--bg);height:calc(100svh - 88px);min-height:730px;max-height:930px;position:relative;overflow:hidden}.hero-content{z-index:2;pointer-events:none;align-items:center;height:100%;padding-bottom:110px;display:flex;position:relative}.hero-copy{pointer-events:none;max-width:560px}.hero-copy a{pointer-events:auto}.tiny-line{background:var(--orange);width:22px;height:1px}.hero h1{letter-spacing:-.075em;margin-top:30px;margin-left:-6px;font-size:clamp(64px,7.6vw,110px);font-weight:500;line-height:1.065}.hero h1 span{color:var(--mint)}.hero-description{color:#a7b3ba;letter-spacing:-.2px;max-width:400px;margin-top:27px;font-size:17px;line-height:1.85}.hero-links{align-items:center;gap:24px;margin-top:35px;display:flex}.hero-github{color:#bdc9cd;place-items:center;width:36px;height:36px;display:grid}.hero-github:hover{color:var(--mint)}.hero-location{font-family:var(--font-mono), monospace;letter-spacing:.07em;border-left:1px solid var(--line);color:#74868f;padding-left:22px;font-size:10px;line-height:1.7}.field-experience{z-index:1;position:absolute;inset:0}.field-canvas{position:absolute;inset:0}.field-canvas canvas{width:100%;height:100%;display:block}.field-annotation{font-family:var(--font-mono), monospace;letter-spacing:.08em;color:#709491;pointer-events:none;gap:13px;font-size:10px;line-height:1.9;display:flex;position:absolute;top:51px;left:58%}.field-annotation span span{color:#466365;font-size:9px;display:block}.crosshair{font-size:24px;line-height:1}.field-axis{width:45px;height:45px;font-family:var(--font-mono), monospace;color:#4a7475;pointer-events:none;font-size:10px;position:absolute;top:44%;right:52px}.field-axis i{border-bottom:1px solid #3c5759;border-left:1px solid #3c5759;width:29px;height:29px;position:absolute;top:6px;left:6px}.field-axis span{position:absolute;top:-16px;left:3px}.field-axis b{font-weight:400;position:absolute;bottom:0;right:-5px}.field-controls{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b151ade;border:1px solid #24403d;border-radius:7px;align-items:center;gap:22px;padding:14px 16px;scroll-margin-top:55vh;display:flex;position:absolute;bottom:76px;right:56px}.field-info{align-items:center;gap:10px;min-width:203px;display:flex}.status-dot{background:var(--mint);border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block;box-shadow:0 0 8px #a2decd55}.status-dot.is-paused{box-shadow:none;background:#65737b}.field-name{color:#cbdbd9;font-size:12px;line-height:1.6;display:block}.field-hint{font-size:9px;font-family:var(--font-mono), monospace;color:#6b8a87;line-height:1.6;display:block}.field-mode{border:1px solid #253b3a;border-radius:4px;gap:3px;padding:3px;display:flex}.field-mode button{color:#829f9c;background:0 0;border-radius:2px;padding:7px 11px;font-size:11px;line-height:1.5}.field-mode button:hover{color:#d6eeeb}.field-mode button[aria-pressed=true]{color:#bfe5d9;background:#24413b}.field-actions{gap:4px;display:flex}.field-actions .icon-button{color:#8fa7a6;border:0;width:32px;height:32px}.field-telemetry{font-family:var(--font-mono), monospace;letter-spacing:.08em;color:#4f7272;pointer-events:none;gap:21px;font-size:9px;display:flex;position:absolute;bottom:43px;right:59px}.scroll-cue{z-index:3;font-family:var(--font-mono), monospace;letter-spacing:.09em;color:#7c8b95;align-items:center;gap:14px;font-size:10px;display:flex;position:absolute;bottom:46px;left:56px}.scroll-line{background:linear-gradient(#29343e,#a2decd);width:1px;height:36px}.hero-index{display:none}.field-experience:fullscreen{background:#070b10}.field-expanded .field-canvas{inset:0 15% 0 -15%}.field-expanded .field-controls{right:50%;transform:translate(50%)}.field-expanded .field-annotation{left:56px}.field-expanded .field-telemetry{white-space:nowrap;right:50%;transform:translate(50%)}.disciplines{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}.disciplines .container{justify-content:space-between;align-items:center;gap:30px;display:flex}.disciplines span{font-family:var(--font-mono), monospace;color:#81999f;letter-spacing:.08em;white-space:nowrap;font-size:10px}.disciplines p{color:#a4aeb5;align-items:center;gap:28px;font-size:13px;display:flex}.disciplines i{color:#5d7b76;font-size:18px;font-style:normal}.section-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px;display:flex}.section-heading h2,.about-section h2{letter-spacing:-.054em;margin-top:22px;font-size:clamp(38px,4.1vw,58px);line-height:1.18}.section-heading h2 span,.about-section h2 span{color:#8b969f}.section-heading>p{color:var(--muted);padding-bottom:4px;font-size:14px;line-height:1.9}.project-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.project-card{border:1px solid var(--line);background:#0b1016;border-radius:8px;transition:border-color .25s,transform .3s;overflow:hidden}.project-card:hover{border-color:#536d69;transform:translateY(-5px)}.project-card-content{padding:28px 30px 30px}.project-meta{font-family:var(--font-mono), monospace;letter-spacing:.025em;text-transform:uppercase;color:#81908f;justify-content:space-between;gap:16px;font-size:10px;display:flex}.project-index{color:#81999f}.project-title-line{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.project-title-line h3{letter-spacing:-1px;font-size:28px}.project-arrow{color:#99adae;border:1px solid #26323b;border-radius:50%;place-items:center;width:34px;height:34px;transition:background .2s,color .2s;display:grid}.project-card:hover .project-arrow{background:var(--mint);color:#092522;border-color:var(--mint)}.project-card-content>p{color:var(--muted);max-width:390px;min-height:50px;margin-top:12px;font-size:14px;line-height:1.8}.project-tags{flex-wrap:wrap;gap:7px;margin-top:23px;display:flex}.project-tags span,.project-page-tags span{color:#9caab1;font-size:10px;line-height:1.5;font-family:var(--font-mono), monospace;border:1px solid #28323a;border-radius:3px;padding:5px 9px}.project-visual{background-color:#0b1516;background-image:radial-gradient(#9ecac616 .7px,#0000 .7px);background-size:18px 18px;border-bottom:1px solid #20302e;height:295px;position:relative;overflow:hidden}.project-visual>svg{width:100%;height:100%;padding:3px 8px;display:block}.visual-label{font-family:var(--font-mono), monospace;letter-spacing:.12em;color:#65827e;z-index:1;font-size:9px;position:absolute;top:22px;left:25px}.diagram-caption{font-family:var(--font-mono), monospace;letter-spacing:.09em;color:#65827e;align-items:center;gap:10px;font-size:9px;display:flex;position:absolute;bottom:20px;left:25px}.diagram-caption i{background:currentColor;border-radius:50%;width:3px;height:3px}.visual-slam{background-color:#0d141d;background-image:linear-gradient(#28414f20 1px,#0000 1px),linear-gradient(90deg,#28414f20 1px,#0000 1px);background-size:24px 24px;border-color:#26333f}.visual-slam .visual-label,.visual-slam .diagram-caption{color:#647c8f}.visual-social{background-color:#17121e;background-image:radial-gradient(#bca5df12 .7px,#0000 .7px);border-color:#352b3c}.visual-social .visual-label,.visual-social .diagram-caption{color:#8c789a}.visual-memento{background-color:#19150f;background-image:radial-gradient(#d0ad7616 .7px,#0000 .7px);border-color:#3c3022}.visual-memento .visual-label,.visual-memento .diagram-caption{color:#937b5c}.diagram-signal{opacity:.65}.radar-sweep{transform-origin:310px 163px;transform:rotate(-25deg)}.more-projects{margin-top:54px}.more-projects>.eyebrow{color:#6f808a;margin-bottom:17px;font-size:10px}.project-row{border-top:1px solid var(--line);align-items:center;gap:23px;padding:27px 0;transition:padding .2s,background .2s;display:flex}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row:hover{background:#0d131a;padding-inline:12px}.row-icon{color:#90abae;background:#111c24;border:1px solid #263840;border-radius:6px;place-items:center;width:46px;height:46px;display:grid}.project-row h3{letter-spacing:-.5px;font-size:19px}.project-row p{color:var(--muted);margin-top:6px;font-size:13px}.row-category{font-family:var(--font-mono), monospace;color:#71858b;margin-left:auto;font-size:10px}.project-row>svg{color:#8bada9;margin-left:25px}.about-section{border-block:1px solid var(--line);background:#0a0f15}.about-grid{grid-template-columns:1fr 1fr;gap:70px;display:grid}.about-section h2{margin-top:28px;font-size:51px}.about-section h2 span{color:var(--mint)}.about-location{color:#adbbbf;flex-wrap:wrap;align-items:center;gap:9px;margin-top:35px;font-size:12px;display:flex}.location-dot{border:1px solid var(--mint);border-radius:50%;width:6px;height:6px}.about-location>span:last-child{width:100%;font-family:var(--font-mono), monospace;color:#81999f;margin-left:15px;font-size:9px;display:block}.about-copy{padding-top:42px}.about-copy>p{color:#a4b0b8;margin-bottom:20px;font-size:16px;line-height:1.95}.education{border-top:1px solid var(--line);gap:15px;margin-top:28px;padding-top:25px;display:flex}.education-symbol{color:var(--mint);font-size:31px;line-height:1}.education strong{margin-bottom:4px;font-size:14px;font-weight:500;display:block}.education div span{color:#8b9aa4;font-size:12px;line-height:1.9;display:block}.education div span:last-child{font-family:var(--font-mono), monospace;color:#64847e;margin-top:4px;font-size:10px}.skills-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:28px;margin-top:65px;padding-top:32px;display:grid}.skill-index{font-family:var(--font-mono), monospace;color:#81999f;font-size:10px}.skills-grid h3{margin:13px 0 12px;font-size:14px}.skills-grid p{color:#82959e;font-size:12px;line-height:2}.experience-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:46px}.experience-details summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding-block:24px;font-size:14px;list-style:none;display:flex}.experience-details summary::-webkit-details-marker{display:none}.experience-details summary>span{color:#899ba4;align-items:center;gap:14px;font-size:11px;display:flex}.details-open{display:none}.experience-details[open] .details-open{display:inline}.experience-details[open] .details-closed{display:none}.experience-details[open] summary svg{transform:rotate(-90deg)}.experience-list article{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:25px;padding:25px 0;display:grid}.experience-period{font-family:var(--font-mono), monospace;color:#89a39b;font-size:12px}.experience-list h3{margin-bottom:6px;font-size:19px}.experience-list article div>span{color:#96a9ae;font-size:12px}.experience-list p{color:var(--muted);max-width:580px;margin-top:12px;font-size:14px}.activity-section{grid-template-columns:1fr 1.45fr;gap:95px;padding-block:105px;display:grid}.activity-heading h3{letter-spacing:-1.6px;margin-top:22px;font-size:36px}.activity-heading p{color:#899ca6;margin:16px 0 25px;font-size:14px}.activity-heading .text-link{font-size:12px}.activity-feed{border:1px solid var(--line);background:#0b1117;border-radius:6px;align-self:center;overflow:hidden}.feed-top{font-family:var(--font-mono), monospace;letter-spacing:.03em;color:#809791;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:15px 20px;font-size:9px;display:flex}.feed-top>span:first-child{align-items:center;gap:9px;display:flex}.feed-top>span:last-child{color:#93a6ad}.feed-empty{color:#8c9ca5;min-height:130px;padding:30px 23px;font-size:13px}.feed-empty .text-link{color:#b4d9ce;margin-top:15px}.activity-list{margin:0;padding:0;list-style:none}.activity-list li+li{border-top:1px solid #ffffff08}.activity-list a{align-items:center;gap:13px;padding:17px 20px;transition:background .2s;display:flex}.activity-list a:hover{background:#122019}.event-icon{color:#8fcbb6;background:#132a23;border:1px solid #29433a;border-radius:4px;place-items:center;width:30px;height:30px;display:grid}.event-info{flex:1;min-width:0}.event-info strong{overflow-wrap:anywhere;font-size:12px;font-weight:500;line-height:1.5;display:block}.event-info>span{color:#7d9097;font-size:11px;line-height:1.5;display:block}.activity-list time{font-family:var(--font-mono), monospace;white-space:nowrap;color:#93a6ad;font-size:9px}.activity-list a>svg{color:#617b80}.feed-foot{border-top:1px solid var(--line);font-family:var(--font-mono), monospace;color:#8aa6ad;justify-content:space-between;padding:11px 20px;font-size:8px;display:flex}.feed-foot span{font-size:8px}.contact-section{border-top:1px solid #34423f;padding-block:65px 90px;position:relative}.contact-top{justify-content:space-between;align-items:center;display:flex}.contact-asterisk{color:var(--orange);font-size:80px;line-height:.6;display:block}.contact-section h2{letter-spacing:-.065em;margin-top:32px;font-size:clamp(62px,7.4vw,104px);line-height:1.1}.contact-section h2 span{color:var(--mint)}.contact-bottom{justify-content:space-between;align-items:flex-end;gap:40px;margin-top:35px;display:flex}.contact-bottom p{color:#96a6af;font-size:14px;line-height:1.9}.contact-actions{align-items:center;gap:19px;margin-top:30px;display:flex;position:relative}.contact-email{letter-spacing:-.7px;border-bottom:1px solid #687b77;align-items:center;gap:35px;padding-bottom:7px;font-size:23px;transition:color .2s;display:flex}.contact-email:hover{color:var(--mint)}.copy-button{color:#738b91;border:0;margin-top:-7px}.copy-status{color:var(--mint);margin-top:7px;font-size:11px;position:absolute;top:100%;left:0}.social-links{gap:30px;margin-bottom:11px;display:flex}.social-links a{color:#afbfc4;align-items:center;gap:17px;font-size:13px;display:flex}.social-links a:hover{color:var(--mint)}.site-footer{border-top:1px solid var(--line);font-family:var(--font-mono), monospace;color:#697f89;justify-content:space-between;align-items:center;gap:20px;padding-block:27px;font-size:10px;display:flex}.site-footer a{color:#abbdbd}.site-footer a:hover{color:var(--mint)}.project-page{padding-top:45px}.back-link{font-family:var(--font-mono), monospace;color:#8da49d;font-size:11px}.project-page-heading{max-width:950px;padding-top:70px}.project-page-heading h1{letter-spacing:-.06em;margin-top:23px;font-size:clamp(48px,6.5vw,86px);line-height:1.1}.project-page-heading>p:not(.eyebrow){color:#91a9a5;max-width:730px;margin-top:25px;font-size:21px;line-height:1.65}.project-page-tags{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.project-page-tags span{padding:6px 11px;font-size:12px}.project-page-visual{margin-top:50px}.project-page-visual .project-visual{border:1px solid var(--line);border-radius:8px;height:430px}.project-page-visual .project-visual svg{max-width:800px;height:100%;margin:auto}.project-page-visual>span{font-family:var(--font-mono), monospace;color:#81999f;text-align:right;margin-top:10px;font-size:10px;display:block}.project-story{grid-template-columns:1fr 2fr;gap:80px;padding:80px 0 100px;display:grid}.project-story dl{font-size:14px}.project-story dt{color:#657e82;font-size:11px;font-family:var(--font-mono), monospace;margin-top:23px}.project-story dd{color:#b9c7c9;margin:7px 0 0}.project-story aside .button-outline{margin-top:20px;font-size:12px}.project-story h2{letter-spacing:-1px;margin-bottom:20px;font-size:29px}.project-story>div>p{color:#9eb0b4;margin-bottom:50px;font-size:17px;line-height:1.95}.project-story ul{margin:0 0 30px;padding:0;list-style:none}.project-story li{border-top:1px solid var(--line);gap:20px;padding:20px 0;display:flex}.project-story li>span{font-family:var(--font-mono), monospace;color:var(--mint);margin-top:5px;font-size:11px}.project-story li p{color:#a2b4b6;font-size:15px;line-height:1.9}.next-project{border-block:1px solid var(--line);padding-block:40px;display:block}.next-project>div{justify-content:space-between;align-items:center;gap:40px;margin-top:20px;display:flex}.next-project h2{letter-spacing:-1.5px;font-size:42px}.next-project:hover{color:var(--mint)}.project-footer{font-family:var(--font-mono), monospace;color:#75898b;justify-content:space-between;gap:20px;padding:30px 0;font-size:10px;display:flex}.not-found{padding-block:100px}.not-found h1{letter-spacing:-.06em;margin:30px 0 40px;font-size:clamp(44px,7vw,88px)}.not-found h1 span{color:var(--mint)}@keyframes signal{0%,70%,to{opacity:.15}80%{opacity:.9}}@keyframes sweep{to{transform:rotate(360deg)}}@media (min-width:1500px){.field-controls{right:max(56px,50vw - 640px)}.field-telemetry{right:max(59px,50vw - 637px)}.scroll-cue{left:max(56px,50vw - 640px)}}@media (max-width:1150px){.container,.header-inner{width:calc(100% - 72px)}.desktop-nav{gap:24px;margin-left:0}.hero{min-height:690px}.hero h1{font-size:86px}.hero-copy{max-width:460px}.hero-description{max-width:340px;font-size:16px}.field-controls{gap:12px;right:36px}.field-info{min-width:173px}.field-hint{font-size:8px}.field-telemetry{right:40px}.scroll-cue{font-size:9px;left:36px}.disciplines p{gap:16px;font-size:11px}.disciplines span{font-size:9px}.about-grid{gap:45px}.about-section h2{font-size:44px}.row-category{display:none}.project-row>svg{margin-left:auto}.activity-section{gap:40px}.feed-top{font-size:8px}.feed-foot{flex-direction:column;gap:3px}.contact-email{gap:16px;font-size:21px}.social-links{gap:20px}.project-title-line h3{font-size:25px}.project-visual{height:260px}}@media (max-width:850px){.hero{height:830px;min-height:0;max-height:none}.hero-content{align-items:flex-start;padding-top:76px}.hero h1{font-size:78px}.hero-copy{max-width:425px}.field-canvas{opacity:.85}.field-annotation{top:37px;left:auto;right:35px}.field-annotation span span{font-size:8px}.field-controls{justify-content:space-between;bottom:70px;left:36px;right:36px}.field-telemetry{bottom:43px}.scroll-cue,.hero-location{display:none}.disciplines .container{display:block}.disciplines p{flex-wrap:wrap;justify-content:space-between;gap:9px;margin-top:12px}.disciplines i:last-child{display:none}.disciplines p{font-size:12px}.section-space{padding-block:80px}.section-heading h2{font-size:42px}.section-heading>p{font-size:12px}.project-card-content{padding:24px}.project-visual{height:230px}.project-title-line h3{font-size:23px}.project-card-content>p{font-size:13px}.project-meta{font-size:8px}.about-grid{grid-template-columns:1fr;gap:32px}.about-section h2{font-size:50px}.about-copy{padding-top:0}.about-location{margin-top:24px}.skills-grid{grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.activity-section{grid-template-columns:1fr;gap:30px;padding-block:70px}.activity-heading h3{font-size:38px}.activity-heading p{margin-bottom:15px}.feed-top{font-size:10px}.feed-foot{flex-direction:row;gap:12px}.contact-bottom{flex-direction:column;align-items:flex-start}.contact-section h2{font-size:76px}.contact-section{padding-bottom:60px}.site-footer{flex-wrap:wrap;font-size:9px}.site-footer>span:nth-child(2){display:none}.project-story{grid-template-columns:1fr;gap:40px;padding-block:45px 60px}.project-story aside{border-bottom:1px solid var(--line);padding-bottom:30px}.project-story dl{flex-wrap:wrap;align-items:center;column-gap:16px;display:flex}.project-story dt{margin:0}.project-story dd{margin:0 20px 0 0}.project-story .eyebrow{margin-bottom:20px}.project-page-heading{padding-top:45px}.project-page-visual .project-visual{height:350px}}@media (max-width:600px){html{scroll-padding-top:30px}.container,.header-inner{width:calc(100% - 44px)}.site-header{height:74px}.identity{gap:13px;font-size:15px}.monogram{font-size:25px}.desktop-nav,.header-contact{display:none}.menu-trigger{border:0;display:flex}.hero{height:875px}.hero-content{align-items:flex-start;padding-top:53px;padding-bottom:0}.hero .eyebrow{letter-spacing:.07em;gap:8px;font-size:9px}.tiny-line{width:15px}.hero h1{letter-spacing:-.07em;margin:24px 0 0 -3px;font-size:clamp(52px,15vw,84px);line-height:1.08}.hero-description{max-width:320px;margin-top:22px;font-size:14px;line-height:1.8}.hero-links{gap:20px;margin-top:25px}.button-primary{gap:22px;min-height:48px;padding:14px 19px;font-size:12px}.hero-github svg{width:19px}.field-canvas{opacity:1;inset:140px 0 50px}.field-annotation{opacity:.8;font-size:8px;top:425px;left:24px;right:auto}.field-annotation .crosshair{font-size:20px}.field-annotation span span{font-size:7px}.field-axis{top:64%;right:27px;transform:scale(.8)}.field-controls{flex-wrap:wrap;gap:13px;padding:13px 12px;bottom:64px;left:22px;right:22px}.field-info{order:1;width:calc(100% - 84px);min-width:0}.field-name{font-size:12px}.field-hint{font-size:8px}.field-mode{flex:1;order:3}.field-mode button{flex:1;padding:6px 13px;font-size:11px}.field-actions{order:2}.field-controls .icon-button{width:30px}.field-telemetry{gap:15px;font-size:7px;bottom:36px;left:24px;right:auto}.field-telemetry span:last-child{font-size:6px}.field-experience:fullscreen .field-canvas{inset:0}.field-expanded .field-controls{left:22px;right:22px;transform:none}.field-expanded .field-telemetry{left:24px;right:auto;transform:none}.field-expanded .field-annotation{top:34px;left:24px}.disciplines{padding:20px 0}.disciplines .container>span{font-size:8px}.disciplines p{grid-template-columns:1fr auto 1fr;justify-items:start;gap:9px 14px;font-size:10px;display:grid}.disciplines i{font-size:13px}.disciplines i:nth-of-type(2){display:none}.disciplines i:last-child{display:block}.section-space{padding-block:65px}.eyebrow{letter-spacing:.06em;gap:8px;font-size:9px}.section-number{margin-right:3px}.section-heading{margin-bottom:30px;display:block}.section-heading h2{letter-spacing:-.055em;margin-top:18px;font-size:37px}.section-heading>p{margin-top:22px;font-size:12px;line-height:1.8}.section-heading>p br{display:none}.project-grid{grid-template-columns:1fr;gap:22px}.project-visual{height:240px}.project-card-content{padding:22px}.project-title-line h3{font-size:25px}.project-meta{font-size:9px}.project-card-content>p{min-height:0;font-size:13px}.project-tags{margin-top:20px}.project-tags span{font-size:9px}.visual-label{font-size:8px;top:18px;left:20px}.diagram-caption{font-size:7px;bottom:16px;left:20px}.more-projects{margin-top:35px}.more-projects>.eyebrow{font-size:8px}.project-row{gap:13px;padding:22px 0}.row-icon{flex-shrink:0;width:37px;height:37px}.row-icon svg{width:18px}.project-row h3{font-size:16px}.project-row p{margin-top:6px;font-size:11px;line-height:1.8}.project-row>svg{width:17px;margin-left:0}.about-grid{gap:25px}.about-section h2{margin-top:20px;font-size:39px}.about-copy>p{font-size:14px;line-height:1.9}.about-location{font-size:11px}.about-location>span:last-child{font-size:8px}.education{gap:12px}.education strong{font-size:12px}.education div span{font-size:11px}.education div span:last-child{font-size:8px}.skills-grid{gap:25px}.skill-index{font-size:9px}.skills-grid h3{margin-top:7px;font-size:12px;line-height:1.5}.skills-grid p{font-size:11px}.experience-details summary{padding-block:20px;font-size:12px}.experience-details summary>span{font-size:9px}.experience-details summary .details-closed,.experience-details summary .details-open{display:none}.experience-list article{grid-template-columns:1fr;gap:10px;padding:20px 0}.experience-list h3{font-size:17px}.experience-list p{font-size:12px}.activity-section{gap:26px;padding-block:60px}.activity-heading h3{margin-top:16px;font-size:33px}.activity-heading p{font-size:12px}.feed-top{gap:8px;padding:14px;font-size:8px}.feed-top>span:last-child{font-size:7px}.activity-list a{gap:10px;padding:15px 14px}.event-info strong{font-size:11px}.event-info>span{font-size:10px}.activity-list time{font-size:8px}.feed-foot{flex-direction:column;gap:2px;padding-inline:14px;font-size:8px}.feed-empty{padding:23px 16px;font-size:12px}.contact-section{padding-top:40px}.contact-asterisk{font-size:54px}.contact-section h2{letter-spacing:-.065em;margin-top:27px;font-size:clamp(54px,16.4vw,64px)}.contact-bottom{gap:33px;margin-top:27px}.contact-bottom p{font-size:12px;line-height:1.9}.contact-bottom p br{display:none}.contact-actions{gap:7px;max-width:100%;margin-top:23px}.contact-email{letter-spacing:-.3px;overflow-wrap:anywhere;gap:12px;font-size:16px}.contact-email svg{width:19px}.copy-button{width:30px}.copy-button svg{width:15px}.social-links{gap:30px;margin-bottom:0}.social-links a{font-size:12px}.site-footer{gap:10px;padding-block:23px;font-size:8px}.project-page{padding-top:27px}.project-page-heading{padding-top:35px}.project-page-heading h1{margin-top:18px;font-size:46px}.project-page-heading>p:not(.eyebrow){font-size:17px;line-height:1.8}.project-page-tags span{padding:5px 8px;font-size:9px}.project-page-visual{margin-top:30px}.project-page-visual .project-visual{height:260px}.project-page-visual>span{font-size:8px}.project-story{gap:30px}.project-story dl{display:block}.project-story dt{margin-top:15px}.project-story dd{margin:3px 0;font-size:13px}.project-story h2{font-size:26px}.project-story>div>p{margin-bottom:35px;font-size:15px}.project-story li p{font-size:13px}.project-story .text-link{font-size:12px}.next-project{padding-block:30px}.next-project h2{font-size:29px}.next-project>div>svg{width:26px}.project-footer{font-size:8px}.not-found{padding-block:70px}.not-found h1{font-size:48px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.project-card:hover,.button-primary:hover{transform:none}}@media (min-width:601px){.mobile-navigation{display:none}}
