@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Mono:wght@400;500&family=Instrument+Sans:wght@400;500;600&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--green:#0f6e56;--green-pale:#e1f5ee;--green-mid:#1d9e75;--ink:#111110;--ink-muted:#6b6b67;--ink-faint:#a8a8a3;--surface:#fafaf8;--surface-2:#f2f1ed;--border:rgba(0,0,0,.08);--serif:"DM Serif Display",Georgia,serif;--sans:"Instrument Sans",system-ui,sans-serif;--mono:"DM Mono",monospace}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--surface);color:var(--ink);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 3rem;background:hsla(60,17%,98%,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:.5px solid var(--border)}.nav-logo{font-family:var(--mono);font-size:.85rem;font-weight:500;letter-spacing:.12em;color:var(--green)}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);transition:color .2s;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--green);transition:width .25s ease}.nav-links a.active,.nav-links a:hover{color:var(--ink)}.nav-links a.active:after,.nav-links a:hover:after{width:100%}.hero{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;padding:0 3rem}.hero-content{max-width:680px;animation:fadeUp .9s ease both}.hero-eyebrow{font-family:var(--mono);font-size:.78rem;color:var(--green);letter-spacing:.08em;margin-bottom:1.25rem}.hero-name{font-family:var(--serif);font-size:clamp(3.5rem,8vw,6rem);line-height:1.02;letter-spacing:-.02em;color:var(--ink);margin-bottom:1.25rem}.hero-role{font-family:var(--mono);font-size:1.05rem;color:var(--ink-muted);margin-bottom:1.75rem;min-height:1.6rem}.cursor{animation:blink 1s step-end infinite;color:var(--green)}.hero-bio{font-size:1.05rem;color:var(--ink-muted);max-width:520px;margin-bottom:2.25rem;line-height:1.75}.hero-bio strong{color:var(--ink);font-weight:500}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.5rem}.btn-primary{display:inline-flex;align-items:center;padding:.65rem 1.5rem;background:var(--green);color:#fff;font-size:.875rem;font-weight:500;border-radius:3px;letter-spacing:.02em;transition:background .2s,transform .15s}.btn-primary:hover{background:var(--green-mid);transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;padding:.65rem 1.5rem;border:.5px solid rgba(0,0,0,.18);color:var(--ink-muted);font-size:.875rem;border-radius:3px;transition:border-color .2s,color .2s,transform .15s}.btn-secondary:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-1px)}.hero-meta{display:flex;gap:1.75rem;flex-wrap:wrap;font-size:.75rem}.hero-meta,.hero-scroll-hint{font-family:var(--mono);color:var(--ink-faint)}.hero-scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);font-size:.7rem;letter-spacing:.1em;animation:floatY 2.5s ease-in-out infinite}.section{position:relative;z-index:1;padding:7rem 3rem}.section-alt{background:var(--surface-2)}.section-inner{max-width:1100px;margin:0 auto}.section-header{display:flex;align-items:baseline;gap:1.25rem;margin-bottom:3.5rem}.section-label{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}.section-title{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);letter-spacing:-.02em;line-height:1.1;color:var(--ink)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,480px),1fr));grid-gap:1.5px;gap:1.5px;background:var(--border);border:.5px solid var(--border)}.project-card{background:var(--surface);padding:2.25rem 2rem;transition:background .2s;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:0;background:var(--accent,var(--green));transition:height .35s ease}.project-card:hover{background:var(--surface-2)}.project-card:hover:before{height:100%}.project-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.project-category{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent,var(--green))}.project-num{font-family:var(--serif);font-size:1.5rem;color:var(--border);line-height:1;opacity:.4}.project-title{font-family:var(--serif);font-size:1.45rem;letter-spacing:-.01em;margin-bottom:.85rem;color:var(--ink)}.project-desc{font-size:.9rem;color:var(--ink-muted);line-height:1.7;margin-bottom:1.4rem}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tag{font-family:var(--mono);font-size:.68rem;padding:.25rem .65rem;background:var(--accent-light,var(--green-pale));color:var(--accent,var(--green));border-radius:2px;letter-spacing:.04em}.research-card{border:.5px solid var(--border);background:var(--surface);padding:2.5rem;margin-bottom:4rem;border-radius:2px;position:relative}.research-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--green),transparent)}.research-meta{display:flex;gap:1.25rem;align-items:center;margin-bottom:1rem}.research-type{letter-spacing:.1em;text-transform:uppercase;color:var(--green)}.research-field,.research-type{font-family:var(--mono);font-size:.68rem}.research-field{color:var(--ink-faint);letter-spacing:.05em}.research-title{font-family:var(--serif);font-size:1.6rem;letter-spacing:-.01em;margin-bottom:1.1rem;color:var(--ink)}.research-abstract{font-size:.92rem;color:var(--ink-muted);line-height:1.75;max-width:720px;margin-bottom:1.5rem}.research-topics{display:flex;flex-wrap:wrap;gap:.5rem}.research-tag{font-family:var(--mono);font-size:.68rem;padding:.3rem .75rem;border:.5px solid var(--border);color:var(--ink-muted);border-radius:2px;letter-spacing:.04em}.education-block{margin-top:1rem}.edu-heading{font-family:var(--serif);font-size:1.3rem;margin-bottom:1.5rem;color:var(--ink)}.edu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));grid-gap:1.5px;gap:1.5px;background:var(--border);border:.5px solid var(--border)}.edu-card{background:var(--surface-2);padding:1.75rem}.edu-year{font-family:var(--mono);font-size:.7rem;color:var(--green);letter-spacing:.08em;margin-bottom:.5rem}.edu-degree{font-weight:500;font-size:1rem;margin-bottom:.25rem;color:var(--ink)}.edu-school{font-size:.85rem;color:var(--ink-muted);margin-bottom:.85rem}.edu-courses{font-family:var(--mono);font-size:.7rem;color:var(--ink-faint);line-height:1.65}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-gap:2.5rem;gap:2.5rem;margin-bottom:3rem}.skill-category{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-bottom:.85rem;padding-bottom:.6rem;border-bottom:.5px solid var(--border)}.skill-items{display:flex;flex-wrap:wrap;gap:.4rem}.skill-pill{font-size:.82rem;padding:.3rem .75rem;background:var(--surface-2);border:.5px solid var(--border);border-radius:2px;color:var(--ink-muted);transition:border-color .2s,color .2s}.skill-pill:hover{border-color:var(--green);color:var(--green)}.languages-bar{display:flex;gap:3rem;padding-top:2rem;border-top:.5px solid var(--border)}.lang{display:flex;align-items:center;gap:1rem}.lang-name{font-weight:500;font-size:.9rem;color:var(--ink)}.lang-level{font-family:var(--mono);font-size:.68rem;padding:.25rem .65rem;border-radius:2px;letter-spacing:.05em}.lang-level.native{background:var(--green-pale);color:var(--green)}.lang-level.basic{background:var(--surface-2);color:var(--ink-faint);border:.5px solid var(--border)}.section-contact{background:var(--ink);padding:9rem 3rem}.contact-inner{text-align:center}.contact-label{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green-mid);margin-bottom:1.5rem}.contact-title{font-family:var(--serif);font-size:clamp(2.25rem,5vw,3.5rem);letter-spacing:-.025em;color:#fafaf8;margin-bottom:1.25rem;line-height:1.1}.contact-sub{font-size:1rem;color:hsla(60,17%,98%,.5);max-width:480px;margin:0 auto 2.5rem;line-height:1.7}.contact-links{display:flex;flex-direction:column;align-items:center;gap:1.25rem;margin-bottom:3rem}.contact-link-primary{font-family:var(--mono);font-size:1rem;color:var(--green-mid);letter-spacing:.03em;transition:color .2s}.contact-link-primary:hover{color:#5dcaa5}.contact-socials{display:flex;gap:2rem}.contact-socials a{font-size:.85rem;color:hsla(60,17%,98%,.45);letter-spacing:.04em;transition:color .2s}.contact-socials a:hover{color:hsla(60,17%,98%,.85)}.contact-footer{display:flex;justify-content:center;gap:2rem;font-family:var(--mono);font-size:.72rem;color:hsla(60,17%,98%,.25);letter-spacing:.06em}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes floatY{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}@media (max-width:768px){.nav{padding:1rem 1.5rem}.nav-links{gap:1.25rem}.hero{padding:6rem 1.5rem 3rem}.section{padding:5rem 1.5rem}.section-contact{padding:6rem 1.5rem}.languages-bar{flex-direction:column;gap:1rem}.hero-meta{flex-direction:column;gap:.5rem}.hero-actions{gap:.75rem}}@media (max-width:480px){.nav-links{display:none}}