:root{--paper:#f9f8f5;--ink:#20211f;--muted:#686862;--line:#d9d8d1;--accent:#c63025;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;text-underline-offset:4px}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}img,video{display:block;max-width:100%}h1,h2,h3,h4,p,figure{margin:0}button,a{-webkit-tap-highlight-color:transparent}sup{font-size:.55em;vertical-align:super;line-height:0}.page{max-width:1248px;padding:0 64px;margin:auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:33px 0;border-bottom:1px solid var(--line)}.wordmark{font-weight:700;font-size:23px;letter-spacing:-1.5px;display:flex;gap:3px;align-items:baseline}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.site-header nav{display:flex;gap:32px;font-size:13px}.site-header nav a{padding:5px 0}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;font-size:11px;font-weight:500;display:flex;align-items:center;gap:10px}.quiet{font-size:12px;color:var(--muted)}.hero{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:100px;padding:80px 0 88px;align-items:center}.hero h1{font-size:clamp(72px,8.5vw,112px);font-weight:500;letter-spacing:-7px;line-height:1.05;margin:20px 0 24px;white-space:nowrap}.name-dot{color:var(--accent)}.intro{font-size:clamp(25px,3vw,34px);line-height:1.2;letter-spacing:-.8px;font-weight:400}.focus{max-width:500px;color:var(--muted);margin-top:20px;font-size:15px;line-height:1.7}.links{display:flex;flex-wrap:wrap;gap:22px;font-size:13px;font-weight:500}.links a{border-bottom:1px solid var(--ink);padding:3px 0}.links a:hover{border-color:var(--accent)}.social{margin-top:26px;gap:26px}.portrait{align-self:center;margin-top:34px}.portrait img{width:210px;height:268px;object-fit:cover}.portrait figcaption{display:flex;flex-direction:column;font-size:11px;line-height:1.7;color:var(--muted);padding-top:13px}.section-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ink);padding:19px 0 28px}.section-heading h2{font-weight:400;font-size:17px;display:flex;gap:22px;align-items:baseline}.section-no{font:11px var(--mono);color:var(--accent)}.feature-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.featured{padding:15px 0 31px}.feature-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:48px;align-items:center}.project-name{font-size:14px;font-weight:500;letter-spacing:.5px;margin-bottom:12px}.featured h3{font-size:38px;font-weight:500;line-height:1.08;letter-spacing:-1.5px}.subtitle{font-size:14px;line-height:1.6;margin-top:15px}.feature-description{font-size:14px;color:var(--muted);line-height:1.7;max-width:350px;margin:18px 0}.demo{min-width:0}.demo-tabs{display:flex;border-bottom:1px solid var(--line);gap:24px}.demo-tabs button{border:0;background:none;padding:11px 0 12px;font-size:12px;position:relative;color:var(--muted);display:flex;gap:7px;align-items:center}.demo-tabs button[aria-selected="true"]{color:var(--ink)}.demo-tabs button[aria-selected="true"]:after{content:"";height:2px;background:var(--ink);bottom:-1px;left:0;right:0;position:absolute}.mode-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.perceive{background:#45778e}.predict{background:#7c7169}.plan{background:#b98039}.demo-panel{background:#fff}.demo-panel[hidden]{display:none}.demo-panel video{width:100%;aspect-ratio:20/9;object-fit:contain;background:#fff}.demo-panel p{font-size:11px;color:var(--muted);padding:10px 16px 14px;line-height:1.5;min-height:40px}.demo-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;font-size:10px;color:var(--muted)}.demo-bottom button{border:0;background:none;font-size:11px;padding:5px 0;min-height:30px}.demo-bottom button:hover{color:var(--accent)}.authors-details{margin-top:28px;padding-top:17px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.authors-details summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:4px}.authors-details summary::-webkit-details-marker{display:none}.authors-details summary>span{margin-left:auto;font-size:11px;color:var(--ink)}.authors-details strong{font-weight:500;color:var(--ink)}.authors-details p{padding:14px 0 3px;max-width:870px}.authors-details[open] summary>span>span{display:inline-block;transform:rotate(45deg)}.publication{border-top:1px solid var(--line);padding:30px 0;display:grid;grid-template-columns:252px minmax(0,1fr);gap:43px;align-items:center}.pub-visual{position:relative;display:block;background:#eeede8;overflow:hidden;aspect-ratio:16/10}.pub-visual img,.pub-visual video{width:100%;height:100%;object-fit:contain;background:white}.image-label{position:absolute;bottom:0;left:0;background:rgba(249,248,245,.94);font-size:10px;color:var(--ink);padding:5px 9px;letter-spacing:.2px}.pub-meta{display:flex;gap:17px;flex-wrap:wrap;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.75px;margin-bottom:10px}.selected,.award{color:var(--accent);font-size:10px;letter-spacing:.25px;text-transform:none}.selected:before{content:"●";font-size:6px;margin-right:7px;vertical-align:2px}.publication h3{font-size:21px;font-weight:500;letter-spacing:-.45px;line-height:1.3;max-width:760px}.authors{font-size:12px;line-height:1.65;color:var(--muted);margin-top:9px;max-width:760px}.authors strong{font-weight:500;color:var(--ink)}.description{font-size:13px;color:var(--muted);margin:10px 0;line-height:1.6}.publication .links{font-size:11px;gap:20px}.about{margin-top:52px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:15px 0 65px}.biography{font-size:16px;line-height:1.8}.biography p+p{font-size:14px;color:var(--muted);margin-top:18px}.biography p a{border-bottom:1px solid #bbb}.text-link{display:inline-block;margin-top:23px;font-size:12px;border-bottom:1px solid var(--ink)}.service h3{font-size:13px;font-weight:500;margin-bottom:21px}.service-row{display:grid;grid-template-columns:90px 1fr;gap:10px;margin-bottom:23px}.service-row .quiet{font-size:10px;font-family:var(--mono);padding-top:3px}.service h4{font-size:14px;font-weight:400}.service-row div p{font-size:12px;color:var(--muted);margin-top:2px}.service-row a{font-size:11px;text-decoration:underline;display:block;margin-top:7px}.service .review-heading{margin-top:30px;margin-bottom:8px}.reviewing{font-size:12px;line-height:1.9;color:var(--muted)}.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:15px 0 68px}.personal{display:grid;grid-template-columns:135px 1fr;gap:24px;align-items:start}.personal>img{width:135px;height:170px;object-fit:cover;filter:saturate(.65)}.personal .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:9px}.personal h3{font-size:21px;letter-spacing:-.4px;font-weight:400;line-height:1.2;margin-bottom:11px}.personal p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted)}footer{border-top:1px solid var(--ink);display:flex;justify-content:space-between;padding:38px 0 43px}.footer-name{display:block;font-size:30px;font-weight:400;letter-spacing:-1px}.footer-name span{color:var(--accent)}.footer-email{font-size:12px;color:var(--muted);display:inline-block;margin-top:9px}.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-size:11px;color:var(--muted);padding-top:7px}.footer-meta a{color:var(--ink)}.skip{position:absolute;top:0;left:20px;padding:10px;background:var(--ink);color:white;transform:translateY(-120%);z-index:10}.skip:focus{transform:translateY(0)}
@media(min-width:1500px){.page{max-width:1320px;padding:0 80px}.hero{padding-top:96px;padding-bottom:100px}}
@media(max-width:1000px){.page{padding:0 36px}.hero{gap:50px;grid-template-columns:minmax(0,1fr) 170px;padding:62px 0 70px}.hero h1{font-size:82px;letter-spacing:-5px}.portrait img{width:170px;height:218px}.feature-grid{gap:30px;grid-template-columns:1fr 1.25fr}.featured h3{font-size:31px}.feature-description{font-size:13px}.publication{grid-template-columns:210px minmax(0,1fr);gap:30px}.about-grid{gap:48px}.personal-grid{gap:32px}.personal{grid-template-columns:100px 1fr;gap:18px}.personal>img{width:100px;height:145px}.personal h3{font-size:19px}}
@media(max-width:700px){html{scroll-padding-top:20px}.page{padding:0 23px}.site-header{padding:23px 0}.site-header nav{gap:18px;font-size:11px}.wordmark{font-size:21px}.hero{grid-template-columns:minmax(0,1fr) 100px;gap:20px;padding:47px 0 48px;align-items:start}.hero h1{font-size:62px;letter-spacing:-4px;white-space:normal;line-height:.98;max-width:220px;margin:20px 0}.hero .eyebrow{font-size:8px;letter-spacing:1px;gap:7px;white-space:nowrap}.hero .eyebrow .dot{width:5px;height:5px}.intro{font-size:23px;line-height:1.22;letter-spacing:-.5px}.focus{font-size:13px;margin-top:17px;line-height:1.65}.portrait{margin-top:34px}.portrait img{width:100px;height:128px}.portrait figcaption{font-size:9px;line-height:1.5;padding-top:9px}.social{gap:16px;row-gap:8px;font-size:11px;margin-top:21px}.section-heading{padding:16px 0 22px}.section-heading h2{font-size:15px;gap:15px}.section-heading .quiet{font-size:10px}.section-no{font-size:10px}.featured{padding:5px 0 25px}.feature-heading{margin-bottom:22px}.feature-heading .eyebrow{font-size:9px}.feature-heading .quiet{font-size:10px}.feature-grid{grid-template-columns:1fr;gap:27px}.featured h3{font-size:38px;letter-spacing:-1.5px}.project-name{font-size:12px}.feature-description{max-width:440px}.subtitle{font-size:13px;margin-top:12px}.feature-copy .links{font-size:12px}.demo-tabs{gap:28px}.demo-panel p{padding:10px 11px 12px;font-size:10px}.demo-bottom{font-size:9px}.authors-details{margin-top:22px;font-size:11px}.authors-details summary>span{font-size:10px}.publication{grid-template-columns:110px minmax(0,1fr);gap:20px;padding:25px 0;align-items:start}.pub-visual{aspect-ratio:1.1;margin-top:2px}.image-label{font-size:7px;padding:4px 5px}.pub-meta{font-size:8px;gap:6px;line-height:1.5;margin-bottom:8px}.selected,.award{font-size:8px}.publication h3{font-size:17px;line-height:1.3;letter-spacing:-.3px}.authors{font-size:10px;line-height:1.6;margin-top:8px}.description{font-size:11px;margin:8px 0}.publication .links{gap:14px;font-size:10px}.about{margin-top:33px}.about-grid{grid-template-columns:1fr;gap:36px;padding:5px 0 40px}.biography{font-size:15px}.biography p+p{font-size:13px}.service-row{grid-template-columns:90px 1fr}.service h3{margin-bottom:18px}.service .review-heading{margin-top:22px}.personal-grid{grid-template-columns:1fr;gap:29px;padding:5px 0 41px}.personal{grid-template-columns:110px 1fr;gap:23px}.personal>img{width:110px;height:135px}.personal h3{font-size:22px}.personal p:not(.eyebrow){font-size:12px}.personal .eyebrow{font-size:9px}footer{padding:28px 0 32px;gap:20px}.footer-name{font-size:26px}.footer-email{font-size:10px}.footer-meta{font-size:9px;gap:6px;white-space:nowrap}}
@media(max-width:370px){.page{padding:0 17px}.site-header nav{gap:13px}.hero{grid-template-columns:minmax(0,1fr) 83px;gap:13px}.hero h1{font-size:55px;letter-spacing:-3px}.portrait img{width:83px;height:106px}.hero .eyebrow{font-size:7px;letter-spacing:.7px}.intro{font-size:20px}.publication{grid-template-columns:86px minmax(0,1fr);gap:15px}.publication h3{font-size:16px}.links{gap:13px}.personal{gap:17px;grid-template-columns:95px 1fr}.personal>img{width:95px;height:130px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Publication comparison. */
.stars{color:var(--accent);font-size:10px;text-transform:none;letter-spacing:.1px}.pub-media{min-width:0}.image-compare{border:0;padding:0;width:100%;text-align:left;cursor:pointer}.image-compare .compare-original{position:absolute;inset:0;opacity:0;transition:opacity .16s ease}.image-compare.show-reference .compare-original{opacity:1}.compare-hint{font-size:10px;color:var(--muted);line-height:1.5;margin-top:8px}.hint-touch{display:none}.publications>.publication:first-child{border-top:0;padding-top:5px}
@media(hover:none){.hint-pointer{display:none}.hint-touch{display:inline}}
@media(max-width:700px){.stars{font-size:8px}.compare-hint{font-size:9px;max-width:120px}.image-compare{aspect-ratio:564/344}}

/* SOMA art installation in Beyond research. */
.soma-project{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;padding:15px 0 38px;margin-bottom:23px;border-bottom:1px solid var(--line)}
.soma-image{display:block;overflow:hidden;background:#111}.soma-image img{width:100%;height:auto;aspect-ratio:1024/498;object-fit:contain}
.soma-copy .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:13px}.soma-copy h3{font-size:32px;font-weight:400;line-height:1.2;letter-spacing:-.5px}.soma-copy h3 span{font-size:.77em;letter-spacing:1px;margin-left:4px}.soma-authors{font-size:11px;color:var(--muted);margin-top:12px}.soma-description{font-size:13px;line-height:1.8;color:var(--muted);margin:14px 0 16px;max-width:430px}.soma-copy .links{font-size:11px;gap:20px}
@media(max-width:1000px){.soma-project{gap:32px}.soma-copy h3{font-size:28px}}
@media(max-width:700px){.soma-project{grid-template-columns:1fr;gap:23px;padding:5px 0 29px;margin-bottom:25px}.soma-copy h3{font-size:28px}.soma-description{max-width:none}}
