@font-face{font-family:__Outfit_ed3508;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98848575513c9742-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:__Outfit_ed3508;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-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:__Outfit_Fallback_ed3508;src:local("Arial");ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.00%;size-adjust:99.82%}.__className_ed3508{font-family:__Outfit_ed3508,__Outfit_Fallback_ed3508;font-style:normal}.__variable_ed3508{--font-outfit:"__Outfit_ed3508","__Outfit_Fallback_ed3508"}@font-face{font-family:__Plus_Jakarta_Sans_646807;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:__Plus_Jakarta_Sans_646807;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:__Plus_Jakarta_Sans_646807;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-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:__Plus_Jakarta_Sans_646807;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:__Plus_Jakarta_Sans_Fallback_646807;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_646807{font-family:__Plus_Jakarta_Sans_646807,__Plus_Jakarta_Sans_Fallback_646807;font-style:normal}.__variable_646807{--font-jakarta:"__Plus_Jakarta_Sans_646807","__Plus_Jakarta_Sans_Fallback_646807"}:root{--bg:#09090b;--surface:#18181b;--surface-hover:#27272a;--text:#f4f4f5;--text-muted:#a1a1aa;--border:#27272a;--primary:#8b5cf6;--primary-glow:conic-gradient(from 180deg at 50% 50%,#2a8af6 0deg,#a853ba 180deg,#e92a67 360deg);--accent:#2dd4bf;--font-sans:var(--font-jakarta),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-heading:var(--font-outfit),var(--font-sans)}*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark}body{margin:0;padding:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;color:#fff;line-height:1.1;letter-spacing:-.02em;margin:0}a{color:inherit;text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary)}.site{position:relative;overflow-x:hidden;min-height:100vh}.container{width:min(1000px,100% - 48px);margin:0 auto}.topbar{position:fixed;top:24px;left:50%;transform:translateX(-50%);width:min(600px,90%);z-index:50;background:rgba(24,24,27,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.08);border-radius:999px;padding:8px;box-shadow:0 4px 20px rgba(0,0,0,.2)}.topbar-inner{display:flex;justify-content:space-between;align-items:center;width:100%;margin:0;padding:0 16px}.brand{font-weight:700;font-size:.95rem;letter-spacing:-.01em;color:#fff}.topbar nav{display:flex;gap:24px;align-items:center}.topbar nav a{display:inline-flex;align-items:center;font-size:.9rem;font-weight:500;color:var(--text-muted)}.topbar nav a:hover{color:#fff}.topbar nav .contact-link{display:flex;align-items:center;gap:6px;color:#fff;background:hsla(0,0%,100%,.08);padding:6px 12px;border-radius:999px;font-size:.85rem;transition:background .2s}.topbar nav .contact-link:hover{background:hsla(0,0%,100%,.15)}.menu-toggle{display:none;background:transparent;border:none;color:#fff;font-weight:600;cursor:pointer}.hero{padding:180px 0 100px;position:relative}.hero:before{content:"";position:absolute;top:-20%;left:50%;transform:translateX(-50%);width:800px;height:600px;background:radial-gradient(circle at center,rgba(139,92,246,.15) 0,transparent 70%);z-index:-1;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1fr;grid-gap:48px;gap:48px;text-align:center;justify-items:center}.hero-avatar{position:relative}.hero-avatar img{border-radius:50%;width:140px;height:140px;object-fit:cover;border:4px solid var(--surface);box-shadow:0 0 0 2px var(--border)}.eyebrow{display:inline-block;padding:6px 14px;border-radius:999px;background:rgba(139,92,246,.1);color:var(--primary);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:24px;border:1px solid rgba(139,92,246,.2)}.hero-copy h1{font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.03em;background:linear-gradient(to bottom right,#fff 30%,#a1a1aa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:24px}.hero-lead{font-size:1.25rem;color:var(--text-muted);max-width:55ch;margin:0 auto 32px}.hero-actions{gap:16px;flex-wrap:wrap;margin-top:32px}.hero-actions,.hero-actions a.btn{display:flex;justify-content:center}.hero-actions a.btn{align-items:center;gap:10px;padding:12px 24px;border-radius:999px;font-weight:600;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;background:var(--surface);border:1px solid var(--border);color:var(--text-muted)}.hero-actions a.btn:hover{transform:translateY(-2px);color:#fff;border-color:hsla(0,0%,100%,.2);box-shadow:0 4px 20px rgba(0,0,0,.2)}.hero-actions a.btn-email:hover{background:linear-gradient(135deg,rgba(239,68,68,.1),rgba(239,68,68,0));border-color:#ef4444;color:#ef4444}.hero-actions a.btn-linkedin:hover{background:linear-gradient(135deg,rgba(10,102,194,.1),rgba(10,102,194,0));border-color:#0a66c2;color:#0a66c2}.hero-actions a.btn-github:hover,.hero-actions a.btn-twitter:hover{background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0));border-color:#fff;color:#fff}.hero-stats{display:flex;gap:40px;margin-top:40px;padding:24px;border-top:1px solid var(--border)}.hero-stats p{display:flex;flex-direction:column;align-items:center;margin:0;gap:6px}.hero-stats strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.hero-stats span{font-weight:600;color:#fff}section{padding:100px 0}section h2{font-size:2.5rem;margin-bottom:48px;text-align:center;letter-spacing:-.02em}.about p{max-width:65ch;margin:0 auto 24px;font-size:1.125rem;color:#d4d4d8}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));grid-gap:32px;gap:32px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column}.project-card:hover{transform:translateY(-6px);border-color:#52525b;box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}.project-image{background:#000;aspect-ratio:16/10;overflow:hidden;position:relative}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}.project-card:hover .project-image img{transform:scale(1.08)}.project-image-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(45deg,var(--surface),var(--surface-hover));color:var(--text-muted);font-weight:600}.project-content{padding:28px;flex:1 1;display:flex;flex-direction:column}.tag{display:inline-flex;align-items:flex-start;font-size:.75rem;line-height:1.3;min-height:2.6em;font-weight:700;color:var(--accent);margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.project-content h3{font-size:1.5rem;margin-bottom:12px;letter-spacing:-.01em}.project-content p{color:var(--text-muted);font-size:1rem;margin-bottom:24px}.project-description{flex:1 1}.project-content a{font-weight:600;color:#fff;border-bottom:1px solid hsla(0,0%,100%,.3);align-self:flex-start;font-size:.95rem}.project-content a:hover{border-bottom-color:var(--primary);color:var(--primary)}@media (max-width:768px){.topbar{top:0;width:100%;border-radius:0;border-top:none;border-left:none;border-right:none;background:rgba(24,24,27,.95)}.menu-toggle{display:block}.topbar nav{display:none;position:absolute;top:100%;left:0;right:0;background:#18181b;flex-direction:column;padding:24px;border-bottom:1px solid var(--border);box-shadow:0 10px 20px rgba(0,0,0,.5)}.topbar nav.is-open{display:flex}.hero{padding-top:120px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;width:100%;padding:0 16px}.hero-actions a.btn{width:100%;padding:14px 12px;font-size:.9rem}.hero-stats{flex-direction:column;gap:24px;border:1px solid var(--border);border-radius:12px;background:var(--surface);width:100%}.hero-copy h1{font-size:2.5rem}.project-grid{grid-template-columns:1fr}}