@import "https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg:#faf8f5;--bg-warm:#f3f0eb;--bg-dark:#1a1a1a;--bg-dark-secondary:#222;--bg-card:#fff;--text-primary:#1a1a1a;--text-secondary:#555;--text-muted:#888;--accent:#d4785c;--accent-light:#e8a88c;--accent-subtle:#d4785c14;--border:#e5e0da;--border-light:#edebe7;--tag-bg:#f3f0eb;--tag-text:#555;--badge-bg:#6b8e2314;--badge-text:#6b8e23;--card-shadow:0 1px 3px #0000000a;--card-shadow-hover:0 8px 30px #00000014;--inv-bg:#1a1a1a;--inv-text:#f5f2ee;--inv-text-secondary:#aaa;--inv-text-muted:#777;--inv-border:#333;--inv-tag-bg:#d4785c1f;--inv-tag-text:#e8a88c;--serif:"EB Garamond", "Georgia", serif;--sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--mono:"JetBrains Mono", monospace;--max-width:1300px;--side-label-width:280px;--section-gap:80px;font-family:var(--sans);color:var(--text-primary);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}[data-theme=dark]{--bg:#141414;--bg-warm:#1a1a1a;--bg-dark:#faf8f5;--bg-dark-secondary:#f3f0eb;--bg-card:#1e1e1e;--text-primary:#edebe7;--text-secondary:#a0a0a0;--text-muted:#6b6b6b;--accent:#e8a88c;--accent-light:#d4785c;--accent-subtle:#e8a88c1a;--border:#2a2a2a;--border-light:#222;--tag-bg:#252525;--tag-text:#a0a0a0;--card-shadow:0 1px 3px #0003;--card-shadow-hover:0 8px 30px #0006;--inv-bg:#f5f2ee;--inv-text:#1a1a1a;--inv-text-secondary:#555;--inv-text-muted:#888;--inv-border:#e5e0da;--inv-tag-bg:#d4785c1a;--inv-tag-text:#d4785c}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text-primary);min-height:100vh;margin:0;transition:background-color .3s,color .3s;overflow-x:hidden}#root{width:100%;max-width:100vw;overflow-x:hidden}a{color:inherit;text-decoration:none;transition:color .25s}a:hover{color:var(--accent)}h1,h2,h3,h4,h5,h6{font-family:var(--sans);font-weight:600;line-height:1.2}.serif{font-family:var(--serif)}.mono{font-family:var(--mono)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 64px}.section-grid{grid-template-columns:var(--side-label-width) 1fr;gap:var(--section-gap);display:grid}.section-label{font-family:var(--mono);color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;font-size:12px}.divider{background:var(--border);height:1px;max-width:var(--max-width);margin:0 auto}::selection{color:var(--text-primary);background:#d4785c33}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (width<=900px){.container{padding:0 24px}.section-grid{grid-template-columns:1fr;gap:24px}}@media (width<=480px){.container{padding:0 16px}}.app-container{width:100%;transition:background-color .3s;position:relative}.navbar{z-index:100;background:0 0;justify-content:space-between;align-items:center;padding:22px 64px;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0}.navbar-scrolled{background:var(--bg);border-bottom:1px solid var(--border);padding:16px 64px}.navbar-logo{color:var(--text-primary);letter-spacing:-.3px;font-size:18px;font-weight:500}.navbar-logo:hover{color:var(--text-primary)}.navbar-links{gap:32px;display:flex}.navbar-links a{color:var(--text-secondary);letter-spacing:.2px;font-size:14px;font-weight:400}.navbar-links a:hover{color:var(--text-primary)}.navbar-cta{background:var(--text-primary);color:var(--bg);border-radius:6px;padding:10px 24px;font-size:13px;font-weight:500;transition:opacity .25s}.navbar-cta:hover{color:var(--bg);opacity:.85}@media (width<=900px){.navbar{padding:16px 24px}.navbar-scrolled{padding:12px 24px}.navbar-links{display:none}}.hero-section{border-bottom:1px solid var(--border);align-items:center;min-height:100svh;display:flex}.hero-content{justify-content:space-between;align-items:center;gap:60px;padding-top:80px;padding-bottom:60px;display:flex}.hero-text{flex:1;max-width:580px}.hero-label{color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:24px;font-size:12px}.hero-name{letter-spacing:-1.5px;color:var(--text-primary);margin-bottom:28px;font-size:clamp(44px,5.5vw,72px);font-weight:400;line-height:1.08}.hero-name em{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:6px;font-style:italic;text-decoration-thickness:2px}.hero-desc{color:var(--text-secondary);max-width:460px;margin-bottom:40px;font-size:17px;line-height:1.7}.hero-btns{flex-wrap:wrap;gap:12px;display:flex}.btn-primary{background:var(--text-primary);color:var(--bg);border-radius:6px;align-items:center;gap:6px;padding:13px 28px;font-size:14px;font-weight:500;transition:opacity .25s;display:inline-flex}.btn-primary:hover{color:var(--bg);opacity:.85}.btn-secondary{color:var(--text-primary);border:1px solid var(--border);background:0 0;border-radius:6px;align-items:center;gap:6px;padding:13px 28px;font-size:14px;font-weight:500;transition:all .25s;display:inline-flex}.btn-secondary:hover{border-color:var(--text-primary);color:var(--text-primary)}.hero-3d-wrapper{background:#111;border-radius:16px;flex:0 0 440px;height:420px;position:relative;overflow:hidden}.hero-3d-placeholder{width:100%;height:100%}@media (width<=1024px){.hero-content{text-align:left;flex-direction:column;padding-top:120px}.hero-3d-wrapper{flex:none;width:100%;height:320px}}@media (width<=480px){.hero-name{letter-spacing:-1px;font-size:38px}.hero-3d-wrapper{border-radius:12px;height:260px}.hero-btns{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center}}.about-section{border-bottom:1px solid var(--border);padding:120px 0}.about-title{letter-spacing:-.5px;color:var(--text-primary);margin-bottom:32px;font-size:clamp(30px,3.5vw,42px);font-weight:400;line-height:1.2}.about-content p{color:var(--text-secondary);max-width:640px;margin-bottom:18px;font-size:16px;line-height:1.8}.about-cards{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;display:grid}.about-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:10px;padding:24px;transition:box-shadow .3s}.about-card:hover{box-shadow:var(--card-shadow-hover)}.about-card-label{color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;font-size:10px;display:block}.about-card h4{color:var(--text-primary);margin-bottom:6px;font-size:15px;font-weight:600}.about-card p{color:var(--text-muted)!important;max-width:none!important;margin-bottom:2px!important;font-size:13px!important;line-height:1.5!important}@media (width<=700px){.about-cards{grid-template-columns:1fr}.about-section{padding:80px 0}}.experience-section{background:var(--inv-bg);color:var(--inv-text);padding:120px 0}.exp-label{color:var(--inv-text-muted)!important}.experience-title{letter-spacing:-.5px;color:var(--inv-text);margin-bottom:48px;font-size:clamp(30px,3.5vw,42px);font-weight:400;line-height:1.2}.experience-list{flex-direction:column;gap:48px;display:flex}.exp-item{border-bottom:1px solid var(--inv-border);padding-bottom:48px}.exp-item:last-child{border-bottom:none;padding-bottom:0}.exp-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.exp-role{color:var(--inv-text);margin-bottom:4px;font-size:18px;font-weight:600}.exp-company{color:var(--inv-text-secondary);font-size:14px}.exp-period{color:var(--accent);letter-spacing:1px;white-space:nowrap;flex-shrink:0;font-size:12px}.exp-bullets{margin-bottom:20px;padding:0;list-style:none}.exp-bullets li{color:var(--inv-text-secondary);margin-bottom:8px;padding-left:16px;font-size:15px;line-height:1.7;position:relative}.exp-bullets li:before{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;top:10px;left:0}.exp-tags{flex-wrap:wrap;gap:8px;display:flex}.exp-tag{background:var(--inv-tag-bg);color:var(--inv-tag-text);letter-spacing:.5px;border-radius:4px;padding:4px 12px;font-size:11px}@media (width<=700px){.experience-section{padding:80px 0}.exp-header{flex-direction:column;gap:8px}}.projects-section{border-bottom:1px solid var(--border);padding:120px 0}.projects-title{letter-spacing:-.5px;color:var(--text-primary);margin-bottom:40px;font-size:clamp(30px,3.5vw,42px);font-weight:400;line-height:1.2}.projects-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:10px;flex-direction:column;padding:28px;transition:box-shadow .3s,transform .3s;display:flex}.project-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.project-card-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.project-number{color:var(--text-muted);letter-spacing:1px;font-size:12px}.project-badge{background:var(--badge-bg);color:var(--badge-text);letter-spacing:.8px;text-transform:uppercase;border-radius:20px;padding:3px 10px;font-size:10px}.project-card .project-title{color:var(--text-primary);margin-bottom:4px;font-size:17px;font-weight:600;line-height:1.3}.project-subtitle{color:var(--accent);margin-bottom:14px;font-size:13px}.project-desc{color:var(--text-secondary);flex:1;margin-bottom:20px;font-size:14px;line-height:1.7}.project-tags{flex-wrap:wrap;gap:6px;display:flex}.project-tag{background:var(--tag-bg);color:var(--tag-text);letter-spacing:.3px;border-radius:4px;padding:4px 10px;font-size:11px}@media (width<=900px){.projects-grid{grid-template-columns:1fr}}@media (width<=700px){.projects-section{padding:80px 0}}.skills-section{background:var(--bg-warm);border-bottom:1px solid var(--border);padding:120px 0}.skills-title{letter-spacing:-.5px;color:var(--text-primary);margin-bottom:40px;font-size:clamp(30px,3.5vw,42px);font-weight:400;line-height:1.2}.skills-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.skill-group{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--card-shadow);border-radius:10px;padding:24px}.skill-group-label{color:var(--accent);letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:12px;font-size:11px}.skill-list{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.skill-list li{color:var(--text-secondary);font-size:14px;line-height:1.5}@media (width<=900px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.skills-section{padding:80px 0}.skills-grid{grid-template-columns:1fr}}.publication-section{border-bottom:1px solid var(--border);padding:120px 0}.publication-title{letter-spacing:-.5px;color:var(--text-primary);margin-bottom:32px;font-size:clamp(30px,3.5vw,42px);font-weight:400;line-height:1.2}.publication-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--card-shadow);color:inherit;border-radius:10px;padding:32px;text-decoration:none;transition:box-shadow .3s,transform .3s;display:block}.publication-card:hover{box-shadow:var(--card-shadow-hover);color:inherit;transform:translateY(-2px)}.publication-type{color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;font-size:10px;display:block}.publication-name{color:var(--text-primary);margin-bottom:12px;font-size:20px;font-weight:600;line-height:1.3}.publication-desc{color:var(--text-secondary);max-width:600px;margin-bottom:20px;font-size:15px;line-height:1.7}.publication-link{color:var(--accent);letter-spacing:.5px;font-size:13px;transition:opacity .25s}.publication-card:hover .publication-link{opacity:.8}@media (width<=700px){.publication-section{padding:80px 0}.publication-card{padding:24px}}.contact-section{padding:120px 0 0}.contact-title{letter-spacing:-.5px;color:var(--text-primary);margin-bottom:16px;font-size:clamp(30px,3.5vw,42px);font-weight:400;line-height:1.2}.contact-subtitle{color:var(--text-secondary);max-width:520px;margin-bottom:40px;font-size:16px;line-height:1.7}.contact-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.contact-item{border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--card-shadow);color:inherit;border-radius:10px;flex-direction:column;gap:6px;padding:20px 24px;text-decoration:none;transition:box-shadow .3s,transform .3s;display:flex}.contact-item:hover{box-shadow:var(--card-shadow-hover);color:inherit;transform:translateY(-2px)}.contact-item-static{cursor:default}.contact-item-static:hover{box-shadow:var(--card-shadow);transform:none}.contact-item-label{color:var(--accent);letter-spacing:2px;text-transform:uppercase;font-size:10px}.contact-item-value{color:var(--text-primary);font-size:15px;font-weight:500}.site-footer{border-top:1px solid var(--border);margin-top:80px;padding:32px 0}.footer-inner{justify-content:space-between;align-items:center;display:flex}.footer-name{color:var(--text-muted);font-size:14px}.footer-copy{color:var(--text-muted);letter-spacing:.5px;font-size:12px}@media (width<=700px){.contact-section{padding:80px 0 0}.contact-grid{grid-template-columns:1fr}}.theme-toggle{z-index:100;background:var(--bg-card);border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);border-radius:40px;align-items:center;gap:8px;padding:10px 18px;font-size:12px;transition:all .25s;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 2px 12px #00000014}.theme-toggle:hover{color:var(--text-primary);transform:translateY(-1px);box-shadow:0 4px 20px #0000001f}.theme-toggle-icon{justify-content:center;align-items:center;display:flex}.theme-toggle-label{letter-spacing:1px;text-transform:uppercase}
