@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #FAFAF9;--surface: #FFFFFF;--text-primary: #111110;--text-muted: #6B6B68;--border: #E8E8E4;--border-hover: #C8C8C4;--tag-bg: #F0F0EE;--nav-height: 64px;--max-width: 1100px;--gutter: clamp(1.5rem, 5vw, 4rem);--section-gap: 8rem;--transition: .15s ease}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height)}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg);color:var(--text-primary);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.scroll-line-track{position:fixed;left:28px;top:var(--nav-height);bottom:0;width:1px;background:var(--border);z-index:40;pointer-events:none}.scroll-line-fill{position:absolute;top:0;left:0;width:100%;background:var(--text-muted);transition:height .1s linear,opacity .3s ease;box-shadow:0 0 6px 1px var(--text-muted)}.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:50;background:#fafaf9d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter);height:100%;display:flex;align-items:center;justify-content:space-between}.nav-name{font-size:.9rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.nav-links{display:flex;gap:2rem}.nav-links a{font-size:.85rem;font-weight:400;color:var(--text-muted);transition:color var(--transition)}.nav-links a:hover{color:var(--text-primary)}.page{padding-top:var(--nav-height)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}section{padding:var(--section-gap) 0}.section-label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3rem}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:3rem}.section-header .section-label{margin-bottom:0}.section-link{font-size:.8rem;font-weight:400;color:var(--text-muted);transition:color var(--transition)}.section-link:hover{color:var(--text-primary)}.hero{min-height:100svh;display:flex;align-items:center;padding:0}.hero-inner{width:100%}.hero-eyebrow{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.hero-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:top;filter:grayscale(20%)}.hero-role{font-size:.85rem;font-weight:500;color:var(--text-muted);letter-spacing:.02em}.hero-name{font-size:clamp(2.8rem,7vw,5rem);font-weight:300;line-height:1;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:1.5rem}.hero-tagline{font-size:1.05rem;color:var(--text-muted);max-width:480px;line-height:1.65;margin-bottom:2.5rem}.hero-cta{display:flex;gap:2rem;align-items:center;flex-wrap:wrap}.hero-cta a{font-size:.9rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.4rem;transition:opacity var(--transition)}.hero-cta a:hover{opacity:.6}.hero-cta .cta-secondary{color:var(--text-muted)}.about-grid{display:grid;grid-template-columns:7fr 5fr;gap:5rem;align-items:start}.about-bio p{font-size:1.05rem;color:var(--text-muted);line-height:1.75;margin-bottom:1.25rem}.about-bio p:last-child{margin-bottom:0}.about-image{width:100%;aspect-ratio:5 / 6;object-fit:cover;object-position:top;border-radius:30px 18px 24px 16px/20px 28px 16px 24px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.skill-group-label{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem;display:block}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{font-size:.8rem;font-weight:400;color:var(--text-muted);background:var(--tag-bg);padding:.3rem .7rem;border-radius:4px;transition:background var(--transition)}.tag:hover{background:var(--border)}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2rem;transition:border-color var(--transition);display:flex;flex-direction:column}.project-card:hover{border-color:var(--border-hover)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.project-name{font-size:1rem;font-weight:500;color:var(--text-primary);line-height:1.3}.project-status{font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;margin-left:1rem;margin-top:.1rem}.project-desc{font-size:.9rem;color:var(--text-muted);line-height:1.6;margin-bottom:1.5rem;flex:1}.project-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.project-tags{display:flex;flex-wrap:wrap;gap:.35rem}.project-tags .tag{font-size:.72rem;padding:.2rem .55rem}.project-link{font-size:.8rem;font-weight:500;color:var(--text-muted);white-space:nowrap;transition:color var(--transition);flex-shrink:0}.project-link:hover{color:var(--text-primary)}.contact-inner{display:flex;flex-direction:column;gap:2rem}.contact-heading{font-size:clamp(2rem,4vw,3rem);font-weight:300;letter-spacing:-.025em;color:var(--text-primary);line-height:1.1}.contact-links{display:flex;gap:2.5rem;flex-wrap:wrap}.contact-links a{font-size:.9rem;color:var(--text-muted);transition:color var(--transition);position:relative}.contact-links a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--text-primary);transition:width var(--transition)}.contact-links a:hover{color:var(--text-primary)}.contact-links a:hover:after{width:100%}.site-footer{border-top:1px solid var(--border);padding:2rem 0}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:center}.footer-copy{font-size:.8rem;color:var(--text-muted)}.divider{border:none;border-top:1px solid var(--border);margin:0}@media(max-width:900px){.nav-links{display:none}.about-grid{grid-template-columns:1fr;gap:3rem}.about-image{max-width:280px;aspect-ratio:1 / 1;height:50px}.skills-grid{grid-template-columns:1fr 1fr;gap:2rem}.work-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;gap:.75rem;text-align:center}}@media(max-width:560px){.skills-grid{grid-template-columns:1fr}.contact-links{gap:1.5rem}}
