@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;500;600&family=Lato:wght@300;400;700&display=swap');
:root { --text:#171717; --link:#174f82; --muted:#5a5a5a; --border:rgba(38,49,59,.18); --panel:rgba(255,255,255,.76); --focus:#8f3d22; }
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:88px; }
body { min-height:100vh; padding-top:66px; color:var(--text); background:#f7f5f0 radial-gradient(circle at 14% 10%,rgba(58,98,122,.13),transparent 30%) fixed; font-family:Lato,Arial,sans-serif; font-size:16px; font-weight:300; line-height:1.68; }
body::before { content:""; position:fixed; inset:0; z-index:-1; background:radial-gradient(circle at 82% 18%,rgba(133,95,58,.1),transparent 28%),linear-gradient(135deg,#f7f5f0 0%,#eef2f3 55%,#f8f6f1 100%); }
a { color:var(--link); text-underline-offset:2px; }
a:hover { color:#0c365c; text-decoration:underline; }
a:focus-visible { outline:3px solid var(--focus); outline-offset:3px; border-radius:2px; }
.skip-link { position:fixed; top:-5rem; left:1rem; z-index:3000; padding:.65rem .9rem; color:white; background:#171717; border-radius:4px; }
.skip-link:focus { top:.75rem; }
.fixed-nav { position:fixed; inset:0 0 auto 0; z-index:1000; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1rem 3rem; background:rgba(255,255,255,.94); border-bottom:1px solid var(--border); backdrop-filter:blur(10px); }
.nav-name { color:var(--text); font-size:18px; font-weight:700; text-decoration:none; }
.section-nav { color:var(--muted); text-align:right; font-size:15px; font-weight:400; white-space:nowrap; }
.section-nav a { color:var(--muted); text-decoration:none; }
.top,.Bio,.middle { max-width:880px; margin:0 auto; padding:2.5rem 3rem; background:var(--panel); border-left:1px solid rgba(255,255,255,.55); border-right:1px solid rgba(255,255,255,.55); }
.top { display:grid; grid-template-columns:180px 1fr; gap:2.6rem; align-items:center; margin-top:3rem; padding-bottom:1.8rem; border-radius:8px 8px 0 0; }
.profile_pic { width:180px; height:220px; object-fit:cover; border-radius:50%; border:1px solid rgba(27,56,74,.16); box-shadow:0 10px 25px rgba(24,43,56,.1); background:#eef1f2; }
.top_content h1 { margin-bottom:.35rem; font-size:2.25rem; line-height:1.18; letter-spacing:-.025em; }
.title-line { margin-bottom:.2rem; font-size:18px; font-weight:400; }
.research-line { max-width:560px; margin-bottom:.8rem; color:var(--muted); font-family:'Crimson Pro',Georgia,serif; font-size:18px; line-height:1.35; }
.links-line { margin-top:.45rem; }
.top_content a,.about_me_bio a,.publication a,.project-item a,.talk-item a,.course_details a { text-decoration:none; }
.Bio { border-top:1px solid var(--border); padding-top:2rem; padding-bottom:2.2rem; }
.about_me_bio { font-size:16px; line-height:1.76; }
.spaced { margin-top:1.25rem; }
.availability { margin-bottom:1.4rem; padding:.9rem 1rem; background:rgba(233,240,244,.82); border-left:3px solid #426b82; border-radius:3px; font-size:15px; line-height:1.55; }
.availability-dot { display:inline-block; width:9px; height:9px; margin-right:.45rem; border-radius:50%; background:#35765a; box-shadow:0 0 0 3px rgba(53,118,90,.12); }
.middle { margin-bottom:4rem; padding-bottom:2rem; border-top:1px solid var(--border); border-radius:0 0 8px 8px; }
.section_title { margin:0 0 1.35rem; font-size:1.55rem; font-weight:700; letter-spacing:.02em; text-transform:lowercase; }
.subsection_title { margin-bottom:1.4rem; color:var(--muted); font-size:1.08rem; font-weight:400; text-transform:lowercase; }
.section-divider { width:100%; height:1px; margin:2.6rem 0; background:var(--border); }
.publication,.project-item,.talk-item { margin-bottom:1.65rem; }
.publication p,.project-item p,.talk-item p { margin:0; line-height:1.62; }
.item-title { display:inline; color:var(--text); font-size:16px; font-weight:400; }
.project-item .item-title { display:block; margin-bottom:.18rem; }
.item-description { display:block; margin-bottom:.25rem; }
.publication i,.project-item i,.talk-item i { color:var(--muted); font-size:14.5px; font-style:normal; }
.publication a,.project-item a,.talk-item a { margin-right:.55rem; font-size:14px; }
.tag { display:inline-block; margin:.45rem .3rem 0 0; padding:.12rem .46rem; color:#365568; background:rgba(228,237,242,.88); border-radius:3px; font-size:12px; font-weight:400; }
#teaching { margin-top:2.6rem; padding-top:2rem; border-top:1px solid var(--border); }
.course { margin-top:.4rem; margin-bottom:.2rem; font-size:16px; font-weight:400; }
.course_details { margin-bottom:1.45rem; color:var(--muted); font-size:15px; line-height:1.6; }
footer { margin-top:2.7rem; padding-top:1.25rem; color:var(--muted); border-top:1px solid var(--border); font-size:13px; }
@media (max-width:768px) { body{padding-top:92px}.fixed-nav{flex-direction:column;gap:.3rem;padding:.8rem 1.2rem}.section-nav{text-align:center;font-size:14px;white-space:normal}.top,.Bio,.middle{padding:2rem 1.5rem}.top{grid-template-columns:1fr;justify-items:center;text-align:center;margin-top:1.5rem}.profile_pic{width:160px;height:160px}.research-line{margin-left:auto;margin-right:auto} }
@media (max-width:480px) { body{font-size:15px}.top_content h1{font-size:1.9rem}.top,.Bio,.middle{padding-left:1.15rem;padding-right:1.15rem} }
@media print { .fixed-nav,.skip-link{display:none}body{padding-top:0;background:white}.top,.Bio,.middle{max-width:none;background:white;border:none} }
