@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{color-scheme:dark;--paper: #191b19;--ink: #e8ebe4;--muted: #adb2a8;--line: #30352e;--hover: #242923;--accent: #bccba6}:root[data-theme=light]{color-scheme:light;--paper: #f8f7f3;--ink: #353b32;--muted: #697063;--line: #e2e5dc;--hover: #eff1e9;--accent: #536944}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth;scroll-padding-top:30px;transition:background-color .26s ease,color .22s ease}body{margin:0;font:16px/1.7 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:500}a{color:inherit;text-decoration:none;transition:color .18s ease}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible,video:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{font:inherit}img{display:block;max-width:100%}::-moz-selection{background:var(--accent);color:var(--paper)}::selection{background:var(--accent);color:var(--paper)}.wrap{width:min(1056px,calc(100% - 80px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:42px;padding-block:28px;border-bottom:1px solid var(--line)}nav{display:flex;gap:30px;font-size:13px}nav a{padding-block:8px}.theme-picker{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.theme-picker button{border:0;padding:8px 0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}.theme-picker button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--accent)}.intro{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:center;padding-block:70px 76px}.intro-copy{padding-bottom:20px}.eyebrow{font-size:12px;color:var(--muted)}.intro .eyebrow{font-size:16px;color:var(--muted);margin-bottom:11px}h1{font-size:clamp(40px,4.8vw,64px);line-height:1.2;letter-spacing:-2.6px;font-weight:500}h1>span{color:var(--accent)}.intro-lead{font-size:24px;line-height:1.6;letter-spacing:-.4px;margin-top:28px}.intro-note{font-size:15px;color:var(--muted);margin-top:19px;line-height:1.85}.social-links{display:flex;gap:28px;font-size:13px;margin-top:29px}.social-links span{color:var(--muted);margin-left:4px}.portrait{margin:0}.portrait-frame{aspect-ratio:1/1.09;overflow:hidden;border-radius:14px;background:var(--hover)}.portrait img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 43%;object-position:50% 43%;transform:scale(1.55);transform-origin:50% 43%}.portrait-frame{box-shadow:0 12px 36px -20px #0005}.section{padding-block:46px 54px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px}h2{font-size:22px;letter-spacing:-.6px;line-height:1.3}.section-heading>span{font-size:12px;color:var(--muted)}h3{font-size:17px;line-height:1.5;letter-spacing:-.25px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.project-media{display:block;aspect-ratio:1.9;overflow:hidden;border-radius:14px;background:#0d1b26}.project-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.robot-media{background:#181c24;display:flex;align-items:center}.robot-media video{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.project-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-top:20px}.project-heading h3{font-size:20px}.project-heading h3 span{font-size:16px;margin-left:5px;color:var(--muted)}.project-heading>span{font-size:11px;color:var(--muted);white-space:nowrap}.project>p{color:var(--muted);font-size:14px;margin-top:8px;line-height:1.8;max-width:440px}.paper-row{border-top:1px solid var(--line);margin-top:34px;padding-top:26px;display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:baseline}.paper-row h3 span{font-size:14px;margin-left:6px;color:var(--muted)}.paper-row p{font-size:14px;color:var(--muted);margin-top:5px}details{margin-top:23px}summary{display:inline-flex;align-items:center;gap:15px;list-style:none;cursor:pointer;color:var(--muted);font-size:13px}summary::-webkit-details-marker{display:none}summary:hover{color:var(--ink)}summary>span{font-size:19px;display:inline-block}details[open] summary>span{transform:rotate(45deg)}.earlier-projects{margin-left:190px}.earlier-grid{display:grid;grid-template-columns:1fr;gap:22px;padding-top:20px}.earlier-grid h3{font-size:15px}.earlier-grid p{font-size:14px;color:var(--muted)}.article-row{transition:background-color .2s ease;display:grid;grid-template-columns:170px 1fr 24px;align-items:baseline;gap:20px;padding-block:23px;border-top:1px solid var(--line)}.article-row time{color:var(--muted);font-size:12px}.article-row h3{font-size:17px}.article-row p{color:var(--muted);font-size:14px;margin-top:5px}.outbound{justify-self:end;color:var(--muted);transition:color .18s ease,transform .18s ease}@media (hover: hover){.article-row:hover .outbound{color:var(--accent);transform:translate(2px,-2px)}}.background-section{display:grid;grid-template-columns:1.45fr 1fr;gap:90px;padding-bottom:55px}.background-section h2{margin-bottom:28px}.school-logo{border-radius:7px;height:56px;width:164px;display:flex;align-items:center;justify-content:center;padding:9px 13px}.school-logo img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.usc-logo{background:#fff}.bau-logo{background:#082b45}.date{font-size:12px;color:var(--muted);white-space:nowrap}.degree+.degree{margin-top:30px}.degree h3{font-size:16px;margin-top:18px}.degree p{font-size:13px;color:var(--muted);margin-top:4px}.site-footer{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding-block:30px 40px}.site-footer p{font-size:13px;color:var(--muted)}.contact-link{font-size:14px}.contact-link span{color:var(--accent);margin-left:8px}.footer-note{font-size:12px;color:var(--muted);margin-left:auto}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--paper);padding:12px}.skip-link:focus{top:12px}.prose{max-width:680px;margin:0 auto 60px}.prose p{margin:1.2em 0}.prose h2,.prose h3{margin-top:1.5em}.prose a{text-decoration:underline;color:var(--accent)}.prose pre{overflow:auto;background:var(--hover);padding:20px}.publication-authors{font-size:12px!important;line-height:1.8}.content-details{margin-top:12px}.content-details summary{font-size:12px}.content-details h4{font-size:14px;line-height:1.6;font-weight:500;margin:16px 0 0}.detail-list{margin:13px 0 0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.8}.detail-list li+li{margin-top:7px}.earlier-grid{gap:28px}.earlier-grid .project-context{font-size:12px;margin-bottom:5px}.earlier-grid h3{margin-bottom:7px}.experience-list{display:grid;gap:24px}.experience-entry{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:20px}.organization-logo{display:flex;align-items:center;justify-content:center;width:88px;min-height:50px;border-radius:7px;overflow:hidden}.organization-logo img{width:100%;height:50px;-o-object-fit:contain;object-fit:contain;padding:8px}.organization-logo.white{background:#fff}.organization-logo.navy{background:#0d263b}.organization-logo.icon{background:transparent}.organization-logo.icon img{width:50px;padding:0;border-radius:7px}.organization-logo.mark-white img{background:#fff;padding:5px}.organization-logo.mark-dark img{background:#172030;padding:5px}.experience-info h3{font-size:15px}.experience-info>p{font-size:13px;color:var(--muted);margin-top:3px}.experience-info .date{font-size:12px}.appointments{display:grid;gap:9px;margin-top:13px}.appointments p{color:var(--muted);font-size:12px}@media (max-width: 650px){.experience-entry{grid-template-columns:72px minmax(0,1fr);gap:17px}.organization-logo{width:72px}}.previous-experience{margin-top:35px}.minor-heading{color:var(--muted);font-size:13px;margin-bottom:20px}.skills-list{margin:0}.skills-list>div{display:grid;grid-template-columns:210px 1fr;gap:25px;padding-block:13px}.skills-list dt{font-size:14px}.skills-list dd{margin:0;font-size:14px;color:var(--muted);line-height:1.9}.social-links{flex-wrap:wrap}@media (max-width: 650px){.skills-list>div{grid-template-columns:1fr;gap:5px;padding-block:14px}.detail-list{font-size:14px}}@media (max-width: 900px){.wrap{width:calc(100% - 48px)}.intro{gap:40px;padding-block:50px}h1{font-size:44px;letter-spacing:-2px}.intro-lead{font-size:21px}.background-section{gap:45px;grid-template-columns:1.35fr 1fr}.project-heading{align-items:flex-start}.project-heading>span{display:none}}@media (max-width: 650px){.wrap{width:calc(100% - 40px)}.site-header{gap:22px;padding-block:18px}nav{gap:18px;font-size:12px}.theme-picker{gap:5px}.theme-picker button{font-size:11px}.intro{grid-template-columns:1fr;gap:28px;padding-block:40px}.intro-copy{padding-bottom:0}h1{font-size:43px}.intro-lead{font-size:23px;margin-top:20px}.intro-note{margin-top:15px}.social-links{margin-top:22px}.portrait-frame{aspect-ratio:1.25}.portrait img{transform:scale(1.3)}.section{padding-block:30px 36px}.section-heading{flex-direction:column;gap:7px;margin-bottom:23px}h2{font-size:21px}.work-grid{grid-template-columns:1fr;gap:30px}.project>p{font-size:15px}.paper-row{grid-template-columns:1fr;gap:9px}.earlier-projects{margin-left:0}.article-row{grid-template-columns:1fr 20px;gap:6px 12px;padding-block:23px}.article-row time{grid-column:1/-1}.article-row h3{font-size:16px}.background-section{grid-template-columns:1fr;gap:38px}.education{padding-top:28px;border-top:1px solid var(--line)}.site-footer{flex-wrap:wrap;gap:12px 18px}.footer-note{flex-basis:100%;margin-left:0;margin-top:8px}}@media (max-width: 370px){.site-header{gap:15px}nav{gap:12px}h1{font-size:39px}}.site-header,.section,.article-row,.paper-row,.independent,.education,.site-footer{transition:border-color .26s ease}p,time,.date,.eyebrow,.section-heading>span,.footer-note,.theme-picker,.theme-picker button{transition:color .22s ease}summary>span{transition:transform .18s ease}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
