@import"https://fonts.googleapis.com/css?family=Lato:400,700&display=swap";:root{font-family:Century Gothic,Lato,sans-serif;color:#000;background:#eee;font-synthesis:none;--blue: #66b1f1;--nav-height: 70px}html{line-height:1.15;-webkit-text-size-adjust:100%;scroll-behavior:auto;scroll-padding-top:69px}body{margin:0}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button,input{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button{cursor:pointer;color:inherit;background:none;border:0;padding:0}h1,h2,h3,h4,p,figure{margin:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #328bd3;outline-offset:5px}img{max-width:100%;display:block}svg{flex-shrink:0;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:12px;background:#fff;transform:translateY(-160%)}.skip-link:focus{transform:none}.language-switch{position:fixed;top:max(13px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:20;display:inline-grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid #d7d7d7;background:#fff;box-shadow:0 2px 9px #00000008;font-size:11px;font-weight:700;letter-spacing:.08rem;transition:border-color .2s,background .2s}.language-switch:hover{background:#e7f3fd;border-color:var(--blue)}.language-switch--dialog{position:static;box-shadow:none}.dialog-actions{display:flex;align-items:center;gap:8px}.dialog-actions .icon-button{width:44px;height:44px}.hero{min-height:calc(100svh - var(--nav-height));display:flex;justify-content:center;align-items:center;background:#eee;text-align:center;padding:38px 2em}.profile{width:100%}.profile-photo{width:136px;height:136px;object-fit:cover;border-radius:50%;margin:0 auto 28px}.hero h1,.section-title{font-size:3rem;letter-spacing:1rem;font-weight:700;line-height:1.15;text-align:center;margin:0}.profile-role{font-size:1rem;letter-spacing:.3rem;opacity:.6;font-weight:700;line-height:1.65;margin:18px 0 23px}.profile-intro{font-size:14px;line-height:1.9;color:#555;word-break:keep-all}.profile-education{margin:23px auto 0;font-size:12px;line-height:1.85}.profile-education h2{font-size:11px;letter-spacing:.15rem;text-transform:uppercase;margin-bottom:8px;font-weight:700}.profile-education p{color:#555}.profile-education span{color:#777;font-size:11px;margin-left:12px}.profile-links{display:flex;align-items:center;justify-content:center;gap:21px;margin-top:24px}.profile-icon{display:grid;place-items:center;width:28px;height:28px;opacity:.6;transition:opacity .2s}.profile-icon:hover{opacity:1}.resume-link{display:inline-flex;align-items:center;gap:5px;color:#666;font-size:12px;letter-spacing:.1rem}.sticky-nav{position:sticky;top:0;z-index:10;height:70px;width:100%;background:#fff;box-shadow:0 0 20px #0000001a}.nav-inner{position:relative;display:flex;height:70px;width:100%}.nav-inner>a{display:flex;justify-content:center;align-items:center;flex:1;color:#000;font-size:1rem;letter-spacing:.1rem;transition:all .5s ease}.sticky-nav[data-stuck=true] .nav-inner{width:calc(100% - 68px)}.nav-inner>a:hover{color:#fff;background:#66b1f1cc;transition:all .5s ease}.nav-indicator{position:absolute;bottom:0;height:6px;width:0;background:#66b1f1;transition:left .3s ease;pointer-events:none}.section{min-height:100vh;padding:100px 2em;background:#eee}.section-title{margin-bottom:60px}.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;margin:-21px auto 36px}.filters button{font-size:12px;letter-spacing:.07rem;padding:10px 3px;border-bottom:2px solid transparent;color:#666;display:flex;align-items:center;gap:7px}.filters button span{font-size:10px;color:#888}.filters .selected{border-color:var(--blue);color:#000}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1160px;margin:auto}.project-card{display:flex;flex-direction:column;background:#fff;padding:27px 27px 20px;min-width:0;border:1px solid #e4e4e4;transition:border-color .2s ease,box-shadow .2s ease}.project-card:hover{border-color:#badcf7;box-shadow:0 5px 18px #0000000a}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#888;font-size:10px;letter-spacing:.04rem;margin-bottom:24px}.card-meta>span{text-transform:uppercase}.card-meta time{font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:0}.card-title{font-size:23px;font-weight:700;letter-spacing:.02rem;text-align:left;line-height:1.3}.card-title:hover{color:#398ecf}.card-subtitle{font-size:12px;color:#666;line-height:1.75;margin-top:10px;word-break:keep-all}.project-status{display:inline-flex;align-self:flex-start;max-width:100%;margin-top:12px;padding:5px 8px;border:1px solid rgba(102,177,241,.35);background:#66b1f11a;color:#27658f;font-size:10px;line-height:1.5;letter-spacing:.025rem}.card-summary{color:#555;font-size:13px;line-height:1.85;margin-top:18px;margin-bottom:24px;word-break:keep-all}.card-focus{margin-top:auto}.card-focus>span{display:block;font-size:10px;color:#888;letter-spacing:.12rem;text-transform:uppercase;margin-bottom:10px}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag-list>span{font-size:10px;line-height:1.35;color:#666;background:#f5f5f5;border:1px solid #eee;padding:5px 7px}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;border-top:1px solid #eee;padding-top:14px;min-height:46px}.resource-links{display:flex;gap:9px;flex-wrap:wrap}.resource-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:#333;border:1px solid #e8e8e8;transition:background .2s}.resource-link:hover,.resource-link:focus-visible{background:#e7f3fd;border-color:#a6d3f7}.resource-link img{width:18px;height:18px}.link-tooltip{position:absolute;bottom:calc(100% + 9px);left:-1px;max-width:240px;width:max-content;padding:7px 9px;background:#333;color:#fff;font-size:10px;line-height:1.4;opacity:0;visibility:hidden;pointer-events:none;z-index:3}.resource-link:hover .link-tooltip,.resource-link:focus-visible .link-tooltip{opacity:1;visibility:visible}.details-button{display:flex;gap:5px;align-items:center;font-size:11px;color:#666;letter-spacing:.03rem}.details-button:hover{color:#398ecf}.experience-section{display:flex;flex-direction:column;justify-content:center}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;max-width:1000px;width:100%;margin:0 auto}.group-title{font-size:16px;letter-spacing:.3rem;opacity:.6;font-weight:700;border-bottom:1px solid #d2d2d2;padding-bottom:18px;margin-bottom:26px}.research-list article{margin-bottom:30px}.research-list time{font-size:11px;color:#888}.research-list h4{font-size:16px;font-weight:400;margin:9px 0 6px}.research-role{font-size:11px;color:#777}.research-list p{font-size:12px;color:#666;line-height:1.8;margin-top:8px;word-break:keep-all}.publication{display:block}.publication+.publication{margin-top:26px;padding-top:26px;border-top:1px solid #ddd}.publication-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;color:#777;font-size:11px;letter-spacing:.1rem}.publication-meta .project-status{margin-top:0}.publication>span{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#777;letter-spacing:.1rem}.publication h4{font-size:16px;font-weight:400;line-height:1.7;margin:16px 0 12px;word-break:keep-all}a.publication:hover h4{color:#398ecf}.publication p{font-size:11px;color:#777;line-height:1.8}.publication small{font-size:10px;color:#888;line-height:1.8}.awards-title{margin-top:38px}.awards-list>div{display:flex;gap:24px;margin-bottom:17px}.awards-list time{color:#888;font-size:11px;padding-top:2px}.awards-list h4{font-size:12px;font-weight:400;line-height:1.6}.awards-list p{font-size:10px;color:#888;margin-top:4px}.skills-list{max-width:1000px;width:100%;margin:46px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;border-top:1px solid #d2d2d2;padding-top:25px}.skills-list h3{font-size:12px;font-weight:400;letter-spacing:.04rem;margin-bottom:12px}.skills-list p{font-size:11px;color:#777;line-height:1.8}.contact-section{display:flex;justify-content:center;align-items:center;flex-direction:column}.contact-section .section-title{margin-bottom:38px}.email-line{display:flex;gap:14px;align-items:center}.email-line>a{color:#666;font-size:19px;letter-spacing:.08rem}.icon-button{width:36px;height:36px;display:inline-grid;place-items:center;flex-shrink:0}.icon-button:hover{background:#e4e4e4}.copy-status{height:18px;font-size:11px;color:#398ecf;margin:9px 0}.contact-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:25px}.contact-links a{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#666;letter-spacing:.08rem}.contact-links a:hover{color:#398ecf}footer{padding:24px 32px;display:flex;justify-content:space-between;gap:15px;background:#eee;color:#888;border-top:1px solid #ddd;font-size:10px;letter-spacing:.05rem}.project-dialog{width:min(760px,calc(100% - 32px));max-height:calc(100svh - 40px);margin:auto;padding:0;border:0;background:#fff;color:#000;overscroll-behavior:contain;box-shadow:0 20px 80px #0003}.project-dialog::backdrop{background:#00000073}.dialog-inner{padding:25px 42px 36px}.dialog-top{position:sticky;top:0;background:#fff;z-index:3;padding:9px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}.eyebrow{font-size:10px;color:#888;letter-spacing:.08rem;line-height:1.65}.dialog-inner>h2{font-size:32px;font-weight:700;letter-spacing:.1rem;line-height:1.3;margin-top:20px}.dialog-subtitle{font-size:14px;color:#777;line-height:1.7;margin:12px 0 24px}.dialog-status{margin:-10px 0 24px}.dialog-role{display:flex;align-items:center;gap:24px;border-block:1px solid #eee;padding:19px 0}.dialog-role>span{font-size:10px;color:#888;white-space:nowrap;letter-spacing:.1rem}.dialog-role p{font-size:12px;color:#666;line-height:1.8}.detail-block{margin-top:26px}.detail-block h3{font-size:14px;letter-spacing:.12rem;margin-bottom:14px}.detail-block>p,.detail-block li p{font-size:14px;line-height:1.95;color:#666;word-break:keep-all}.detail-block ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.detail-block li{display:flex;gap:16px}.detail-block li>span{font-size:10px;color:#aaa;padding-top:6px}.detail-result{border-left:3px solid var(--blue);background:#f4f4f4;padding:19px 22px;margin:26px 0 20px}.detail-result>span{color:#777;font-size:10px;letter-spacing:.12rem}.detail-result p{font-size:14px;color:#555;line-height:1.9;margin-top:12px;word-break:keep-all}.dialog-links{display:flex;flex-wrap:wrap;gap:23px;margin-top:24px}.dialog-links a{display:inline-flex;align-items:center;gap:8px;color:#398ecf;font-size:12px}.project-screens{border-top:1px solid #eee;margin-top:35px;padding-top:30px}.project-screens>div{display:flex;justify-content:center;align-items:flex-start;gap:20px}.project-screens img{width:min(45%,220px);height:auto}.project-screens img:only-child{width:min(80%,260px)}.project-screens figcaption{text-align:center;color:#888;font-size:10px;margin-top:17px}@media(max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}.experience-grid{gap:50px}}@media(max-width:799px){.hero h1,.section-title{font-size:2rem}.nav-inner>a{font-size:.8rem}.profile-photo{width:116px;height:116px;margin-bottom:24px}.hero{padding-block:35px}.profile-role{font-size:1rem;max-width:440px;margin:18px auto 22px}.section{padding:75px 24px}.section-title{margin-bottom:52px}.project-card{padding:23px 22px 18px}.card-title{font-size:21px}.experience-grid{gap:35px}.group-title{font-size:14px;letter-spacing:.2rem}.skills-list{gap:22px}}@media(max-width:560px){.hero{padding:28px 20px}.hero h1{font-size:2rem;letter-spacing:.65rem;padding-left:.65rem}.profile-photo{width:104px;height:104px;margin-bottom:24px}.profile-role{font-size:12px;letter-spacing:.2rem;line-height:1.9;max-width:310px;margin:15px auto 20px}.profile-intro{font-size:12px;line-height:1.9}.profile-intro br{display:none}.profile-education{margin-top:22px;font-size:11px}.profile-education p{margin-top:5px}.profile-education span{display:block;font-size:10px;margin:0}.profile-links{margin-top:20px}.nav-inner>a{letter-spacing:.07rem;font-size:11px}.section{padding:65px 20px}.section-title{letter-spacing:.65rem;padding-left:.65rem}.project-grid{grid-template-columns:1fr;gap:20px}.project-card{padding:26px 25px 19px}.card-meta{margin-bottom:20px}.card-title{font-size:23px}.card-summary{font-size:13px}.filters{gap:16px}.experience-grid{grid-template-columns:1fr;gap:35px}.skills-list{grid-template-columns:1fr;gap:20px;margin-top:30px}.skills-list h3{margin-bottom:8px}.email-line{gap:6px}.email-line>a{font-size:16px;letter-spacing:.02rem}.contact-links{gap:16px}.contact-links a{font-size:11px;letter-spacing:.03rem}footer{padding:20px;font-size:9px;letter-spacing:0}.project-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px)}.dialog-inner{padding:14px 22px 28px}.dialog-inner>h2{font-size:27px;letter-spacing:.03rem}.dialog-role{gap:15px}.dialog-role>span{font-size:9px}.dialog-role p{font-size:11px}.dialog-top .eyebrow{font-size:8px}.detail-block>p,.detail-block li p,.detail-result p{font-size:13px}.detail-block li{gap:10px}.project-screens>div{gap:12px}}@media(max-width:359px){.hero h1{font-size:28px;letter-spacing:.45rem}.section-title{font-size:26px;letter-spacing:.45rem}.nav-inner>a{font-size:10px;letter-spacing:.04rem}.profile-role{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
