:root{--color-bg:#fdfbf7;--color-bg-alt:#f5f1ea;--color-text:#2c2c2c;--color-text-muted:#666666;--color-text-light:#888888;--color-heading:#1a1a1a;--color-accent:#8b5a2b;--color-accent-dark:#6b4423;--color-link:#4a6fa5;--color-link-hover:#2d4a6f;--color-border:#e0dcd4;--color-border-dark:#c5bfb3;--font-heading:'Playfair Display', 'Georgia', serif;--font-body:'Source Serif Pro', 'Georgia', serif;--font-sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:2rem;--space-xl:3rem;--space-xxl:5rem;--max-width:1100px;--content-width:720px}*,*::before,*::after{box-sizing:border-box}html{font-size:18px;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--color-text);background-color:var(--color-bg);margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-heading);font-weight:600;line-height:1.3;margin-top:var(--space-xl);margin-bottom:var(--space-md)}h1{font-size:2.5rem;font-weight:700;letter-spacing:-.02em}h2{font-size:1.75rem;position:relative;padding-bottom:var(--space-sm)}h2::after{content:'';position:absolute;bottom:0;left:0;width:60px;height:2px;background:linear-gradient(90deg,var(--color-accent),transparent)}h3{font-size:1.35rem}h4{font-size:1.15rem}p{margin-top:0;margin-bottom:var(--space-md)}a{color:var(--color-link);text-decoration:none;transition:color .2s ease,border-color .2s ease}a:hover{color:var(--color-link-hover)}.content a{border-bottom:1px solid transparent}.content a:hover{border-bottom-color:var(--color-link-hover)}strong{font-weight:600;color:var(--color-heading)}blockquote{margin:var(--space-lg)0;padding:var(--space-md)var(--space-lg);border-left:3px solid var(--color-accent);background:var(--color-bg-alt);font-style:italic;color:var(--color-text-muted)}ul,ol{margin:var(--space-md)0;padding-left:var(--space-lg)}li{margin-bottom:var(--space-sm)}li::marker{color:var(--color-accent)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.content-wrapper{max-width:var(--content-width)}.content-wrapper>header:first-child h1,article>header:first-child h1{margin-top:0}.site-header{background:var(--color-bg);border-bottom:1px solid var(--color-border);position:fixed;top:0;left:0;right:0;z-index:100}h1,h2,h3,h4,h5,h6{scroll-margin-top:80px}.header-inner{max-width:var(--max-width);margin:0 auto;padding:var(--space-md)var(--space-lg);display:flex;justify-content:space-between;align-items:center}.site-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-heading);letter-spacing:-.01em;margin:0}.site-title a{color:inherit}.site-title a:hover{color:var(--color-accent)}nav ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--space-lg)}nav li{margin:0}nav a{font-family:var(--font-sans);font-size:.9rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-xs)0;position:relative}nav a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--color-accent);transition:width .3s ease}nav a:hover,nav a.active{color:var(--color-heading)}nav a:hover::after,nav a.active::after{width:100%}main{min-height:calc(100vh - 200px);padding:var(--space-xxl)0;margin-top:70px}.hero{display:grid;grid-template-columns:1fr 280px;gap:var(--space-xxl);align-items:start;margin-bottom:var(--space-xxl)}.hero-content h1{margin-top:0;font-size:3rem}.hero-subtitle{font-family:var(--font-sans);font-size:1.1rem;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.hero-intro{font-size:1.15rem;line-height:1.8}.profile-image{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.1);filter:grayscale(10%);transition:filter .3s ease,box-shadow .3s ease}.profile-image:hover{filter:grayscale(0%);box-shadow:0 15px 50px rgba(0,0,0,.15)}.section{margin-bottom:var(--space-xxl)}.section-title{margin-top:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.card{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:var(--space-lg);transition:box-shadow .3s ease,transform .3s ease}.card:hover{box-shadow:0 8px 30px rgba(0,0,0,8%);transform:translateY(-2px)}.card h3{margin-top:0;font-size:1.2rem}.tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:var(--space-md)0}.tag{font-family:var(--font-sans);font-size:.85rem;color:var(--color-accent-dark);background:linear-gradient(135deg,rgba(139,90,43,8%),rgba(139,90,43,4%));border:1px solid rgba(139,90,43,.2);padding:var(--space-xs)var(--space-md);border-radius:20px;transition:all .2s ease}.tag:hover{background:linear-gradient(135deg,rgba(139,90,43,.15),rgba(139,90,43,8%));border-color:rgba(139,90,43,.3)}.publication{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.publication:last-child{border-bottom:none}.publication-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--color-heading);margin-bottom:var(--space-xs)}.publication-authors{font-size:.95rem;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.publication-venue{font-style:italic;color:var(--color-text-light);font-size:.9rem}.publication-venue a{font-style:normal;font-size:.85rem;font-weight:500;color:var(--color-link);margin-left:.4rem;text-decoration:none;border-bottom:1px dashed var(--color-link)}.publication-venue a:hover{color:var(--color-link-hover);border-bottom-style:solid}.timeline{position:relative;padding-left:var(--space-xl)}.timeline::before{content:'';position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--color-border-dark)}.timeline-item{position:relative;margin-bottom:var(--space-xl)}.timeline-item::before{content:'';position:absolute;left:calc(-1 * var(--space-xl) + 2px);top:8px;width:10px;height:10px;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-bg)}.timeline-date{font-family:var(--font-sans);font-size:.85rem;color:var(--color-accent);font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-xs)}.timeline-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--color-heading);margin:0 0 var(--space-xs)}.timeline-subtitle{font-size:1rem;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.contact-info{background:var(--color-bg-alt);border-radius:8px;padding:var(--space-xl);margin-top:var(--space-lg)}.contact-item{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);font-size:1.05rem}.contact-item:last-child{margin-bottom:0}.contact-label{font-family:var(--font-sans);font-weight:600;color:var(--color-text-muted);min-width:80px}footer{background:var(--color-bg-alt);border-top:1px solid var(--color-border);padding:var(--space-xl)0;margin-top:var(--space-xxl)}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg);display:flex;justify-content:space-between;align-items:center}.footer-text{font-family:var(--font-sans);font-size:.9rem;color:var(--color-text-light)}.social-links{display:flex;gap:var(--space-md)}.social-links a{color:var(--color-text-muted);transition:color .2s ease}.social-links a:hover{color:var(--color-accent)}.page-content{animation:fadeIn .4s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){html{font-size:17px}.hero{grid-template-columns:1fr}.hero-content{order:2}.hero-content h1,.hero-subtitle{text-align:center}.hero-intro{text-align:left}.profile-image{display:block;max-width:180px;margin:0 auto;order:1}h2::after{left:50%;transform:translateX(-50%)}}@media(max-width:768px){.header-inner{flex-direction:column;gap:var(--space-md)}nav ul{gap:var(--space-md);flex-wrap:wrap;justify-content:center}main{margin-top:130px}h1{font-size:2rem}.hero-content h1{font-size:2.25rem}}@media(max-width:480px){:root{--space-lg:1.5rem;--space-xl:2rem;--space-xxl:3rem}html{font-size:16px}nav ul{gap:var(--space-sm)}nav a{font-size:.8rem}.profile-image{max-width:150px}.hero-content h1{font-size:2rem}}@media print{header,footer,nav{display:none}body{font-size:12pt;background:#fff}.hero{grid-template-columns:1fr}.profile-image{max-width:150px}}