html{scroll-behavior:smooth}body{font-family:DM Mono,Segoe UI,monospace;font-size:15px;line-height:1.6;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.35}:root{--font-display: "Syne", sans-serif;--font-mono: "DM Mono", monospace;--radius: 4px;--radius-lg: 8px;--transition: .2s cubic-bezier(.4, 0, .2, 1);--surface-raised: color-mix(in srgb, var(--background) 85%, var(--dark) 15%);--border-color: color-mix(in srgb, var(--dark) 20%, var(--background) 80%);--border-bright: color-mix(in srgb, var(--dark) 35%, var(--background) 65%);--muted: color-mix(in srgb, var(--dark) 55%, var(--background) 45%);--faint: color-mix(in srgb, var(--dark) 30%, var(--background) 70%)}*,*:before,*:after{box-sizing:border-box}a{color:var(--primary);text-decoration:none;transition:opacity var(--transition)}a:hover{opacity:.75}.text-primary{color:var(--primary)}.margin-left-auto{margin-left:auto}.flex-wrap{flex-wrap:wrap}#site-nav{position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid var(--border-color);background:color-mix(in srgb,var(--background) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-inner{height:60px}.nav-logo{font-family:var(--font-display);font-weight:800;font-size:20px;color:var(--dark);letter-spacing:-.5px}.nav-logo:hover{opacity:1;color:var(--primary)}.accent-dot{color:var(--primary)}.nav-links{list-style:none;margin:0;padding:0}.nav-links a{color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:color var(--transition)}.nav-links a:hover{color:var(--primary);opacity:1}.theme-toggle{background:transparent;border:1px solid var(--border-bright);border-radius:var(--radius);padding:6px 10px;cursor:pointer;font-size:16px;line-height:1;color:var(--muted);transition:all var(--transition);min-width:unset;min-height:unset}.theme-toggle:hover{border-color:var(--primary);color:var(--primary);opacity:1}#hero{min-height:100vh;display:flex;align-items:center;padding-top:60px;position:relative;overflow:hidden}.hero-grid-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border-color) 1px,transparent 1px),linear-gradient(90deg,var(--border-color) 1px,transparent 1px);background-size:48px 48px;opacity:.5;-webkit-mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 30%,transparent 100%);mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 30%,transparent 100%)}.hero-layout{display:grid;grid-template-columns:1fr 420px;gap:80px;align-items:center;padding-top:80px;padding-bottom:80px}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--primary);margin-bottom:20px}.hero-eyebrow:before{content:"";display:block;width:28px;height:1px;background:var(--primary)}.hero-name{font-family:var(--font-display);font-size:clamp(52px,8vw,96px);line-height:.93;letter-spacing:-3px;color:var(--dark);margin:0 0 16px}.name-line-2{color:var(--faint)}.hero-subtitle{font-family:var(--font-display);font-size:clamp(16px,2vw,22px);font-weight:600;color:var(--muted);margin:0 0 16px;letter-spacing:-.3px}.hero-desc{max-width:500px;color:var(--muted);font-size:14px;line-height:1.75;margin:0}.button{font-family:var(--font-mono);font-size:13px;border-radius:var(--radius)!important;letter-spacing:.04em;transition:all var(--transition)!important}.button-ghost{background:transparent!important;color:var(--muted)!important;border:1px solid var(--border-bright)!important}.button-ghost:hover{border-color:var(--primary)!important;color:var(--primary)!important;opacity:1!important}.hero-terminal{background:var(--surface-raised);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;font-family:var(--font-mono)}.terminal-bar{border-bottom:1px solid var(--border-color);background:var(--surface-raised)}.t-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.t-dot-red{background:#ff5b6e}.t-dot-yellow{background:#ffd166}.t-dot-green{background:var(--primary)}.terminal-title{font-size:11px;color:var(--faint);letter-spacing:.05em}.t-line{display:block;font-size:12.5px;line-height:2}.t-prompt{color:var(--primary)}.t-cmd{color:var(--dark)}.t-output{color:var(--muted)}.t-key{color:#ffd166}.t-val{color:var(--dark)}.cursor{display:inline-block;width:8px;height:14px;background:var(--primary);vertical-align:middle;animation:blink 1.1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}section{padding:96px 0}.section-alt{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:var(--surface-raised)}.section-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--primary);margin:0 0 12px;display:flex;align-items:center;gap:10px}.section-label:after{content:"";display:block;width:36px;height:1px;background:var(--primary);opacity:.5}.section-title{font-family:var(--font-display);font-size:clamp(28px,4vw,44px);letter-spacing:-1.5px;line-height:1.05;color:var(--dark);margin:0}.section-header{margin-bottom:48px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.skill-cell{background:var(--background);padding:24px;transition:background var(--transition)}.skill-cell:hover{background:var(--surface-raised)}.skill-cell-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--primary);margin:0 0 14px}.tag{display:inline-block;padding:4px 10px;border:1px solid var(--border-bright);border-radius:var(--radius);font-size:12px;color:var(--muted);font-family:var(--font-mono);transition:all var(--transition);cursor:default}.tag:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.exp-item{border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition)}.exp-item:hover{border-color:var(--border-bright)}.exp-header{background:var(--surface-raised);cursor:default;transition:background var(--transition)}.exp-role{font-family:var(--font-display);font-size:20px;letter-spacing:-.4px;color:var(--dark);margin:0 0 4px}.exp-company{color:var(--primary);font-size:13px;margin:0}.exp-period{font-size:12px;color:var(--faint);letter-spacing:.05em;white-space:nowrap;padding-top:4px;font-family:var(--font-mono)}.exp-body{background:var(--background);border-top:1px solid var(--border-color)}.exp-bullets{list-style:none;margin:0;padding:0}.exp-bullets li{display:flex;gap:12px;color:var(--muted);font-size:14px;line-height:1.65}.exp-bullets li:before{content:"→";color:var(--primary);flex-shrink:0;margin-top:1px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.project-card{background:var(--background);padding:28px;display:flex;flex-direction:column;gap:12px;transition:background var(--transition);position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),transparent);opacity:0;transition:opacity var(--transition)}.project-card:hover{background:var(--surface-raised)}.project-card:hover:before{opacity:1}.project-number{font-size:11px;color:var(--faint);letter-spacing:.15em;font-family:var(--font-mono)}.project-title{font-family:var(--font-display);font-size:18px;letter-spacing:-.4px;color:var(--dark);margin:0}.project-desc{color:var(--muted);font-size:13px;line-height:1.7;flex:1;margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.about-text p{color:var(--muted);font-size:14.5px;line-height:1.8;margin:0}.contact-link{padding:14px 18px;border:1px solid var(--border-color);border-radius:var(--radius);color:var(--muted);font-size:13px;font-family:var(--font-mono);transition:all var(--transition);background:var(--surface-raised)}.contact-link:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--background));opacity:1;transform:translate(4px)}.contact-icon{width:32px;height:32px;border:1px solid var(--border-bright);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.contact-link-name{display:block;color:var(--dark);font-size:13px}.contact-link-sub{display:block;font-size:11px;margin-top:1px;color:var(--faint)}.contact-arrow{font-size:14px;opacity:.5}.edu-card{padding:20px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface-raised)}.edu-school{font-family:var(--font-display);font-size:15px;color:var(--dark);margin:0 0 4px}.edu-degree{font-size:12px;color:var(--muted);margin:0}footer{border-top:1px solid var(--border-color);padding:32px 0}.footer-copy{font-size:12px;color:var(--faint);font-family:var(--font-mono);margin:0}.footer-link{font-size:12px;color:var(--faint);letter-spacing:.05em;font-family:var(--font-mono)}.footer-link:hover{color:var(--primary);opacity:1}.fade-up{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.fade-up.visible{opacity:1;transform:translateY(0)}@media (max-width: 900px){.hero-layout{grid-template-columns:1fr}.hero-terminal{display:none}.about-grid{grid-template-columns:1fr;gap:48px}}@media (max-width: 600px){section{padding:64px 0}.hero-name{letter-spacing:-2px}.nav-links{display:none}footer .flex{flex-direction:column;gap:12px;text-align:center}footer{text-align:center}}
