:root{--bg: #0c0f14;--bg-elevated: #12171f;--surface: #161d28;--border: rgba(255, 255, 255, .08);--text: #e8edf5;--muted: #94a3b8;--accent: #f59e0b;--accent-soft: rgba(245, 158, 11, .15);--radius: 12px;--shadow: 0 24px 80px rgba(0, 0, 0, .45);font-synthesis:none}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:DM Sans,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;color:var(--text);background:var(--bg)}.skip-link{position:absolute;left:-9999px;top:.5rem;padding:.5rem 1rem;background:var(--accent);color:#0c0f14;border-radius:6px;z-index:100}.skip-link:focus{left:.5rem}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.site-header{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0f14bf;border-bottom:1px solid var(--border)}.header-inner{max-width:1100px;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo{font-weight:600;letter-spacing:.02em}.lang-switch{display:flex;align-items:center;gap:.35rem;margin-left:auto}.lang-btn{font:inherit;font-size:.8rem;padding:.35rem .65rem;border-radius:6px;cursor:pointer;background:var(--surface);border:1px solid var(--border);color:var(--muted)}.lang-btn:hover{color:var(--text);border-color:#f59e0b59}.lang-btn[aria-pressed=true]{color:var(--accent);border-color:#f59e0b73}.nav{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;font-size:.9rem}.nav a{color:var(--muted)}.nav a:hover{color:var(--text)}.nav a.nav-active{color:var(--accent);font-weight:600}.hero{position:relative;padding:clamp(4rem,12vw,7rem) 1.5rem 4rem;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% -20%,rgba(245,158,11,.18),transparent),radial-gradient(ellipse 60% 40% at 100% 50%,rgba(56,189,248,.08),transparent);pointer-events:none}.hero-inner{position:relative;z-index:1;max-width:1100px;margin:0 auto;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:clamp(1.5rem,4vw,3rem)}.hero-content{position:relative;flex:1 1 280px;min-width:min(100%,260px);max-width:640px}.hero-photo-wrap{flex:0 0 auto;display:flex;justify-content:center}.hero-photo{width:min(280px,42vw);max-width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:center 15%;border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow);background:#fff}.hero-kicker{margin:0 0 .5rem;font-size:.95rem;color:var(--muted);letter-spacing:.04em}.hero-title{margin:0;font-family:"Instrument Serif",Georgia,serif;font-size:clamp(2.5rem,6vw,3.75rem);font-weight:400;line-height:1.1;letter-spacing:-.02em}.hero-meta{margin:1rem 0 0;color:var(--muted);font-size:1rem}.hero-location-link{color:var(--muted);text-decoration:underline;text-decoration-color:#f59e0b66;text-underline-offset:.2em}.hero-location-link:hover{color:var(--accent);text-decoration-color:var(--accent)}.dot{margin:0 .35rem;opacity:.5}.hero-actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;border-radius:999px;font-size:.95rem;font-weight:500;border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.btn-primary{background:var(--accent);color:#0c0f14}.btn-primary:hover{filter:brightness(1.05);color:#0c0f14}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover{border-color:#f59e0b66;color:var(--accent)}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem 4rem}.section{padding:2.5rem 0;border-top:1px solid var(--border)}.section-title{margin:0 0 1.25rem;font-size:1.35rem;font-weight:600;letter-spacing:-.02em}.section-lead{margin:-.5rem 0 1.25rem;color:var(--muted);font-size:.95rem}.card-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.card-list li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.35rem;box-shadow:var(--shadow)}.card-list h3{margin:0 0 .35rem;font-size:1.1rem;font-weight:600}.card-list .meta{margin:0;font-size:.85rem;color:var(--muted)}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.timeline li{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem 1.5rem;border-left:3px solid var(--accent)}.timeline h3{margin:0 0 .25rem;font-size:1.1rem}.timeline .role{margin:0;color:var(--muted);font-size:.9rem}.timeline .time{float:right;font-size:.85rem;color:var(--muted)}.timeline ul{margin:.85rem 0 0;padding-left:1.15rem;color:var(--muted)}.timeline ul li{border:none;padding:.15rem 0;background:transparent;border-left:none}.project-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.project-grid li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem;display:flex;flex-direction:column;gap:.75rem}.project-grid h3{margin:0;font-size:1.1rem}.project-grid ul{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.92rem;flex:1}.project-link{font-size:.9rem;color:var(--accent)}.project-link:hover{text-decoration:underline}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tags .skill-tag{display:inline-flex;align-items:center;padding:.4rem .75rem;border-radius:999px;font-size:.88rem;background:var(--accent-soft);color:#fde68a;border:1px solid rgba(245,158,11,.25);cursor:default;font-family:inherit;text-decoration:none;box-sizing:border-box}.skill-tags a.skill-tag-link{cursor:pointer}.skill-tags .skill-tag:hover,.skill-tags .skill-tag:focus-visible{outline:none;border-color:#f59e0b8c;transform:translateY(-1px)}.skill-tags a.skill-tag-link:hover{color:#fffbeb}.card-interactive{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.card-interactive:hover{transform:translateY(-2px);border-color:#f59e0b33}.contact-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:.65rem}.contact-card-grow{flex:1 1 220px}.btn-copy-email{flex:0 0 auto;align-self:stretch;white-space:nowrap}.back-top{position:fixed;right:1.25rem;bottom:1.5rem;z-index:60;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--accent);font-size:1.15rem;line-height:1;cursor:pointer;box-shadow:var(--shadow);transition:transform .2s,border-color .2s}.back-top:hover{transform:translateY(-3px);border-color:#f59e0b73}.back-top:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.section-contact .contact-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.contact-card{display:block;padding:1.25rem 1.35rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s,transform .2s}.contact-card:hover{border-color:#f59e0b59;transform:translateY(-2px);color:var(--text)}.contact-label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.35rem}.contact-value{font-size:1rem;word-break:break-all}.site-footer{border-top:1px solid var(--border);padding:1.5rem;color:var(--muted);font-size:.9rem}.footer-inner{text-align:center}.error-banner{margin:1rem 1.5rem;padding:1rem 1.25rem;background:#ef44441f;border:1px solid rgba(239,68,68,.35);border-radius:var(--radius);color:#fecaca;max-width:1100px;margin-left:auto;margin-right:auto}.hero-tagline{margin:.75rem 0 0;font-size:1.05rem;color:var(--muted)}.hero-tagline:empty{display:none}.subsection-title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--muted)}.place-line{margin:.35rem 0 0;font-size:.88rem;color:var(--muted)}.course-label{margin:.85rem 0 .35rem;font-size:.8rem;font-weight:600;color:var(--text);letter-spacing:.02em}.course-list{margin:0;padding-left:1.15rem;color:var(--muted);font-size:.9rem}.course-list li{margin:.2rem 0}.course-list a.course-link{color:var(--accent);text-decoration:underline;text-decoration-color:#f59e0b66;text-underline-offset:.2em}.course-list a.course-link:hover{color:var(--text);text-decoration-color:var(--accent)}.card-interactive h3 .company-intro-link{color:var(--text);text-decoration:underline;text-decoration-color:#f59e0b73;text-underline-offset:.12em}.card-interactive h3 .company-intro-link:hover{color:var(--accent)}.card-interactive h3 .edu-outbound-link,.card-interactive .meta .edu-outbound-link{color:var(--text);text-decoration:underline;text-decoration-color:#f59e0b73;text-underline-offset:.12em}.card-interactive h3 .edu-outbound-link:hover,.card-interactive .meta .edu-outbound-link:hover{color:var(--accent)}.project-meta{margin:.35rem 0 .5rem;font-size:.85rem;color:var(--muted)}.publications-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.publications-list li{margin:0;padding:1.1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);font-size:.95rem;line-height:1.65}.publications-list .muted-item{border-style:dashed;opacity:.75}@media (max-width: 860px){.hero-inner{flex-direction:column-reverse;text-align:center}.hero-content{max-width:none}.hero-actions{justify-content:center}.hero-photo{width:min(220px,70vw)}}@media (max-width: 720px){.header-inner{flex-direction:column;align-items:flex-start}.lang-switch{margin-left:0}.timeline .time{float:none;display:block;margin-top:.35rem}}
