@font-face{font-family:__Bebas_Neue_d758cf;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8b44c7e6549520b2-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:__Bebas_Neue_d758cf;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6c25f6e897d845a3-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:__Bebas_Neue_Fallback_d758cf;src:local("Arial");ascent-override:117.32%;descent-override:39.11%;line-gap-override:0.00%;size-adjust:76.72%}.__className_d758cf{font-family:__Bebas_Neue_d758cf,__Bebas_Neue_Fallback_d758cf;font-weight:400;font-style:normal}.__variable_d758cf{--font-display:"__Bebas_Neue_d758cf","__Bebas_Neue_Fallback_d758cf"}@font-face{font-family:__DM_Mono_415136;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/14d5a68041329f7f-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:__DM_Mono_415136;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/268f004ea3786b37-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:__DM_Mono_415136;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/eff95c6845f9d0bc-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:__DM_Mono_415136;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/5d259b4d93dec8ad-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:__DM_Mono_415136;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/8d0a1832fd3be0c8-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:__DM_Mono_415136;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/d7df244fe7b07b95-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:__DM_Mono_415136;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64418ffc17e50301-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:__DM_Mono_415136;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e96d314a90a6138-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:__DM_Mono_Fallback_415136;src:local("Arial");ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.00%;size-adjust:134.59%}.__className_415136{font-family:__DM_Mono_415136,__DM_Mono_Fallback_415136}.__variable_415136{--font-mono:"__DM_Mono_415136","__DM_Mono_Fallback_415136"}@font-face{font-family:__DM_Sans_c95b6f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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:__DM_Sans_c95b6f;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:__DM_Sans_c95b6f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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:__DM_Sans_c95b6f;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:__DM_Sans_c95b6f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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:__DM_Sans_c95b6f;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:__DM_Sans_Fallback_c95b6f;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_c95b6f{font-family:__DM_Sans_c95b6f,__DM_Sans_Fallback_c95b6f;font-style:normal}.__variable_c95b6f{--font-body:"__DM_Sans_c95b6f","__DM_Sans_Fallback_c95b6f"}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fff;--surface:#f5f5f5;--border:#d0d0d0;--accent:#000;--text:#111;--muted:#888;--mono:var(--font-mono,"DM Mono"),monospace;--display:var(--font-display,"Bebas Neue"),sans-serif;--body:var(--font-body,"DM Sans"),sans-serif}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--body);font-weight:300;line-height:1.6;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:999;opacity:.4}@media (pointer:fine){*{cursor:none!important}}.cursor-dot{width:6px;height:6px;background:#111;border-radius:50%;z-index:10000;margin:-3px 0 0 -3px}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;opacity:0;will-change:transform}.cursor-ring{width:36px;height:36px;border:1px solid hsla(0,0%,7%,.45);border-radius:50%;z-index:9999;margin:-18px 0 0 -18px}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:#111;z-index:10001;transition:width .08s linear;pointer-events:none}.reveal-hidden{opacity:0;transform:translateY(24px)}.reveal-visible{opacity:1;transform:translateY(0);transition:opacity .65s ease,transform .65s ease}.container{max-width:760px;margin:0 auto;padding:0 24px}.marquee-wrap{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:9px 0;margin:0 -24px}.marquee-track{display:flex;white-space:nowrap;animation:marquee 24s linear infinite}.marquee-track span{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--muted);text-transform:uppercase}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.hero{padding:80px 0 48px;border-bottom:1px solid var(--border);animation:fadeUp .6s ease both}.hero-label{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}.hero-label span{display:inline-block;width:24px;height:1px;background:var(--accent);vertical-align:middle;margin-right:10px;margin-bottom:2px}.hero-name{font-family:var(--display);font-size:clamp(72px,14vw,120px);line-height:.9;letter-spacing:.02em;color:var(--text);margin-bottom:28px}.hero-name em{color:var(--accent);font-style:normal}.hero-name.is-glitching{animation:glitch-shake .35s ease both}@keyframes glitch-shake{0%,to{transform:none;filter:none}20%{transform:translate(-3px,1px) skew(.8deg);filter:hue-rotate(90deg) saturate(2)}40%{transform:translate(3px,-1px) skew(-.5deg);filter:hue-rotate(-90deg)}60%{transform:translate(-1px,2px);filter:none}80%{transform:translate(2px,-2px) skew(.4deg);filter:hue-rotate(45deg)}}.glitch-secret{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.1em;margin-top:4px;animation:fadeUp .3s ease both}.hero-tagline{font-size:15px;color:#666;max-width:520px;line-height:1.7;font-weight:300}.hero-tagline strong{color:var(--text);font-weight:500}.exploring{margin-top:28px;display:inline-flex;align-items:center;gap:10px;background:#f0f0f0;border:1px solid #ccc;padding:8px 16px;font-family:var(--mono);font-size:12px;color:#111;letter-spacing:.05em;transition:border-color .2s,background .2s}.exploring:hover{border-color:#999;background:#e8e8e8}.dot{width:7px;height:7px;background:var(--accent);border-radius:50%;animation:blink 1.5s ease infinite;flex-shrink:0}.dot-secret{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.08em;animation:fadeUp .3s ease both}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.section{padding:48px 0;border-bottom:1px solid var(--border)}.section-head{display:flex;align-items:center;gap:14px;margin-bottom:32px}.section-num{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.1em}.section-title{font-family:var(--display);font-size:28px;letter-spacing:.06em;color:var(--text)}.work-card{margin-bottom:32px;padding:24px;background:var(--surface);border:1px solid var(--border);position:relative;transition:border-color .2s ease}.work-card:last-child{margin-bottom:0}.work-card:hover{border-color:#111}.work-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:bottom;transition:transform .3s ease}.work-card:hover:before{transform:scaleY(1)}.work-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:6px}.work-role{font-family:var(--mono);font-size:10px;color:var(--accent);letter-spacing:.2em;text-transform:uppercase}.work-company{font-family:var(--display);font-size:24px;letter-spacing:.04em;margin-bottom:14px;color:var(--text)}.work-bullets{list-style:none;display:flex;flex-direction:column;gap:8px}.work-bullets li{font-size:13.5px;color:#555;padding-left:16px;position:relative;line-height:1.6}.work-bullets li:before{content:"→";position:absolute;left:0;color:var(--muted);font-size:12px}.work-bullets li strong{color:#111}.work-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.link-chip{font-family:var(--mono);font-size:11px;color:var(--muted);text-decoration:none;border:1px solid var(--border);padding:4px 10px;letter-spacing:.05em;transition:all .2s ease}.link-chip:hover{color:#111;border-color:#111}.status-badge{font-family:var(--mono);font-size:10px;letter-spacing:.15em;border:1px solid #111;padding:3px 10px;color:#111;display:flex;align-items:center;gap:7px}.status-dot{width:6px;height:6px;background:#111;border-radius:50%;display:inline-block;animation:blink 1.5s ease infinite;flex-shrink:0}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}@media (max-width:560px){.projects-grid{grid-template-columns:1fr}}@media (min-width:561px) and (max-width:720px){.projects-grid{grid-template-columns:1fr 1fr}}.project-card{padding:20px;background:var(--surface);border:1px solid var(--border);text-decoration:none;display:block;transition:all .2s ease;position:relative;overflow:hidden}.project-card:after{content:"↗";position:absolute;top:16px;right:16px;font-size:14px;color:var(--muted);transition:all .2s ease}.project-card:hover{border-color:#111;background:#eee}.project-card:hover:after{color:#111;transform:translate(2px,-2px)}.project-name{font-family:var(--display);font-size:20px;letter-spacing:.04em;color:var(--text);margin-bottom:8px}.project-desc{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:12px}.project-tags{display:flex;flex-wrap:wrap;gap:6px}.project-tag{display:inline-block;font-family:var(--mono);font-size:10px;color:#555;border:1px solid #bbb;padding:2px 8px;letter-spacing:.1em}.stack-categories{display:flex;flex-direction:column;gap:18px}.stack-row{display:flex;align-items:flex-start;gap:20px}.stack-label{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;min-width:72px;padding-top:5px;flex-shrink:0}.stack-tags{display:flex;flex-wrap:wrap;gap:8px}.stack-tag{font-family:var(--mono);font-size:11px;color:#444;background:var(--surface);border:1px solid var(--border);padding:5px 12px;letter-spacing:.05em;transition:all .2s ease}.stack-tag:hover{border-color:#111;color:#111;background:#ebebeb}.links-row{display:flex;flex-wrap:wrap;gap:12px}.social-link{display:flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--mono);font-size:12px;color:var(--muted);border:1px solid var(--border);padding:10px 18px;letter-spacing:.08em;transition:all .2s ease}.social-link:hover{color:var(--text);border-color:var(--text)}.footer{padding:40px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.footer-text{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.1em}.footer-accent{color:#111;font-weight:500}.matrix-overlay{position:fixed;inset:0;z-index:9990;background:#fff;display:flex;align-items:flex-end;justify-content:center;padding-bottom:32px}.matrix-canvas{position:absolute;inset:0;display:block}.matrix-hint{position:relative;z-index:1;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.15em;text-transform:uppercase}.hire-overlay{position:fixed;inset:0;z-index:9980;background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:fadeUp .25s ease both}.hire-box{background:var(--bg);border:1px solid var(--text);padding:40px 48px;max-width:420px;width:90%;text-align:center;position:relative;animation:fadeUp .3s ease both}.hire-tag{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.2em;margin-bottom:20px}.hire-title{font-family:var(--display);font-size:56px;letter-spacing:.04em;line-height:1;margin-bottom:10px}.hire-sub{font-family:var(--mono);font-size:13px;color:var(--muted);letter-spacing:.05em;margin-bottom:28px}.hire-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hire-btn{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-decoration:none;padding:10px 20px;border:1px solid var(--text);color:var(--text);background:var(--text);color:var(--bg);transition:all .2s}.hire-btn:hover{background:var(--bg);color:var(--text)}.hire-btn-secondary{background:transparent;color:var(--text)}.hire-btn-secondary:hover{background:var(--text);color:var(--bg)}.hire-close{position:absolute;top:14px;right:16px;font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.1em;background:none;border:none;padding:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.stack-row{flex-direction:column;gap:8px}.stack-label{min-width:unset;padding-top:0}.hire-box{padding:32px 24px}.hire-title{font-size:40px}}