:root{color-scheme:dark;--near-black:#070707;--background:#111315;--surface:#1f2225;--surface-2:#2a2d30;--border:#424242;--medium:#666;--muted:#b4b4b4;--text:#f4f4f4;--page:min(1180px, calc(100vw - 48px));--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--background);min-width:320px;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}::selection{background:var(--text);color:var(--near-black)}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;font-weight:500;line-height:1.06}h2{max-width:920px;margin-bottom:0;font-size:clamp(2.5rem,5.2vw,5.4rem)}h3{font-size:clamp(1.35rem,2.1vw,2rem)}:focus-visible{outline:2px solid var(--text);outline-offset:4px}.skip-link{z-index:1000;background:var(--text);color:var(--near-black);padding:10px 16px;text-decoration:none;transition:transform .16s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.page-shell{width:var(--page);margin-inline:auto}.site-header{z-index:100;backdrop-filter:blur(14px);background:#070707d1;border-bottom:1px solid #f4f4f424;position:fixed;inset:0 0 auto}.header-inner{width:var(--page);justify-content:space-between;align-items:center;gap:32px;min-height:72px;margin-inline:auto;display:flex}.wordmark{letter-spacing:-.01em;align-items:center;gap:12px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.wordmark-mark{aspect-ratio:1;letter-spacing:.08em;border:1px solid #f4f4f48c;place-items:center;width:32px;font-size:.7rem;display:grid}.desktop-nav{align-items:center;gap:clamp(20px,3vw,42px);display:flex}.desktop-nav a,.mobile-nav a{color:var(--muted);letter-spacing:.02em;font-size:.82rem;text-decoration:none;transition:color .16s}.desktop-nav a{white-space:nowrap;align-items:center;min-height:44px;padding-inline:2px;display:inline-flex}.desktop-nav a:hover,.mobile-nav a:hover{color:var(--text)}.mobile-nav{display:none}.opening{isolation:isolate;background:var(--near-black);position:relative}.opening-backdrop{z-index:0;width:100%;height:100svh;position:sticky;top:0;left:0;overflow:hidden}.opening-image,.opening-overlay{width:100%;height:100%;position:absolute;inset:0}.opening-image{object-fit:cover;object-position:49% 52%;filter:contrast(1.04)}.opening-overlay{background:linear-gradient(90deg,#070707d1 0%,#07070785 48%,#0707071a 78%),linear-gradient(#0707071f 0%,#0000 45%,#070707c7 100%)}.hero{z-index:1;align-items:end;min-height:100svh;margin-top:-100svh;display:grid;position:relative;overflow:hidden}.hero-content{padding-block:148px 86px}.hero-kicker,.eyebrow,.project-category,.publication-year{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;font-weight:650;line-height:1.3}.hero-kicker{margin-bottom:14px}.hero h1{letter-spacing:-.065em;margin-bottom:5px;font-size:clamp(4.25rem,10vw,9.6rem)}.hero-role{color:var(--text);letter-spacing:-.035em;margin-bottom:18px;font-size:clamp(1.35rem,2.7vw,2.45rem);font-weight:400}.hero-statement{color:#dedede;max-width:610px;margin-bottom:28px;font-size:clamp(1rem,1.5vw,1.24rem)}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.button{letter-spacing:.01em;min-height:48px;transition:background .18s ease, color .18s ease, transform .18s var(--ease);border:1px solid #f4f4f48c;justify-content:center;align-items:center;padding:11px 18px;font-size:.83rem;font-weight:650;text-decoration:none;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-solid{background:var(--text);color:var(--near-black)}.button-solid:hover{background:#dcdcdc}.button-ghost{background:#07070747}.button-ghost:hover{background:#f4f4f41f}.hero-secondary{color:var(--muted);text-underline-offset:5px;margin-top:19px;font-size:.86rem;display:inline-block}.hero-index{color:#f4f4f4a3;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;gap:18px;font-size:.67rem;display:flex;position:absolute;bottom:34px;right:max(24px,50vw + min(1180px,100vw - 48px)/-2)}.section{padding-block:clamp(96px,12vw,164px)}.work-section{z-index:2;background:var(--background);padding-top:clamp(72px,8vw,112px);position:relative}.work-section .section-heading{margin-bottom:clamp(32px,4vw,52px)}.section-heading{margin-bottom:clamp(48px,7vw,86px)}.section-heading .eyebrow,.about-copy .eyebrow,.contact-inner .eyebrow{margin-bottom:24px}.section-intro{max-width:620px;color:var(--muted);margin:28px 0 0 auto;font-size:clamp(1rem,1.45vw,1.18rem)}.project-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-card{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--background);min-height:390px;transition:background .22s ease, transform .22s var(--ease);flex-direction:column;padding:clamp(28px,4vw,48px);display:flex}.project-card:hover{background:var(--surface);transform:translateY(-3px)}.project-card-topline{color:var(--medium);justify-content:space-between;gap:20px;font-size:.74rem;display:flex}.project-card h3{max-width:480px;margin:20px 0 18px}.project-description{max-width:510px;color:var(--muted)}.tag-list{flex-wrap:wrap;gap:8px;margin:8px 0 30px;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--border);color:#cdcdcd;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;font-size:.7rem}.project-links{flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:auto;display:flex}.project-links a,.text-link,.contact-links a,.site-footer a{text-underline-offset:5px;font-size:.84rem;font-weight:650;text-decoration-line:underline;text-decoration-thickness:1px}.project-note{color:var(--muted);font-size:.78rem}.section-contrast{background:var(--surface)}.research-intro{grid-template-columns:minmax(0,1.2fr) minmax(300px,.62fr);align-items:end;gap:clamp(52px,9vw,130px);margin-bottom:clamp(58px,8vw,100px);display:grid}.research-intro .section-heading{margin-bottom:34px}.research-intro .section-intro{max-width:650px;margin-left:0}.research-themes{border-top:1px solid var(--border);max-width:620px;color:var(--muted);margin-bottom:0;padding-top:26px;font-size:.92rem}.research-visual{margin:0}.research-visual img{aspect-ratio:4/5;object-fit:cover;object-position:43% 50%;border:1px solid var(--border);filter:grayscale()contrast(1.02);width:100%;height:auto}.research-visual figcaption{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:12px;font-size:.7rem}.publication-list{border-top:1px solid var(--border)}.publication-card{border-bottom:1px solid var(--border);grid-template-columns:42px minmax(0,1fr) auto;gap:clamp(20px,3vw,42px);padding-block:34px;display:grid}.publication-index{color:var(--medium);font-size:.72rem}.publication-year{margin-bottom:10px}.publication-card h3{max-width:790px;margin-bottom:18px}.publication-authors,.publication-venue{max-width:790px;color:var(--muted);margin-bottom:5px;font-size:.9rem}.publication-authors strong{color:var(--text);font-weight:700}.publication-actions{flex-direction:column;align-items:flex-start;gap:16px;min-width:92px;display:flex}.experience-list{border-top:1px solid var(--border)}.experience-item{border-bottom:1px solid var(--border);grid-template-columns:minmax(180px,.7fr) minmax(0,1.8fr);gap:clamp(28px,7vw,110px);padding-block:clamp(28px,3.8vw,46px);display:grid}.experience-meta p{color:var(--muted);margin-bottom:4px;font-size:.82rem}.experience-organization{color:var(--muted);letter-spacing:.02em;margin-bottom:8px;font-size:.84rem;font-weight:600}.experience-content h3{margin-bottom:20px}.experience-content ul{max-width:760px;color:var(--muted);margin:0;padding:0;list-style:none}.experience-content li{margin-bottom:7px;padding-left:18px;font-size:.93rem;position:relative}.experience-content li:before{content:"—";color:var(--medium);position:absolute;left:0}.about-section{background:var(--near-black)}.about-grid{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(56px,10vw,150px);display:grid}.portrait-wrap{margin:0}.portrait-wrap img{aspect-ratio:1;object-fit:cover;object-position:center;border:1px solid var(--border);width:100%;height:auto}.portrait-wrap figcaption{color:var(--medium);letter-spacing:.08em;text-transform:uppercase;margin-top:12px;font-size:.72rem}.about-copy h2{margin-bottom:32px;font-size:clamp(2.4rem,4.6vw,4.8rem)}.about-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:30px;font-size:clamp(1rem,1.35vw,1.16rem)}.education-skills{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(60px,10vw,150px);display:grid}.education-skills .section-heading{margin-bottom:42px}.education-skills h2{font-size:clamp(2.1rem,3.7vw,3.8rem)}.education-list,.skills-grid{border-top:1px solid var(--border)}.education-list article,.skills-grid article{border-bottom:1px solid var(--border);padding-block:22px}.education-list h3,.skills-grid h3{letter-spacing:-.015em;margin-bottom:8px;font-size:1.08rem}.education-list p,.skills-grid p{color:var(--muted);margin-bottom:0;font-size:.86rem}.education-list .education-detail{color:#d0d0d0;margin-top:5px}.contact-section{border-top:1px solid var(--border);background:var(--surface-2);padding-block:clamp(100px,14vw,190px)}.contact-inner{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(60px,10vw,140px);display:grid}.contact-inner h2{max-width:780px;margin-bottom:30px}.contact-copy>p:not(.eyebrow){color:var(--muted)}.contact-links{flex-wrap:wrap;gap:16px 24px;margin-top:30px;display:flex}.contact-form{border:1px solid var(--border);background:var(--background);gap:24px;padding:clamp(26px,4vw,46px);display:grid}.contact-form label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:8px;font-size:.76rem;font-weight:650;display:grid}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:inherit;letter-spacing:0;text-transform:none;border-radius:0;padding:11px 13px}.contact-form textarea{resize:vertical;min-height:168px}.contact-form input:hover,.contact-form select:hover,.contact-form textarea:hover{border-color:var(--medium)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--text);outline:2px solid #0000}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.form-honeypot{display:none}.form-footer{justify-content:space-between;align-items:center;gap:24px;display:flex}.form-footer p{max-width:360px;color:var(--medium);margin:0;font-size:.74rem}.form-footer .button{cursor:pointer;flex:none}.success-page{background:var(--background);place-items:center;min-height:100svh;padding-block:150px 80px;display:grid}.success-panel{border-block:1px solid var(--border);padding-block:clamp(56px,9vw,110px)}.success-panel h1{max-width:900px;margin-bottom:26px;font-size:clamp(3.2rem,8vw,7.5rem)}.success-panel>p:not(.eyebrow){max-width:580px;color:var(--muted);margin-bottom:34px;font-size:1.05rem}.site-footer{background:var(--near-black);padding-block:28px}.site-footer .page-shell{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.site-footer p,.site-footer a{color:var(--muted);margin:0;font-size:.72rem}.site-footer .independence-note{max-width:620px;color:var(--medium);margin-top:6px}@media (width>=801px) and (height<=820px){.hero{height:100svh;min-height:0;max-height:none}.hero-content{padding-block:104px 34px}.hero h1{font-size:clamp(4rem,8.5vw,7.6rem)}.hero-role{margin-bottom:12px}.hero-statement{margin-bottom:18px}.hero-secondary{margin-top:12px}.hero-index{bottom:22px}}@media (width<=800px){:root{--page:min(100% - 32px, 680px)}.header-inner{min-height:64px}.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{cursor:pointer;color:var(--muted);padding:10px 0 10px 14px;font-size:.82rem;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open] summary{color:var(--text)}.mobile-nav nav{border:1px solid var(--border);background:var(--near-black);width:min(240px,100vw - 32px);padding:10px;display:grid;position:absolute;top:46px;right:0}.mobile-nav a{border-bottom:1px solid var(--border);align-items:center;min-height:44px;padding-inline:12px;display:flex}.mobile-nav a:last-child{border-bottom:0}.opening-backdrop{height:min(820px,82svh);min-height:680px;position:absolute}.opening-image{object-position:38% center}.opening-overlay{background:linear-gradient(90deg,#070707b8,#0707072e),linear-gradient(#07070729 0%,#0707077a 42%,#070707e6 100%)}.hero{height:min(820px,82svh);min-height:680px;margin-top:0}.hero-content{padding-block:118px 52px}.hero h1{font-size:clamp(3.7rem,17vw,6.6rem)}.hero-index{display:none}.project-grid,.research-intro,.about-grid,.education-skills,.contact-inner{grid-template-columns:1fr}.project-card{min-height:340px}.publication-card{grid-template-columns:30px minmax(0,1fr)}.research-intro{align-items:start;gap:48px}.research-visual{width:min(100%,440px)}.research-visual img{aspect-ratio:3/4;object-position:42% center}.publication-actions{flex-flow:wrap;grid-column:2}.experience-item{grid-template-columns:1fr;gap:20px}.about-grid{gap:60px}.portrait-wrap{width:min(100%,460px)}.education-skills{gap:100px}.contact-inner{align-items:start;gap:50px}.form-row{grid-template-columns:1fr}}@media (width<=480px){.wordmark>span:last-child{display:none}.hero{min-height:650px}.hero-actions{grid-template-columns:1fr 1fr;display:grid}.hero-actions .button:first-child{grid-column:1/-1}.section{padding-block:92px}.work-section{padding-top:64px}.work-section .section-heading{margin-bottom:32px}.section-intro{margin-left:0}.project-card{padding:26px 22px}.publication-card{grid-template-columns:1fr;gap:10px}.publication-actions{grid-column:1}.site-footer .page-shell{flex-direction:column}.contact-form{padding:24px 20px}.form-footer{flex-direction:column;align-items:stretch}.form-footer .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.opening-backdrop{position:absolute}.hero{margin-top:0}}
