*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:#fff;color:#25313b;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;text-underline-offset:4px}a:hover{text-decoration:underline}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--heading);line-height:1.3}p+p{margin-top:15px}img{display:block;max-width:100%;height:auto}section{scroll-margin-top:30px}.section{margin-top:55px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:26px}h2{font-size:25px;letter-spacing:-.5px}h3{font-size:18px}.section-note{font-size:13px;color:#67747d;white-space:nowrap}.eyebrow{display:block;color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:700;margin-bottom:15px}.profile-links{display:flex;gap:19px;flex-wrap:wrap;font-size:14px;font-weight:600}.role{font-size:19px;color:var(--heading)}.affiliation{color:#576570;line-height:1.65;font-size:15px}.affiliation a{color:inherit}.portrait{object-fit:cover;object-position:50% 39%}.interests{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:#586772}.interests li{position:relative}.paper{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid var(--line);min-width:0}.paper:last-child{margin-bottom:0}.paper h3{font-size:18px;line-height:1.5;letter-spacing:-.15px;font-weight:600;margin:6px 0 9px}.paper h3 a{color:var(--heading)}.paper-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 13px;font-size:12px;color:#65727d}.venue{color:var(--accent);font-weight:700;letter-spacing:.35px}.authors{font-size:13px;line-height:1.7;color:#65717b}.authors strong{font-weight:700;color:#3b4751}.paper-links{display:flex;gap:17px;font-size:13px;line-height:1.4;margin-top:13px;font-weight:600}.paper-image{display:block;background:#f5f6f7;overflow:hidden}.paper-image img{width:100%;height:100%;object-fit:contain}.life-text{max-width:850px}.life-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.life-photos img{width:100%;height:230px;object-fit:cover}.music{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:25px}.music summary{cursor:pointer;font-size:15px;padding:17px 2px;font-weight:600;color:var(--heading)}.music summary span{float:right;font-weight:400;color:#697680;font-size:13px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:10px 0 20px}.video-grid figure{margin:0;min-width:0}.video-grid video{display:block;width:100%;aspect-ratio:16/9;background:#111}.video-grid figcaption{font-size:13px;color:#67747d;padding-top:6px}.contact{border-top:1px solid var(--line);padding-top:27px}.contact h2{margin-bottom:15px}.email-address{font-size:18px;overflow-wrap:anywhere}.contact p{font-size:14px;color:#64717a;margin:8px 0}.contact>a:last-child{font-size:14px}.site-footer{display:flex;justify-content:space-between;gap:15px;color:#6e7982;font-size:12px;border-top:1px solid var(--line);margin-top:54px;padding:22px 0 30px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:8px 20px;z-index:100}.skip-link:focus{top:12px}.site-header{height:78px;border-bottom:1px solid var(--line);background:#fff}.header-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:100%;gap:30px}.wordmark{font-weight:700;font-size:18px;letter-spacing:-.4px;color:var(--heading)}.brand-dot{color:var(--accent)}.site-header nav{display:flex;align-items:center;gap:30px;font-size:14px}.site-header nav a{color:#4f5d68}.site-header .nav-cv{color:var(--accent);font-weight:600}
/* A — a quiet, traditional faculty homepage. */
.theme-a{--accent:#23588a;--heading:#222e38;--line:#e2e6e9;font-family:Georgia,'Times New Roman',serif;color:#39434b;font-size:16px;line-height:1.75}.classic-shell{max-width:1080px;margin:60px auto 0;display:grid;grid-template-columns:224px minmax(0,1fr);gap:68px}.profile-rail{align-self:start;position:sticky;top:42px;font-family:Arial,Helvetica,sans-serif}.profile-rail .portrait{width:190px;height:230px;margin-bottom:24px;object-position:50% 41%}.profile-rail h1{font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:normal;margin-bottom:9px;letter-spacing:-.8px}.profile-rail .role{font-size:15px}.profile-rail .affiliation{font-size:13px;line-height:1.75;margin-top:6px}.profile-rail .desktop-break{display:none}.profile-rail .profile-links{display:flex;flex-direction:column;gap:5px;margin-top:19px;font-size:13px;font-weight:400}.profile-rail nav{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);margin-top:27px;padding-top:23px;font-size:13px}.rail-location{font-size:12px;color:#7b858d;margin-top:23px}.theme-a .about{margin-top:0}.theme-a .about h2{font-size:30px;font-weight:normal;margin-bottom:18px}.theme-a .eyebrow{font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:1.7px;margin-bottom:8px}.theme-a .interests{font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.6;border-left:2px solid #487196;padding-left:14px;margin-top:24px}.theme-a .section{margin-top:42px}.theme-a .about.section{margin-top:0}.theme-a h2{font-size:25px;font-weight:normal}.theme-a .section-heading{margin-bottom:23px}.theme-a .section-note{font-family:Arial,Helvetica,sans-serif;font-size:12px}.year-group{display:grid;grid-template-columns:44px minmax(0,1fr);gap:23px;margin-top:24px}.year{font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#75818b;font-weight:400;padding-top:3px}.theme-a .paper{margin-bottom:23px;padding-bottom:23px}.theme-a .paper h3{font-size:17px;line-height:1.55;margin-top:4px}.theme-a .paper-meta,.theme-a .authors,.theme-a .paper-links{font-family:Arial,Helvetica,sans-serif}.theme-a .paper-meta{font-size:11px}.theme-a .paper-meta>span+span{display:none}.theme-a .authors{font-size:12px}.theme-a .paper-links{font-size:12px}.theme-a .life-photos img{height:185px}.theme-a .contact,.theme-a .site-footer,.theme-a .music{font-family:Arial,Helvetica,sans-serif}.theme-a .contact h2{font-family:Georgia,'Times New Roman',serif}
/* B — a modern research profile, with compact publication rows. */
.theme-b{--accent:#1c5684;--heading:#16364f;--line:#e0e7ec}.theme-b .modern-shell{max-width:1040px;margin:0 auto}.theme-b .about{display:grid;grid-template-columns:minmax(0,1fr) 245px;column-gap:72px;padding-top:52px}.theme-b h1{font-size:52px;line-height:1.15;font-weight:650;letter-spacing:-2.4px;margin-bottom:18px}.theme-b .intro-copy{padding-top:15px}.theme-b .role{font-size:18px;margin-bottom:5px}.theme-b .profile-links{margin-top:24px;gap:22px}.theme-b .portrait-frame{position:relative;align-self:start;padding:0 10px 10px 0}.theme-b .portrait-frame:after{content:'';position:absolute;inset:13px 0 0 13px;background:#e7eef3;z-index:-1}.theme-b .portrait{width:235px;height:266px;object-position:50% 40%}.theme-b .biography{grid-column:1/-1;display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;margin-top:44px;border-top:1px solid var(--line);padding-top:28px}.theme-b .biography h2{font-size:20px}.theme-b .biography p{font-size:15px;line-height:1.85}.theme-b .biography p+p{margin-top:9px}.theme-b .research{margin-top:46px}.theme-b .paper{display:grid;grid-template-columns:218px minmax(0,1fr);gap:27px}.theme-b .paper-image{height:145px;align-self:start;margin-top:4px;border:1px solid #e8edf0;border-radius:3px}.theme-b .paper-meta{font-size:12px}.theme-b .venue{background:#edf3f8;padding:2px 8px;border-radius:2px}.theme-b .paper h3{font-size:18px;line-height:1.5}.theme-b .paper-links a{border-bottom:1px solid #b9ccd9;padding-bottom:2px}.theme-b .contact{background:#f5f8fa;padding:30px 34px;border:0;border-left:3px solid var(--accent)}
/* C — an editorial HCI portfolio, with a serif masthead and visual projects. */
.theme-c{--accent:#8b283b;--heading:#252b30;--line:#dededc;background:#fff;color:#42464a}.theme-c .site-header{border-top:4px solid var(--accent);height:82px}.theme-c .header-inner{max-width:1120px}.theme-c .wordmark{font-family:Georgia,serif;font-weight:normal;font-size:23px}.editorial-shell{max-width:1120px;margin:auto}.theme-c .about{padding-top:43px}.editorial-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:38px}.theme-c h1{font-family:Georgia,'Times New Roman',serif;font-weight:normal;font-size:91px;letter-spacing:-4px;line-height:.99}.theme-c h1 span{color:var(--accent)}.theme-c .eyebrow{font-size:11px;letter-spacing:2.1px;margin-bottom:20px}.editorial-profile{display:grid;grid-template-columns:260px 222px;column-gap:26px;align-items:end}.editorial-profile .portrait-crop{position:relative;overflow:hidden;grid-row:1/3;width:260px;height:300px}.editorial-profile .portrait{position:absolute;width:220%;height:auto;max-width:none;left:56%;top:40%;transform:translate(-56%,-40%)}.editorial-profile .role{font-size:16px;align-self:end;margin-bottom:4px}.editorial-profile .affiliation{align-self:start;font-size:14px;grid-column:2}.editorial-profile .desktop-break{display:none}.editorial-intro{display:grid;grid-template-columns:310px minmax(0,1fr);gap:70px;padding-top:32px}.editorial-topics h2{font-size:12px;text-transform:uppercase;letter-spacing:1.7px;font-weight:600;color:#60686e}.editorial-topics .interests{display:block;font-family:Georgia,serif;font-size:17px;color:#383d42;line-height:1.75;margin-top:12px}.editorial-topics .profile-links{font-size:12px;gap:5px 18px;margin-top:24px}.theme-c .biography{font-size:15px;line-height:1.85}.theme-c .biography p+p{margin-top:10px}.theme-c .section-heading{border-bottom:2px solid var(--heading);margin-bottom:30px}.theme-c h2{font-family:Georgia,'Times New Roman',serif;font-size:31px;font-weight:normal}.theme-c .editorial-topics h2{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:600}.theme-c .papers{display:grid;grid-template-columns:1fr 1fr;gap:36px 34px}.theme-c .paper{margin:0;padding:0 0 27px;display:flex;flex-direction:column}.theme-c .paper-image{height:232px;margin-bottom:21px;background:#f7f7f7;border:1px solid #efefed}.theme-c .paper h3{font-family:Georgia,'Times New Roman',serif;font-weight:normal;font-size:23px;line-height:1.35;letter-spacing:-.35px;margin-top:10px}.theme-c .paper-meta{font-size:11px;letter-spacing:.4px}.theme-c .paper-meta .venue{text-transform:uppercase}.theme-c .authors{font-size:12px;line-height:1.8}.theme-c .paper:last-child{grid-column:1/-1;display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;padding-top:0}.theme-c .paper:last-child .paper-image{height:180px;margin-bottom:0}.theme-c .contact{display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.theme-c .contact h2{grid-row:1/4;font-size:42px}.theme-c .contact p{margin:5px 0}.theme-c .contact>a{grid-column:2}.theme-c .contact p{grid-column:2}.theme-c .life-photos img{height:290px}
@media(min-width:1500px){.classic-shell{margin-top:72px}.theme-b .about{padding-top:64px}.theme-c .about{padding-top:52px}}
@media(max-width:1180px){.classic-shell{margin:42px 35px 0;gap:45px;grid-template-columns:210px minmax(0,1fr)}.header-inner,.modern-shell,.editorial-shell{margin-left:35px!important;margin-right:35px!important}.theme-b .about{column-gap:40px}.editorial-profile{grid-template-columns:240px 195px}.editorial-profile .portrait-crop{width:240px;height:280px}.editorial-intro{gap:40px;grid-template-columns:280px minmax(0,1fr)}}
@media(min-width:801px) and (max-width:1000px){.editorial-profile{display:block;width:220px}.editorial-profile .portrait-crop{width:220px;height:264px;margin-bottom:12px}.editorial-profile .role{font-size:14px}.editorial-profile .affiliation{font-size:12px}}
@media(max-width:800px){.classic-shell{grid-template-columns:170px minmax(0,1fr);gap:30px;margin-left:25px;margin-right:25px}.profile-rail .portrait{width:150px;height:190px}.profile-rail h1{font-size:24px}.theme-a .year-group{grid-template-columns:1fr;gap:10px}.theme-a .year{font-weight:700}.theme-b h1{font-size:44px}.theme-b .about{grid-template-columns:minmax(0,1fr) 190px;gap:30px}.theme-b .portrait{width:180px;height:232px}.theme-b .biography{margin-top:0;grid-template-columns:1fr;gap:15px}.theme-b .paper{grid-template-columns:165px minmax(0,1fr);gap:20px}.theme-b .paper-image{height:128px}.site-header nav{gap:18px}.theme-c h1{font-size:74px}.editorial-profile{display:block;width:200px}.editorial-profile .portrait-crop{width:200px;height:240px;margin-bottom:12px}.editorial-profile .role{font-size:14px}.editorial-profile .affiliation{font-size:12px}.editorial-intro{grid-template-columns:200px minmax(0,1fr);gap:28px}.theme-c .paper-image{height:180px}.theme-c .paper h3{font-size:21px}.theme-c .paper:last-child{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:600px){body{font-size:16px}.header-inner,.modern-shell,.editorial-shell{margin-left:22px!important;margin-right:22px!important}.site-header{height:auto;padding:18px 0 15px}.header-inner{display:block}.site-header nav{gap:0;justify-content:space-between;margin-top:13px;font-size:13px}.wordmark{font-size:17px}.section{margin-top:38px}.section-heading{margin-bottom:22px}.section-note{font-size:11px}h2{font-size:24px}.profile-links{font-size:13px}.classic-shell{display:block;margin:27px 23px 0}.profile-rail{position:static;display:block;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:28px;min-height:175px}.profile-rail .portrait{float:right;width:102px;height:138px;margin:0 0 12px 20px}.profile-rail h1{font-size:25px;padding-top:1px}.profile-rail .affiliation{font-size:12px;line-height:1.7}.profile-rail .role{font-size:13px}.profile-rail .profile-links{flex-direction:row;gap:7px 17px;font-size:12px;clear:both;padding-top:15px;margin-top:0}.profile-rail nav{flex-direction:row;flex-wrap:wrap;gap:7px 18px;border:0;margin-top:15px;padding:0;font-size:12px}.rail-location{display:none}.theme-a .eyebrow{font-size:10px}.theme-a .about h2{font-size:27px}.theme-a .interests{font-size:12px}.theme-a .paper h3{font-size:17px}.theme-a .authors{font-size:12px}.theme-a .year-group{margin-top:24px}.theme-a .section{margin-top:34px}.theme-a .life-photos img{height:140px}.theme-b .about{grid-template-columns:minmax(0,1fr) 108px;gap:26px 18px;padding-top:31px}.theme-b .intro-copy{padding-top:0}.theme-b .eyebrow{font-size:10px;letter-spacing:1.1px;margin-bottom:12px}.theme-b h1{font-size:34px;letter-spacing:-1.5px;margin-bottom:11px}.theme-b .portrait-frame{padding:0 5px 6px 0}.theme-b .portrait{width:103px;height:147px;object-position:50% 38%}.theme-b .portrait-frame:after{inset:7px 0 0 7px}.theme-b .role{font-size:15px}.theme-b .affiliation{font-size:12px}.theme-b .desktop-break{display:none}.theme-b .profile-links{font-size:12px;gap:6px 16px;margin-top:14px}.theme-b .biography{padding-top:23px;gap:11px}.theme-b .biography p{font-size:15px}.theme-b .research{margin-top:35px}.theme-b .paper{display:block;padding-bottom:25px;margin-bottom:25px}.theme-b .paper-image{float:right;width:112px;height:86px;margin:0 0 12px 15px}.theme-b .paper-meta{display:block;font-size:11px;line-height:1.75}.theme-b .paper-meta>span+span{display:block;margin-top:6px}.theme-b .paper h3{font-size:17px;line-height:1.5}.theme-b .authors{clear:both;font-size:12px}.theme-b .contact{padding:22px}.theme-b .email-address{font-size:16px}.life-photos{gap:12px}.life-photos img{height:155px}.life-text{font-size:15px}.video-grid{grid-template-columns:1fr}.email-address{font-size:16px}.site-footer{margin-top:35px;font-size:11px}.theme-c .site-header{height:auto}.theme-c .about{padding-top:29px}.editorial-heading{display:block;padding-bottom:26px}.theme-c h1{font-size:60px;letter-spacing:-3px}.theme-c .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:14px}.editorial-profile{display:grid;width:100%;grid-template-columns:170px minmax(0,1fr);column-gap:18px;margin-top:24px}.editorial-profile .portrait-crop{width:170px;height:205px;margin:0}.editorial-profile .role{font-size:14px}.editorial-profile .affiliation{font-size:12px;line-height:1.6}.editorial-intro{display:flex;flex-direction:column-reverse;gap:25px;padding-top:23px}.theme-c .biography{font-size:15px}.editorial-topics .interests{display:flex;font-family:Arial,Helvetica,sans-serif;font-size:12px;gap:4px 16px}.editorial-topics .profile-links{margin-top:15px;font-size:12px}.theme-c .papers{display:block}.theme-c .paper{margin-bottom:29px;padding-bottom:25px}.theme-c .paper-image{height:205px;margin-bottom:17px}.theme-c .paper h3{font-size:22px}.theme-c .paper:last-child{display:block}.theme-c .paper:last-child .paper-image{height:205px;margin-bottom:17px}.theme-c h2{font-size:28px}.theme-c .contact{display:block}.theme-c .contact h2{font-size:34px;margin-bottom:18px}.theme-c .life-photos img{height:160px}.music summary{font-size:14px}.music summary span{font-size:12px}}
@media(max-width:360px){.theme-c h1{font-size:48px;letter-spacing:-2px}.theme-c .editorial-profile{grid-template-columns:155px minmax(0,1fr);column-gap:16px}.theme-c .editorial-profile .portrait-crop{width:155px;height:190px}.theme-c .eyebrow{font-size:8px;letter-spacing:.5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* A shared caption for the photographs from volunteering in Bali. */
.theme-c .life-gallery{margin:25px 0 0}.theme-c .life-gallery .life-photos{margin-top:0}.theme-c .life-gallery>figcaption{margin-top:12px;font-size:15px;line-height:1.6;color:#535d65}.theme-c .life-caption-text{display:block}.theme-c .life-gallery>figcaption time{display:block;margin-top:3px;font-size:12px;letter-spacing:.5px;color:#67747d}
