:root{--ink:#0e0e0e;--ink-soft:#3a3a3a;--ink-muted:#888;--cream:#f7f4ef;--cream-deep:#ede9e1;--accent:#1a3a2a;--accent-light:#2d6247;--gold:#b8913a;--gold-light:#d4aa55;--line:rgba(0,0,0,0.12);--white:#ffffff}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Outfit,sans-serif;background:var(--cream);color:var(--ink);font-weight:300;line-height:1.7;overflow-x:hidden}nav.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.4rem 3rem;background:rgba(247,244,239,.7);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid transparent;transition:padding .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease}nav.site-nav.is-scrolled{padding:.85rem 3rem;background:rgba(247,244,239,.92);border-bottom-color:var(--line);box-shadow:0 8px 24px -16px rgba(0,0,0,.18)}.nav-logo{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink);line-height:1}.nav-logo-mark{font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:500;letter-spacing:.06em;color:var(--accent);border:1px solid var(--accent);padding:.25rem .55rem;transition:background .25s ease,color .25s ease}.nav-logo:hover .nav-logo-mark{background:var(--accent);color:var(--white)}.nav-logo-name{font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:400;letter-spacing:.04em;color:var(--ink)}.nav-links{display:flex;gap:2.25rem;list-style:none;margin:0;padding:0}.nav-links a{position:relative;font-family:DM Mono,monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;padding:.4rem 0;transition:color .2s ease}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .3s ease}.nav-links a.is-active,.nav-links a:hover{color:var(--accent)}.nav-links a.is-active:after,.nav-links a:hover:after{transform:scaleX(1)}.nav-cta{font-family:DM Mono,monospace;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--white);background:var(--accent);padding:.7rem 1.3rem;text-decoration:none;border:1px solid var(--accent);transition:background .25s ease,color .25s ease,transform .25s ease}.nav-cta:hover{background:var(--accent-light);border-color:var(--accent-light);transform:translateY(-1px)}.nav-toggle{display:none;position:fixed;top:1.4rem;right:3rem;flex-direction:column;justify-content:center;gap:4px;width:32px;height:32px;padding:8px;background:transparent;border:1px solid var(--accent);border-radius:0;cursor:pointer;z-index:300;transition:top .3s ease,right .3s ease,background .25s ease,border-color .2s ease}.nav-toggle.is-scrolled-pos{top:.85rem}.nav-toggle:hover{border-color:var(--accent)}.nav-toggle span{display:block;height:1.5px;width:100%;transition:transform .3s ease,opacity .2s ease;transform-origin:center}.nav-toggle span,.nav-toggle.is-open{background:var(--accent)}.nav-toggle.is-open span{background:var(--white)}.nav-toggle.is-open span:first-child{transform:translateY(5.5px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;background:var(--cream);padding:6rem 2rem 2.5rem;display:flex;flex-direction:column;gap:2rem;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .3s ease,transform .3s ease,visibility .3s;z-index:150;overflow-y:auto}.mobile-menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-menu ul{list-style:none;display:flex;flex-direction:column;gap:.85rem;margin:0;padding:0}.mobile-menu li{border-bottom:1px solid var(--line);padding-bottom:.85rem}.mobile-menu a{display:block;font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:400;color:var(--ink);text-decoration:none;letter-spacing:.01em;transition:color .2s ease,transform .2s ease}.mobile-menu a.is-active,.mobile-menu a:hover{color:var(--accent);transform:translateX(6px)}.mobile-menu-cta{margin-top:auto;display:block;text-align:center;font-family:DM Mono,monospace;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--white);background:var(--accent);padding:.7rem 1.1rem;text-decoration:none;border:1px solid var(--accent)}.mobile-menu-backdrop{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding-top:5rem}.hero-left{display:flex;flex-direction:column;justify-content:center;padding:6rem 4rem}.hero-tag{font-family:DM Mono,monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}.hero-name{font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,6vw,5.5rem);font-weight:300;line-height:1.05;letter-spacing:-.01em;color:var(--ink);margin-bottom:.5rem}.hero-name em{font-style:italic;color:var(--accent)}.hero-title{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:300;font-style:italic;color:var(--ink-soft);margin-bottom:2rem;letter-spacing:.02em}.hero-desc{font-size:.95rem;color:var(--ink-soft);max-width:420px;line-height:1.8;margin-bottom:3rem}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.btn-primary{background:var(--accent);color:var(--white);padding:.85rem 2rem;text-decoration:none;font-family:DM Mono,monospace;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;transition:background .2s}.btn-primary:hover{background:var(--accent-light)}.btn-outline{border:1px solid var(--ink);color:var(--ink);padding:.85rem 2rem;text-decoration:none;font-family:DM Mono,monospace;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;transition:all .2s}.btn-outline:hover{background:var(--ink);color:var(--white)}.hero-right{position:relative;background:var(--accent);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.hero-right-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,58,42,.95),rgba(15,40,28,1))}.hero-photo-wrapper{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2rem;padding:4rem 3rem}.hero-photo{width:260px;height:320px;object-fit:cover;border:1px solid rgba(255,255,255,.15);display:block}.hero-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);width:100%}.stat-cell{background:rgba(255,255,255,.03);padding:1.5rem;text-align:center}.stat-num{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:300;color:var(--gold-light);display:block;line-height:1}.stat-label{font-family:DM Mono,monospace;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:.4rem;display:block}section{padding:7rem 4rem}section>*{max-width:1100px;margin-left:auto;margin-right:auto}.section-tag{font-family:DM Mono,monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:block}.section-title{font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,4vw,3.5rem);font-weight:300;line-height:1.1;margin-bottom:3rem;color:var(--ink)}.section-title em{font-style:italic;color:var(--accent)}.about{background:var(--white)}.about-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6rem;gap:6rem;align-items:start}.about-text p{color:var(--ink-soft);margin-bottom:1.5rem;font-size:.95rem;line-height:1.9}.research-focus{border-top:1px solid var(--line);padding-top:2rem;margin-bottom:2rem}.focus-label{font-family:DM Mono,monospace;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:1rem}.focus-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:var(--cream);border:1px solid var(--line);padding:.4rem 1rem;font-family:DM Mono,monospace;font-size:.68rem;letter-spacing:.08em;color:var(--ink-soft)}.tag-accent{background:var(--accent);border-color:var(--accent);color:var(--white)}.tag-link{text-decoration:none;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.tag-link:hover{background:var(--accent);border-color:var(--accent);color:var(--white)}.contact-line{font-family:DM Mono,monospace;font-size:.78rem;color:var(--ink-soft)}.contact-line+.contact-line{margin-top:.4rem}.contact-line a{color:inherit;text-decoration:none}.contact-line a.underline-gold{border-bottom:1px solid var(--gold)}.research{background:var(--cream)}.research-card{background:var(--white);border:1px solid var(--line);padding:2.5rem;margin-bottom:1.5rem;display:grid;grid-template-columns:auto 1fr;grid-gap:2rem;gap:2rem;align-items:start;transition:border-color .2s}.research-card:hover{border-color:var(--accent)}.research-num{font-size:3rem;font-weight:300;color:var(--cream-deep);line-height:1;min-width:3rem}.research-card-title,.research-num{font-family:Cormorant Garamond,serif}.research-card-title{font-size:1.4rem;font-weight:400;color:var(--ink);margin-bottom:.75rem}.research-card-desc{font-size:.88rem;color:var(--ink-soft);line-height:1.8}.experience{background:var(--accent)}.experience .section-tag{color:var(--gold-light)}.experience .section-title{color:var(--white)}.experience .section-title em{color:var(--gold-light)}.exp-timeline{position:relative}.exp-timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:rgba(255,255,255,.15)}.exp-item{padding-left:2.5rem;padding-bottom:3rem;position:relative}.exp-item:before{content:"";position:absolute;left:-3px;top:.4rem;width:7px;height:7px;border-radius:50%;background:var(--gold-light)}.exp-date{font-family:DM Mono,monospace;font-size:.65rem;letter-spacing:.15em;color:var(--gold-light);text-transform:uppercase;margin-bottom:.4rem}.exp-role{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:400;color:var(--white);margin-bottom:.2rem}.exp-org{font-size:.85rem;color:rgba(255,255,255,.5);margin-bottom:.75rem}.exp-desc{font-size:.88rem;color:rgba(255,255,255,.65);line-height:1.8}.awards{background:var(--cream-deep)}.awards-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;gap:1.5rem}.award-card{background:var(--white);padding:2rem;border:1px solid var(--line)}.award-amount{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:300;color:var(--gold);display:block;margin-bottom:.5rem}.award-name{font-size:.88rem;font-weight:500;color:var(--ink);margin-bottom:.25rem}.award-desc{font-size:.78rem;color:var(--ink-muted);line-height:1.6}.skills{background:var(--white)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem}.skill-group-title{font-family:DM Mono,monospace;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.skill-list{list-style:none}.skill-list li{font-size:.85rem;color:var(--ink-soft);padding:.35rem 0;border-bottom:.5px solid var(--line);display:flex;align-items:center;gap:.5rem}.skill-list li:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent);flex-shrink:0}.contact{background:var(--ink);text-align:center;padding:8rem 4rem}.contact .section-tag{color:var(--gold-light)}.contact-title{font-family:Cormorant Garamond,serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:300;color:var(--white);line-height:1.1;margin-bottom:1.5rem}.contact-title em{font-style:italic;color:var(--gold-light)}.contact-sub{font-size:.95rem;color:rgba(255,255,255,.45);max-width:400px;margin:0 auto 3rem;line-height:1.8}.contact-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.contact-link{font-family:DM Mono,monospace;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--white);text-decoration:none;border:1px solid rgba(255,255,255,.2);padding:.85rem 2rem;transition:all .2s}.contact-link:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}footer{background:var(--ink);border-top:1px solid rgba(255,255,255,.06);padding:2rem 4rem;display:flex;align-items:center;justify-content:space-between}.footer-name{font-family:Cormorant Garamond,serif;font-size:.9rem;color:rgba(255,255,255,.3)}.footer-note{font-family:DM Mono,monospace;font-size:.62rem;letter-spacing:.12em;color:rgba(255,255,255,.2)}.divider{width:48px;height:1px;background:var(--gold);margin-bottom:2rem}.divider-light{background:rgba(255,255,255,.2)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-left>*{animation:fadeUp .8s ease both}.hero-tag{animation-delay:.1s}.hero-name{animation-delay:.2s}.hero-title{animation-delay:.3s}.hero-desc{animation-delay:.4s}.hero-cta{animation-delay:.5s}@media (max-width:1100px){nav.site-nav{padding:1.1rem 2rem}nav.site-nav.is-scrolled{padding:.75rem 2rem}.nav-links{gap:1.6rem}section{padding:6rem 2.5rem}.skills-grid{grid-template-columns:repeat(3,1fr)}.awards-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:4rem}}@media (max-width:900px){nav.site-nav{padding:.85rem 1.25rem}nav.site-nav.is-scrolled{padding:.7rem 1.25rem}.nav-cta,.nav-links{display:none!important}.nav-toggle{display:flex;top:.85rem;right:1.25rem}.nav-toggle.is-scrolled-pos{top:.7rem}.nav-logo-name{font-size:.9rem}section{padding:5rem 2rem}.hero{grid-template-columns:1fr;min-height:auto;padding-top:3.5rem}.hero-left{padding:4rem 2rem 3rem}.hero-right{min-height:50vh}.about-grid{grid-template-columns:1fr;gap:3rem}.awards-grid,.skills-grid{grid-template-columns:1fr 1fr}.research-card{grid-template-columns:1fr;gap:1rem;padding:2rem}.research-num{font-size:2.25rem}footer{flex-direction:column;gap:1rem;text-align:center}}@media (max-width:600px){nav.site-nav{padding:.6rem 1rem}nav.site-nav.is-scrolled{padding:.5rem 1rem}.nav-logo-mark{font-size:1.15rem;padding:.2rem .45rem}.nav-toggle{top:.6rem;right:1rem;width:28px;height:28px;padding:7px;gap:3px}.nav-toggle.is-scrolled-pos{top:.5rem}.nav-toggle.is-open span:first-child{transform:translateY(5px) rotate(45deg)}.nav-toggle.is-open span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}section{padding:4rem 1.25rem}.hero-left{padding:3.5rem 1.25rem 2.5rem}.hero-cta{flex-direction:column;align-items:stretch}.btn-outline,.btn-primary{text-align:center}.hero-photo-wrapper{padding:3rem 1.5rem;gap:1.5rem}.hero-photo{width:80%;max-width:240px;height:auto;aspect-ratio:13/16}.stat-num{font-size:2rem}.awards-grid,.skills-grid{grid-template-columns:1fr}.skills-grid{gap:1.5rem}.contact{padding:5rem 1.25rem}.contact-link{padding:.75rem 1.25rem;font-size:.65rem}footer{padding:1.5rem 1.25rem}}