@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Poppins:wght@400;500;600;700;800&display=swap";:root{--paper:#fff;--ink:#171717;--muted:#636363;--blue:#0050ff;--beige:#e6dace;--card:#f4ece6;--line:#e6e3e0;--heading:"Poppins",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,Arial,sans-serif;font-size:15px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--heading);line-height:1.2;font-weight:700;letter-spacing:-.7px}h1{font-size:48px}h2{font-size:30px}p{color:var(--muted)}.wrap{width:min(1100px,calc(100% - 100px));margin-inline:auto}.site-header{width:calc(100% - 100px);max-width:1400px;display:flex;justify-content:space-between;align-items:center;min-height:112px;gap:25px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand strong{font-family:var(--heading);font-size:23px;letter-spacing:-.8px}.brand-square,.heading-square{display:inline-block;background:var(--blue);height:15px;width:15px;flex-shrink:0}.brand-role{font-size:12px;text-transform:uppercase;letter-spacing:1px}nav{display:flex;gap:25px;align-items:center}nav a{font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:12px 0}nav a[aria-current]{color:var(--blue)}a:hover{color:var(--blue)}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:600;color:var(--muted)}.accent{color:var(--blue)}.profile-section{background:linear-gradient(90deg,var(--beige) 0%,var(--beige) 40%,white 40%,white 100%);padding:76px 0 82px}.profile-grid{display:grid;grid-template-columns:375px 1fr;gap:65px;align-items:center;max-width:1000px}.profile-card{background:var(--card);text-align:center;padding:40px 0 0;box-shadow:-10px 12px 25px #8a837c30}.portrait{width:205px;height:205px;object-fit:cover;object-position:center 32%;border-radius:50%;margin:0 auto 25px}.profile-card h1{font-size:29px;line-height:1.25;letter-spacing:-.6px}.blue-rule{display:block;width:50px;height:2px;background:var(--blue);margin:24px auto}.profile-role{text-transform:uppercase;letter-spacing:3px;font-size:14px;color:var(--ink)}.profile-affiliation{font-size:11px;margin-top:12px;line-height:1.9}.profile-contact{background:#fff;margin-top:30px;padding:15px 20px;font-size:12px}.profile-contact a{display:inline-flex;gap:15px;align-items:center}.profile-contact span{color:var(--blue)}.biography h2{font-size:88px;line-height:1.15;letter-spacing:-4px;margin:13px 0 15px;font-weight:800}.bio-lead{font-size:19px;line-height:1.55;color:var(--ink);font-weight:500;letter-spacing:-.3px}.bio-actions{display:flex;gap:12px;margin:25px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--blue);border:1px solid var(--blue);color:#fff;padding:8px 24px;border-radius:22px;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.5px;transition:background .2s,color .2s}.button:hover{color:var(--blue);background:#fff}.button.secondary{border-color:var(--ink);background:transparent;color:var(--ink)}.button.secondary:hover{background:var(--blue);border-color:var(--blue);color:#fff}.bio-body p{font-size:14px;color:#424242;line-height:1.8;margin-bottom:18px}.bio-body a{border-bottom:1px solid #b7c8ef}.text-link{font-size:12px;border-bottom:1px solid #bcccf0;padding-bottom:3px;display:inline-block}.biography>.text-link{margin-top:5px}.text-link span{margin-left:8px;color:var(--blue)}.explore{padding-block:65px 75px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:27px;margin-top:13px}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.explore-item{border-top:1px solid var(--line);padding-top:18px}.number{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.explore-item h3{display:flex;justify-content:space-between;font-size:20px;margin:17px 0 13px}.explore-item h3 span{color:var(--blue);font-weight:400}.explore-item p{font-size:13px;max-width:290px}.inline-tag{display:inline-block;font-size:11px;color:var(--blue);margin-top:18px}.page-heading{background:var(--card);padding-block:58px 52px}.page-heading h1{display:flex;align-items:center;gap:16px;font-size:43px;margin-top:17px}.heading-square{width:20px;height:20px}.intro{font-size:16px;max-width:700px;margin-top:20px}.gallery-section{padding-block:30px 70px}.gallery-toolbar,.blog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:30px}.gallery-toolbar>span,.blog-toolbar>span{font-size:11px;color:var(--muted)}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid transparent;background:transparent;padding:6px 17px;font-size:12px;border-radius:18px;color:var(--muted)}.filter.active{background:var(--blue);color:#fff}.gallery-grid{columns:3;column-gap:26px}.gallery-grid figure{break-inside:avoid;margin-bottom:28px}.gallery-grid figure[hidden]{display:none}.photo-button{padding:0;border:0;display:block;position:relative;width:100%;background:var(--card)}.photo-button img{width:100%;height:auto;transition:filter .2s}.photo-button:hover img{filter:brightness(.85)}.enlarge{position:absolute;bottom:12px;right:12px;background:#fff;color:var(--blue);width:32px;height:32px;display:grid;place-items:center;opacity:0}.photo-button:hover .enlarge,.photo-button:focus-visible .enlarge{opacity:1}.gallery-grid figcaption{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding-top:10px;gap:10px}.publication-list{padding-block:15px 70px;max-width:940px}.publication{display:grid;grid-template-columns:90px 1fr;gap:35px;padding-block:45px;border-bottom:1px solid var(--line)}.publication-year{font-family:var(--heading);font-size:22px;font-weight:600;color:var(--blue)}.publication h2{font-size:23px;line-height:1.5;margin:10px 0 15px;max-width:700px}.authors{font-size:13px;color:var(--ink)}.venue{font-size:12px;font-style:italic;margin:7px 0 19px}.project-list{padding-block:45px 70px;max-width:980px}.project-row{display:grid;grid-template-columns:1fr 1fr;box-shadow:0 5px 25px #33333310;border:1px solid #efedeb;margin-bottom:35px;align-items:stretch;min-height:340px}.project-copy{padding:35px 35px 40px;border-left:5px solid var(--blue)}.project-copy h2{font-size:24px;line-height:1.4;margin:15px 0 20px}.project-copy p:not(.eyebrow){font-size:13px;line-height:1.9;margin-bottom:23px}.project-copy .text-link{margin:0 15px 10px 0}.project-row>img{width:100%;height:100%;min-height:340px;object-fit:cover}.compute-art{background:#eaf0ff;padding:45px 35px;display:flex;flex-direction:column;justify-content:space-between;gap:35px}.compute-nodes{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compute-nodes span{border:1px solid #8eadeb;padding:16px 10px;text-align:center;color:#2456a7;font-size:10px;font-family:monospace;letter-spacing:2px}.compute-art p{font-family:var(--heading);font-size:26px;line-height:1.4;color:#315582;letter-spacing:-1px}.cluster-art{background:#e6dace;padding:35px 45px;display:flex;align-items:center;justify-content:center;flex-direction:column}.cluster-art>span{font-size:10px;letter-spacing:2px;margin-bottom:20px;color:#685b4d}.cluster-art div{border:1px solid #b9ab9b;background:#f4ece6;padding:10px;width:100%;text-align:center;font-size:10px;letter-spacing:2px}.cluster-art i{font-style:normal;color:var(--blue)}.blog-list{padding-block:30px 75px;max-width:1000px}.post-row{display:grid;grid-template-columns:320px 1fr;gap:40px;padding-block:0 35px;margin-bottom:35px;border-bottom:1px solid var(--line)}.post-visual{background:#eaf0ff;padding:27px 28px;display:flex;flex-direction:column;justify-content:space-between;min-height:290px;gap:25px}.post-visual>span{font-size:11px;color:#4670b4}.post-visual strong{font-family:var(--heading);font-size:34px;line-height:1.25;letter-spacing:-1px;color:#244b91;max-width:240px}.post-visual small{font-size:8px;letter-spacing:1px;color:#4670b4}.visual-1{background:var(--card)}.visual-1 strong{color:#594b3d}.visual-1 small,.visual-1>span{color:#7e6c5a}.visual-2{background:#e8ede8}.visual-2 strong{color:#38543d}.visual-2 small,.visual-2>span{color:#587b5f}.post-copy{padding-block:12px}.post-copy h2{font-size:23px;line-height:1.5;margin:12px 0 16px}.post-copy>p:not(.eyebrow){font-size:13px;line-height:1.8}.post-meta{display:flex;gap:20px;font-size:10px;color:var(--muted);margin:20px 0 15px}footer{display:flex;align-items:center;gap:30px;min-height:110px;font-size:11px;border-top:1px solid var(--line)}footer p{flex:1}dialog{border:0;background:transparent;color:#fff;width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:60px 70px}dialog[open]{display:flex;align-items:center;justify-content:center;gap:20px}dialog::backdrop{background:#0f1219f5}body:has(dialog[open]){overflow:hidden}dialog figure{max-width:85%;margin:auto}dialog img{max-height:78vh;width:auto;object-fit:contain;margin:auto}dialog figcaption{text-align:center;padding-top:16px;font-size:12px}dialog button{background:transparent;border:1px solid #818796;border-radius:50%;color:#fff;width:42px;height:42px;flex-shrink:0}#close-photo{position:absolute;right:25px;top:20px}.skip{position:absolute;top:-100px;left:10px;z-index:100;padding:10px;background:var(--ink);color:#fff}.skip:focus{top:10px}:focus-visible{outline:2px solid var(--blue);outline-offset:5px}@media(min-width:1500px){.profile-section{padding-block:100px}.profile-grid{gap:80px}}@media(max-width:1100px){.site-header{width:calc(100% - 60px)}.brand-role{display:none}.wrap{width:calc(100% - 70px)}nav{gap:20px}.profile-grid{grid-template-columns:330px 1fr;gap:40px}.profile-section{padding-block:60px}.biography h2{font-size:76px}.bio-lead{font-size:17px}.bio-body p{font-size:13px}.desktop-break{display:none}}@media(max-width:800px){.site-header{flex-wrap:wrap;gap:8px;padding-block:22px;min-height:110px}.brand-role{display:block}nav{width:100%;justify-content:space-between;gap:12px}nav a{font-size:10px}.profile-grid{grid-template-columns:280px 1fr;gap:28px}.portrait{width:175px;height:175px}.profile-card{padding-top:30px}.profile-affiliation{font-size:10px}.biography h2{font-size:62px}.biography>.eyebrow{font-size:8px}.bio-lead{font-size:16px}.bio-actions{gap:8px}.button{padding:7px 18px;font-size:10px}.bio-body p,.profile-role{font-size:12px}.profile-grid{width:calc(100% - 45px)}.explore-grid{gap:22px}.explore-item h3{font-size:18px}.gallery-grid{columns:2}.post-row{grid-template-columns:250px 1fr;gap:25px}.post-copy h2{font-size:20px}.project-copy{padding:25px}.project-copy h2{font-size:21px}.compute-art,.cluster-art{padding:30px 20px}footer{gap:20px;font-size:10px}}@media(max-width:600px){.wrap,.site-header{width:calc(100% - 40px)}.site-header{padding-block:18px}.brand strong{font-size:22px}.brand-role{font-size:10px}.brand-square{width:12px;height:12px}nav{gap:10px;flex-wrap:wrap;justify-content:flex-start;column-gap:20px}nav a{font-size:10px;padding:6px 0}.profile-section{background:linear-gradient(var(--beige) 0,var(--beige) 430px,white 430px,white 100%);padding:35px 0 20px}.profile-grid{grid-template-columns:1fr;gap:45px}.profile-card{max-width:355px;width:100%;margin:auto}.portrait{width:190px;height:190px}.profile-card h1{font-size:28px}.profile-role{font-size:13px}.profile-affiliation{font-size:11px}.biography{max-width:440px;margin:auto}.biography h2{font-size:74px}.biography>.eyebrow{font-size:9px}.bio-lead{font-size:19px}.bio-actions{margin:25px 0}.button{padding:8px 24px;font-size:11px}.bio-body p{font-size:14px}.explore{padding-block:40px 50px}.section-heading h2{font-size:26px}.explore-grid{grid-template-columns:1fr;gap:28px}.explore-item h3{font-size:21px}.explore-item p{max-width:100%}.page-heading{padding-block:38px 35px}.page-heading h1{font-size:34px;gap:12px}.heading-square{width:15px;height:15px}.intro{font-size:14px}.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.filter{padding:6px 14px}.gallery-grid{column-gap:15px}.gallery-grid figure{margin-bottom:20px}.gallery-grid figcaption{font-size:9px}.publication{grid-template-columns:1fr;gap:12px;padding-block:30px}.publication-year{font-size:19px}.publication h2{font-size:21px}.publication-list{padding-bottom:45px}.project-row{grid-template-columns:1fr}.project-copy{padding:28px 24px}.project-copy h2{font-size:23px}.project-row>img{min-height:230px;height:230px}.compute-art{padding:30px;min-height:300px}.cluster-art{padding:35px;min-height:310px}.post-row{grid-template-columns:1fr;gap:20px;margin-bottom:30px;padding-bottom:30px}.post-visual{min-height:245px}.post-visual strong{max-width:260px}.post-copy{padding:0}.post-copy h2{font-size:22px}.blog-toolbar{align-items:start;gap:10px;flex-direction:column}.blog-list{padding-bottom:40px}footer{flex-wrap:wrap;gap:14px;padding-block:25px;line-height:1.5}footer p{flex:auto;text-align:right}footer>a:last-child{margin-left:auto}dialog{padding:65px 10px;gap:7px!important}dialog button{width:30px;height:30px}dialog figure{max-width:calc(100% - 75px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.post-visual.has-cover{padding:0;overflow:hidden}.post-visual.has-cover img{width:100%;height:100%;min-height:290px;object-fit:contain;background:#f4f4f4}.post-visual strong{font-size:25px;overflow-wrap:anywhere}.blog-article{max-width:900px;padding-block:50px 75px}.article-header{margin:35px 0 40px;border-bottom:1px solid var(--line);padding-bottom:25px}.article-header h1{font-size:clamp(28px,4vw,44px);line-height:1.35;margin-top:15px;overflow-wrap:anywhere}.article-content{font-size:16px;line-height:1.9;overflow-wrap:anywhere}.article-content p{color:#353535;margin:0 0 23px}.article-content h2{font-size:27px;margin:38px 0 20px}.article-content h3{font-size:23px;margin:30px 0 18px}.article-content h4{font-size:19px;margin:25px 0 15px}.article-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.article-content ul,.article-content ol{padding-left:26px;margin-bottom:25px}.article-content li{margin-bottom:9px}.article-content li p{margin-bottom:8px}.article-content pre{white-space:pre;overflow-x:auto;max-width:100%;background:#f3f4f6;border:1px solid #e2e5ea;border-radius:5px;padding:20px;font-size:13px;line-height:1.7;margin:25px 0}.article-content code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.article-content :not(pre)>code{background:#f0f1f5;padding:2px 5px;font-size:.9em}.article-content img{max-width:100%;height:auto;margin:25px auto}.article-content blockquote{border-left:3px solid var(--blue);margin:25px 0;padding-left:22px;color:var(--muted)}.article-content table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%;margin:25px 0}.article-content th,.article-content td{border:1px solid var(--line);padding:10px 15px;text-align:left}.article-content hr{border:0;border-top:1px solid var(--line);margin:30px 0}.article-footer{display:flex;justify-content:space-between;gap:20px;margin-top:45px;min-height:80px}.article-content figure{margin:25px 0}.article-content figcaption{font-size:12px;text-align:center;color:var(--muted)}@media(max-width:600px){.blog-article{padding-top:30px}.article-content{font-size:14px}.article-content pre{font-size:12px;padding:15px}.article-header .post-meta{flex-wrap:wrap;gap:12px}.article-content h2{font-size:24px}.post-visual.has-cover img{min-height:220px;max-height:300px}.article-footer{align-items:start;flex-direction:column;justify-content:center}}.journal-list{max-width:1040px;padding-block:35px 75px}.journal-list .blog-toolbar{margin-bottom:0;padding-bottom:22px}.journal-item{border-bottom:1px solid var(--line)}.journal-entry{display:grid;grid-template-columns:70px minmax(0,1fr) 44px;gap:28px;padding:35px 20px 35px 0;transition:background .2s}.journal-index{font-family:var(--heading);font-size:28px;line-height:1.3;font-weight:500;letter-spacing:-1px;color:#98918b;padding-top:4px}.journal-index span{display:block;width:22px;height:2px;background:#d8cec4;margin-top:14px}.journal-labels{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:13px}.journal-topic{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#626262;font-weight:500}.journal-latest{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--blue);background:#edf2ff;border-radius:20px;padding:2px 10px}.journal-latest:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--blue)}.journal-copy h2{font-size:25px;line-height:1.45;letter-spacing:-.6px;max-width:740px;transition:color .2s}.journal-copy>p{font-size:13px;line-height:1.85;margin-top:13px;max-width:690px;color:#6a6a6a}.journal-meta{display:flex;align-items:center;gap:12px;margin-top:18px;color:#727272;font-size:11px}.journal-arrow{align-self:center;display:grid;place-items:center;width:40px;height:40px;border:1px solid #d9d5d0;border-radius:50%;font-size:20px;color:#595959;transition:background .2s,color .2s,border-color .2s}.journal-entry:hover,.journal-entry:focus-visible{background:#faf8f5;color:var(--ink)}.journal-entry:hover h2,.journal-entry:focus-visible h2{color:var(--blue)}.journal-entry:hover .journal-arrow,.journal-entry:focus-visible .journal-arrow{background:var(--blue);border-color:var(--blue);color:#fff}.journal-entry:hover .journal-index span{background:var(--blue)}@media(max-width:800px){.journal-entry{grid-template-columns:48px minmax(0,1fr) 36px;gap:18px}.journal-copy h2{font-size:23px}.journal-arrow{width:34px;height:34px}}@media(max-width:600px){.journal-list{padding-block:25px 45px}.journal-list .blog-toolbar{flex-direction:row;flex-wrap:wrap;gap:8px}.journal-entry{grid-template-columns:30px minmax(0,1fr);padding:27px 0;gap:15px;position:relative}.journal-index{font-size:21px}.journal-index span{width:16px}.journal-copy h2{font-size:20px;letter-spacing:-.4px;line-height:1.5}.journal-copy>p{font-size:12px}.journal-labels{gap:8px;margin-bottom:12px}.journal-topic{font-size:9px;letter-spacing:1px}.journal-latest{font-size:9px}.journal-arrow{position:absolute;right:0;bottom:25px;width:28px;height:28px;font-size:17px}.journal-meta{font-size:10px;gap:8px;padding-right:32px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.journal-entry,.journal-copy h2,.journal-arrow{transition:none}}.article-content .blog-visual{margin:32px 0;border:1px solid #dce3ed;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 5px 18px #13274707}.article-content .blog-visual>img{width:100%;max-width:100%;height:auto;margin:0;padding:16px;background:#fff}.article-content .redesigned-visual>img{padding:0;background:#f8fafc}.article-content .blog-visual figcaption{display:flex;justify-content:space-between;align-items:center;gap:15px;text-align:left;padding:13px 18px;background:#f8fafc;border-top:1px solid #e2e8f0;font-size:11px;color:#526078}.article-content .blog-visual figcaption a{font-size:10px;white-space:nowrap;text-decoration:none}.visual-window-bar{background:#f1f4f8;border-bottom:1px solid #dce3ed;display:flex;align-items:center;gap:5px;padding:11px 15px}.visual-window-bar>span:not(.visual-window-label){display:block;width:6px;height:6px;border-radius:50%;background:#b6c3d5}.visual-window-label{margin-left:8px;color:#64748b;font-family:Arial,sans-serif;font-size:9px;letter-spacing:1px;text-transform:uppercase}.article-content .visual-table-scroll{overflow-x:auto}.article-content .visual-table{display:table;border-collapse:collapse;width:100%;max-width:none;margin:0;font-size:12px;line-height:1.7}.article-content .visual-table th{background:#edf2fa;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#4d6080;font-weight:600}.article-content .visual-table th,.article-content .visual-table td{border:0;border-bottom:1px solid #e2e8f0;padding:17px 20px;vertical-align:middle}.article-content .visual-table tbody tr:last-child td{border-bottom:0}.article-content .visual-table td{color:#334155}.article-content .visual-table td code{font-size:11px;background:transparent;padding:0;white-space:nowrap}.sensitive-badge{display:block;width:fit-content;margin-top:6px;background:#edf2fa;border:1px solid #d5dfef;border-radius:4px;padding:1px 6px;font-size:9px;color:#536b90}@media(max-width:600px){.article-content .blog-visual>img{padding:7px}.article-content .redesigned-visual>img{padding:0}.article-content .blog-visual figcaption{padding:10px 12px;font-size:10px;flex-wrap:wrap}.article-content .visual-table th,.article-content .visual-table td{padding:13px}.article-content .visual-table{font-size:11px}}
