*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Space Grotesk,sans-serif;background:#0d1117;color:#c9d1d9;line-height:1.6;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}ul{list-style:none}:root{--accent: #4f9eff;--green: #3dd68c;--border: rgba(255, 255, 255, .08);--card: #161b22;--muted: #8b949e}.nav{position:fixed;top:0;left:0;right:0;z-index:99;padding:0 5vw;height:64px;display:flex;align-items:center;transition:background .25s,border-color .25s;border-bottom:1px solid transparent}.nav.solid{background:#0d1117eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:var(--border)}.nav-inner{width:100%;max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:40px}.logo{font-family:JetBrains Mono,monospace;font-weight:600;font-size:.95rem;color:#e6edf3;cursor:pointer;letter-spacing:-.5px}.logo:before{content:"./";color:var(--accent)}.links{display:flex;gap:28px;margin-left:auto}.links a{font-size:.88rem;color:var(--muted);cursor:pointer;transition:color .2s;position:relative;padding-bottom:2px}.links a:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}.links a:hover,.links a.active{color:#e6edf3}.links a.active:after,.links a:hover:after{transform:scaleX(1)}.btn-nav{font-family:JetBrains Mono,monospace;font-size:.78rem;padding:7px 16px;border:1px solid var(--accent);color:var(--accent);border-radius:6px;transition:all .2s;white-space:nowrap}.btn-nav:hover{background:var(--accent);color:#0d1117}.btn-primary{display:inline-block;background:var(--accent);color:#0d1117;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:.9rem;padding:12px 28px;border:none;border-radius:8px;cursor:pointer;transition:opacity .2s,transform .2s}.btn-primary:hover{opacity:.88;transform:translateY(-1px)}.btn-primary.big{font-size:1rem;padding:14px 36px}.btn-outline{display:inline-block;color:#e6edf3;font-size:.9rem;padding:12px 28px;border:1px solid var(--border);border-radius:8px;transition:border-color .2s,color .2s}.btn-outline:hover{border-color:#e6edf3}.hero{min-height:100vh;display:flex;align-items:center;padding:100px 5vw 60px}.hero-inner{width:100%;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:60px}.hero-text{flex:1;max-width:560px}.greeting{display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--green);margin-bottom:20px;padding:6px 14px;border:1px solid rgba(61,214,140,.25);border-radius:100px;background:#3dd68c0f}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #3dd68c80}50%{box-shadow:0 0 0 5px #3dd68c00}}.hero-text h1{font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;color:#e6edf3;line-height:1.15;margin-bottom:12px}.accent{color:var(--accent)}.subtitle{font-size:1.2rem;font-weight:600;color:var(--muted);margin-bottom:24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.stack-badges{display:flex;gap:8px}.badge{font-family:JetBrains Mono,monospace;font-size:.7rem;padding:3px 10px;background:#4f9eff1f;border:1px solid rgba(79,158,255,.3);border-radius:4px;color:var(--accent)}.bio{font-size:1rem;color:var(--muted);line-height:1.75;margin-bottom:36px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-card{flex-shrink:0}.code-window{background:#161b22;border:1px solid var(--border);border-radius:10px;overflow:hidden;width:380px;box-shadow:0 24px 64px #0006}.win-bar{display:flex;align-items:center;gap:6px;padding:12px 16px;background:#1c2128;border-bottom:1px solid var(--border)}.w-dot{width:11px;height:11px;border-radius:50%}.w-dot.r{background:#ff5f57}.w-dot.y{background:#febc2e}.w-dot.g{background:#28c840}.win-title{margin-left:8px;font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--muted)}.code-body{font-family:JetBrains Mono,monospace;font-size:.82rem;line-height:1.8;padding:20px 24px;color:#c9d1d9;white-space:pre;overflow-x:auto}.ck{color:#ff7b72}.cv{color:#79c0ff}.cs{color:#a5d6ff}.cp{color:#c9d1d9}.cb{color:#79c0ff}.cmt{color:#484f58;font-style:italic}.section{padding:90px 5vw}.section.alt{background:#0a0f15}.section-inner{max-width:1100px;margin:0 auto}.sec-label{font-family:JetBrains Mono,monospace;font-size:.82rem;color:var(--accent);margin-bottom:8px;display:block}.sec-title{font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:800;color:#e6edf3;margin-bottom:40px;line-height:1;overflow:visible}.sec-title span{display:inline-block;line-height:1.3;padding-bottom:10px}.skills-bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.bento-card.featured{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;transition:border-color .25s,transform .25s;cursor:default}.bento-card.featured:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--sc);opacity:.7}.bento-card.featured:hover{border-color:color-mix(in srgb,var(--sc) 40%,transparent);transform:translateY(-3px)}.bento-icon{width:44px;height:44px;background:color-mix(in srgb,var(--sc) 12%,transparent);border-radius:10px;display:flex;align-items:center;justify-content:center;padding:6px;margin-bottom:4px}.bento-icon svg{display:block}.bento-name{font-size:1rem;font-weight:700;color:#e6edf3}.bento-desc{font-size:.8rem;color:var(--muted);line-height:1.4}.bento-exp{font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--sc);margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.bento-card.list-card{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:20px 24px;transition:border-color .25s}.bento-card.list-card--wide{display:grid;grid-template-columns:180px 1fr;align-items:start;gap:24px}.bento-card.list-card--wide .list-card-header{margin-bottom:0;align-self:center}.bento-card.list-card:hover{border-color:#ffffff26}.list-card-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.list-card-dot{width:8px;height:8px;border-radius:50%;background:var(--sc);flex-shrink:0}.list-card-title{font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--sc)}.list-card-items{display:flex;flex-wrap:wrap;gap:8px;list-style:none}.list-card-items li{font-family:JetBrains Mono,monospace;font-size:.76rem;color:var(--muted);padding:5px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;transition:color .2s,border-color .2s}.list-card-items li:hover{color:#c9d1d9;border-color:#ffffff2e}.edu-list{display:flex;flex-direction:column;gap:20px}.edu-item{display:grid;grid-template-columns:160px 1fr;gap:32px;align-items:start;padding:28px 32px 32px;background:var(--card);border:1px solid var(--border);border-radius:12px;transition:border-color .25s,transform .25s}.edu-item:hover{border-color:#ffffff29;transform:translateY(-2px)}.edu-left{display:flex;flex-direction:column;gap:10px;padding-top:2px}.edu-year{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--accent);white-space:nowrap}.edu-type-badge{display:inline-block;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:100px;color:var(--ec);background:color-mix(in srgb,var(--ec) 10%,transparent);border:1px solid color-mix(in srgb,var(--ec) 30%,transparent);width:fit-content}.edu-institution{font-size:1.05rem;font-weight:700;color:#e6edf3;margin-bottom:4px}.edu-degree{font-size:.9rem;color:var(--accent);font-weight:600;margin-bottom:10px}.edu-desc{font-size:.88rem;color:var(--muted);line-height:1.9;margin-bottom:14px}.edu-tags{display:flex;flex-wrap:wrap;gap:8px}.exp-list{display:flex;flex-direction:column}.exp-item{display:grid;grid-template-columns:160px 1fr;gap:32px}.exp-item+.exp-item{margin-top:40px;padding-top:40px;border-top:1px solid var(--border)}.exp-left{padding-top:4px}.exp-period{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--accent);white-space:nowrap}.exp-header{margin-bottom:12px}.exp-company{font-size:1.15rem;font-weight:700;color:#e6edf3;margin-bottom:4px}.exp-role{font-size:.85rem;color:var(--muted)}.exp-tasks{margin-bottom:16px}.exp-tasks li{font-size:.9rem;color:var(--muted);padding-left:14px;position:relative;margin-bottom:8px;line-height:1.8}.exp-tasks li:before{content:"–";position:absolute;left:0;color:var(--accent)}.exp-stack{display:flex;flex-wrap:wrap;gap:8px}.chip{font-family:JetBrains Mono,monospace;font-size:.7rem;padding:4px 10px;background:#ffffff0d;border:1px solid var(--border);border-radius:4px;color:var(--muted);transition:color .2s,border-color .2s}.chip:hover{color:#c9d1d9;border-color:#fff3}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.project-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:24px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s,box-shadow .25s}.project-card:hover{border-color:#4f9eff4d;transform:translateY(-4px);box-shadow:0 16px 40px #0006}.browser-mockup{border-radius:8px 8px 0 0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-bottom:none;background:#1c2128;margin:-24px -24px 20px}.browser-bar{display:flex;align-items:center;gap:10px;padding:9px 14px;background:#1c2128;border-bottom:1px solid rgba(255,255,255,.07)}.browser-dots{display:flex;gap:5px}.b-dot{width:10px;height:10px;border-radius:50%}.b-dot.r{background:#ff5f57}.b-dot.y{background:#febc2e}.b-dot.g{background:#28c840}.browser-url{flex:1;display:flex;align-items:center;gap:6px;background:#ffffff0f;border-radius:5px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--muted);overflow:hidden;white-space:nowrap}.browser-url svg{flex-shrink:0;color:var(--green);opacity:.7}.browser-actions{display:flex;gap:6px;color:var(--muted);opacity:.5}.browser-screen{position:relative;aspect-ratio:16 / 9;overflow:hidden}.browser-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.browser-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(22,27,34,.6) 100%);pointer-events:none}.project-card:hover .browser-img{transform:scale(1.03)}.project-info{display:flex;flex-direction:column;gap:10px}.project-top{display:flex;justify-content:space-between;align-items:center}.project-type{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--accent);padding:3px 8px;background:#4f9eff1a;border-radius:4px}.project-links{display:flex;gap:10px}.icon-link{color:var(--muted);transition:color .2s}.icon-link:hover{color:#e6edf3}.project-name{font-size:1.05rem;font-weight:700;color:#e6edf3}.project-desc{font-size:.87rem;color:var(--muted);line-height:1.8;flex:1}.project-stack{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.contact-inner{display:grid;grid-template-columns:1fr auto;gap:80px;align-items:start}.contact-bio{font-size:.97rem;color:var(--muted);line-height:1.75;margin-bottom:32px}.contact-links{display:flex;flex-direction:column;gap:12px}.contact-row{display:flex;align-items:center;gap:14px;font-size:.88rem;color:var(--muted);padding:12px 16px;border:1px solid var(--border);border-radius:8px;transition:all .2s}.contact-row:hover{color:#e6edf3;border-color:#ffffff29;background:#ffffff08}.c-icon{font-size:1rem;color:var(--accent);width:20px;text-align:center}.c-arrow{margin-left:auto;opacity:0;transition:opacity .2s,transform .2s}.contact-row:hover .c-arrow{opacity:1;transform:translate(3px)}.contact-cta-box{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:36px 32px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;min-width:240px}.cta-text{font-size:1.05rem;font-weight:700;color:#e6edf3}.cta-sub{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--muted)}.footer{padding:28px 5vw;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--muted)}.footer-year{font-family:JetBrains Mono,monospace}@media(max-width:860px){.hero-inner{flex-direction:column}.hero-card,.code-window{width:100%}.links{display:none}.skills-bento{grid-template-columns:repeat(2,1fr)}.bento-card.list-card{grid-column:span 2!important}.bento-card.list-card--wide,.edu-item{grid-template-columns:1fr;gap:12px}.exp-item{grid-template-columns:1fr;gap:8px}.contact-inner{grid-template-columns:1fr;gap:40px}.projects-grid{grid-template-columns:1fr}}
