.main-container{--maxw:1120px;--radius-lg:22px;--radius-md:16px;--radius-sm:10px;--section-py:clamp(4rem,9vw,7.5rem);--gutter:clamp(1.25rem,6vw,6rem);--accent:#6c5ce7;--accent-strong:#5b4bd6;--accent-contrast:#fff;--ease:cubic-bezier(0.22,1,0.36,1)}.main-container.dark-mode{--bg:#08090c;--bg-elev:#101216;--surface:#16181d;--surface-2:#1c1f26;--text:#f5f5f7;--text-secondary:#a6a8ad;--text-tertiary:#74767c;--border:#ffffff17;--border-strong:#ffffff29;--shadow:0 20px 50px -20px #000c;--nav-bg:#0a0b0eb8;--accent-soft:#6c5ce729}.main-container.light-mode{--bg:#fbfbfd;--bg-elev:#fff;--surface:#fff;--surface-2:#f4f5f7;--text:#1d1d1f;--text-secondary:#52535a;--text-tertiary:#86868b;--border:#00000017;--border-strong:#00000029;--shadow:0 20px 45px -24px #00000047;--nav-bg:#fbfbfdb8;--accent-soft:#6c5ce71a}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.6;margin:0}code{font-family:SF Mono,ui-monospace,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.95em}.main-container{background-color:var(--bg);color:var(--text);overflow-x:clip;position:relative;transition:background-color .4s var(--ease),color .4s var(--ease)}a,button,h1,h2,h3,h4,h5,label,li,p,span{color:var(--text);font-family:inherit}a{color:inherit;text-decoration:none;transition:color .2s var(--ease),opacity .2s var(--ease)}a:hover{color:var(--accent)}strong{color:var(--text);font-weight:600}h1,h2,h3{letter-spacing:-.02em;line-height:1.1}.container{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.affiliations-container,.items-container,.projects-container,.pub-container,.skills-container{box-sizing:border-box;margin-inline:auto;max-width:var(--maxw);padding:var(--section-py) var(--gutter);text-align:left;width:100%}#affiliations,#contact,#papers,#profile,#projects,#volunteering{scroll-margin-top:80px}.affiliations-container>h1,.contact_wrapper>h1,.items-container>h1,.projects-container>h1,.pub-container>h1,.skills-container>h1{font-size:clamp(2rem,4.5vw,3rem);font-weight:600;letter-spacing:-.03em;margin:0 0 .4rem}.affiliations-container>h1:after,.contact_wrapper>h1:after,.items-container>h1:after,.projects-container>h1:after,.pub-container>h1:after,.skills-container>h1:after{background:linear-gradient(90deg,var(--accent),var(--accent-strong));border-radius:3px;content:"";display:block;height:3px;margin-bottom:2.2rem;margin-top:1.1rem;width:44px}.items-container p,.pub-container p,.skills-container p{color:var(--text-secondary);font-size:1.02rem;line-height:1.7}.navbar-fixed-top{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);background-color:var(--nav-bg)!important;border-bottom:1px solid #0000;box-shadow:none!important;transition:border-color .3s var(--ease),background-color .3s var(--ease)}.navbar-fixed-top.scrolled{border-bottom:1px solid var(--border)}.navigation-bar{background-color:#0000;justify-content:space-between;margin-inline:auto;max-width:calc(var(--maxw) + var(--gutter)*2);min-height:56px!important;width:100%}.navigation-bar button{border-radius:980px;color:var(--text)!important;font-size:.95rem!important;font-weight:400;opacity:.85;padding:6px 14px!important;text-transform:none;transition:opacity .2s var(--ease),background-color .2s var(--ease)}.navigation-bar button:hover{background-color:var(--accent-soft)!important;color:var(--accent)!important;opacity:1}.navigation-bar svg{color:var(--text);cursor:pointer}.navigation-bar-responsive p,.navigation-bar-responsive span{color:#1d1d1f}.navigation-bar-responsive .mobile-menu-top{align-items:center;display:flex;font-weight:600;gap:6px;justify-content:center}.btn-accent{align-items:center;background:var(--accent);border:1px solid #0000;border-radius:980px;color:var(--accent-contrast);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;justify-content:center;padding:.7rem 1.4rem;transition:transform .2s var(--ease),background-color .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.btn-accent:hover{background:var(--accent-strong);box-shadow:0 12px 26px -12px var(--accent);color:var(--accent-contrast);transform:translateY(-2px)}.chip,.chip.MuiChip-root{background-color:var(--surface-2)!important;border:1px solid var(--border)!important;border-radius:980px;box-shadow:none!important;font-size:.82rem;font-weight:500;height:30px;padding:0 4px;transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.chip,.chip .MuiChip-label,.chip.MuiChip-root{color:var(--text)!important}.chip:hover{border-color:var(--accent)!important;transform:translateY(-1px)}.chip:hover,.chip:hover .MuiChip-label{color:var(--accent)!important}.flex-chips{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:.9rem}.chip-title{font-size:.9rem;font-weight:500;min-width:110px}.chip-title,.section-lead{color:var(--text-secondary)}.section-lead{font-size:1.1rem;margin-bottom:2rem;max-width:60ch}@media(max-width:768px){body{font-size:16px}.chip-title{margin-bottom:2px;min-width:0;width:100%}}footer{border-top:1px solid var(--border);margin-top:2rem;padding:3.5rem 1.5rem 4rem;text-align:center}footer>div{display:flex;gap:14px;margin-bottom:1rem}footer a,footer>div{justify-content:center}footer a{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:50%;color:var(--text);display:inline-flex;height:46px;transition:transform .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);width:46px}footer a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}footer svg{height:1.5rem!important;width:1.5rem!important}footer p{color:var(--text-secondary);font-size:.95rem;margin:0}.about-section{align-items:center;box-sizing:border-box;display:flex;gap:clamp(2rem,5vw,4.5rem);justify-content:center;min-height:100vh;overflow:hidden;padding:8rem var(--gutter) 5rem;position:relative;width:100%}.dark-mode .about-section{background:radial-gradient(60% 55% at 78% 18%,#6c5ce738,#0000 60%),radial-gradient(50% 50% at 12% 88%,#5078ff1a,#0000 55%),var(--bg)}.light-mode .about-section{background:radial-gradient(60% 55% at 80% 15%,#6c5ce724,#0000 60%),radial-gradient(50% 50% at 10% 90%,#5078ff14,#0000 55%),var(--bg)}.about-section .image-wrapper{border-radius:0;flex-shrink:0;overflow:visible;z-index:2}.about-section .image-wrapper img{border:none;border-radius:30%;box-shadow:none;height:auto;width:clamp(230px,25vw,340px)}.about-section .content{max-width:34rem;text-align:left;z-index:2}.about-section .content .eyebrow{color:var(--accent);font-size:.9rem;font-weight:600;letter-spacing:.04em;margin:0 0 .9rem;text-transform:uppercase}.about-section .content h1{font-size:clamp(3rem,7vw,5rem);font-weight:700;letter-spacing:-.04em;line-height:1.02;margin:0}.about-section .content h2{color:var(--text-secondary);font-size:clamp(1.15rem,2.4vw,1.6rem);font-weight:500;letter-spacing:-.01em;margin:.6rem 0 1.4rem}.about-section .content .lead{color:var(--text-secondary);font-size:1.05rem;line-height:1.7;margin:0 0 1.6rem}.about-section .content .languages{display:flex;flex-wrap:wrap;gap:8px;margin:0}.about-section .content .languages span{border:1px solid var(--border);border-radius:980px;color:var(--text-secondary);font-size:.8rem;font-weight:500;padding:5px 12px}.about-section .content .social_icons{display:flex;gap:12px;margin-bottom:1.6rem}.about-section .content .social_icons a{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:50%;color:var(--text);display:inline-flex;height:42px;justify-content:center;transition:transform .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),background-color .2s var(--ease);width:42px}.about-section .content .social_icons a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}.about-section .content .social_icons svg{font-size:1.4rem}.about-section .content .mobile_social_icons{display:none}@media(max-width:768px){.about-section{flex-direction:column;min-height:auto;padding:7rem 1.5rem 4rem}.about-section,.about-section .content{text-align:center}.about-section .content h1{font-size:3.1rem}.about-section .content .eyebrow{text-align:center}.about-section .content .languages,.about-section .content .lead{justify-content:center}.about-section .content .social_icons{display:none}.about-section .content .mobile_social_icons{display:flex;gap:12px;justify-content:center;margin-top:1.6rem}.about-section .content .mobile_social_icons a{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:50%;color:var(--text);display:inline-flex;height:46px;justify-content:center;width:46px}.about-section .content .mobile_social_icons svg{font-size:1.5rem}.about-section .image-wrapper img{border-radius:30%;width:220px}}.vertical-timeline *{-webkit-box-sizing:border-box;box-sizing:border-box}.vertical-timeline{margin:0 auto;max-width:1170px;padding:2em 0;position:relative;width:95%}.vertical-timeline:after{clear:both;content:"";display:table}.vertical-timeline:before{background:var(--line-color);content:"";height:100%;left:18px;position:absolute;top:0;width:4px}.vertical-timeline.vertical-timeline--one-column-right:before{left:auto;right:18px}@media only screen and (min-width:1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{left:50%;margin-left:-2px}}.vertical-timeline-element{margin:2em 0;position:relative}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{clear:both;content:"";display:table}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (min-width:1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{border-radius:50%;-webkit-box-shadow:0 0 0 4px #fff,inset 0 2px 0 #00000014,0 3px 0 4px #0000000d;box-shadow:0 0 0 4px #fff,inset 0 2px 0 #00000014,0 3px 0 4px #0000000d;height:40px;left:0;position:absolute;top:0;width:40px}.vertical-timeline--one-column-right .vertical-timeline-element-icon{left:auto;right:0}.vertical-timeline-element-icon svg{display:block;height:24px;left:50%;margin-left:-12px;margin-top:-12px;position:relative;top:50%;width:24px}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{height:60px;left:50%;margin-left:-30px;width:60px}}.vertical-timeline-element-icon{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0)}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{-webkit-animation:cd-bounce-1 .6s;animation:cd-bounce-1 .6s;visibility:visible}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}.vertical-timeline-element-content{background:#fff;border-radius:.25em;-webkit-box-shadow:0 3px 0 #ddd;box-shadow:0 3px 0 #ddd;margin-left:60px;padding:1em;position:relative}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-left:0;margin-right:60px}.vertical-timeline-element--no-children .vertical-timeline-element-content{background:0 0;-webkit-box-shadow:none;box-shadow:none}.vertical-timeline-element-content:after{clear:both;content:"";display:table}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:13px;font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{line-height:1.6;margin:1em 0 0}.vertical-timeline-element-subtitle,.vertical-timeline-element-title{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;opacity:.7;padding:.8em 0}.vertical-timeline-element-content-arrow{border:7px solid #0000;border-right-color:#fff;content:"";height:0;position:absolute;right:100%;top:16px;width:0}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{border:7px solid #0000;border-left-color:#fff;content:"";height:0;left:100%;position:absolute;right:auto;top:16px;width:0}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{border-left:7px solid #fff;border-right:initial;left:100%}.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow,.vertical-timeline-element--no-children .vertical-timeline-element-content:before{display:none}@media only screen and (min-width:768px){.vertical-timeline-element-content h2{font-size:20px;font-size:1.25rem}.vertical-timeline-element-content p{font-size:16px;font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:14px;font-size:.875rem}}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{margin-left:0;padding:1.5em;width:44%}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{left:100%;top:24px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{font-size:16px;font-size:1rem;left:124%;position:absolute;top:6px;width:100%}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{left:auto;right:100%;top:24px;-webkit-transform:rotate(0);transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{left:100%;right:auto;top:24px;-webkit-transform:rotate(0);transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{left:auto;right:124%;text-align:right}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2 .6s;animation:cd-bounce-2 .6s;visibility:visible}@media only screen and (min-width:1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@media only screen and (max-width:1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s;visibility:visible}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(0)}}@keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px);transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px);transform:translateX(20px)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px);transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px);transform:translateX(-20px)}to{-webkit-transform:translateX(0);transform:translateX(0)}}.skills-heading{font-size:1.15rem;font-weight:600;margin:2.5rem 0 1.4rem}.interests-line{color:var(--text-secondary)!important;font-size:.98rem;margin-top:1.8rem}.interests-line span{background:var(--accent-soft);border-radius:980px;color:var(--accent);display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.03em;margin-right:.6rem;padding:3px 10px;text-transform:uppercase}.vertical-timeline{margin-top:2.5rem}.vertical-timeline:before{background:var(--border)!important}.vertical-timeline-element h3,.vertical-timeline-element h4,.vertical-timeline-element p{color:var(--text)}.vertical-timeline-element p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:.5rem 0 0;text-align:left}.vertical-timeline-element-title{color:var(--text);font-size:1.12rem;font-weight:600}.vertical-timeline-element-subtitle{color:var(--text-secondary)!important;font-size:.9rem;font-weight:500;margin-top:.25rem}.vertical-timeline-element .vertical-timeline-element-date{color:var(--text-secondary);font-weight:500;opacity:.9}@media only screen and (max-width:1169px){.vertical-timeline-element .vertical-timeline-element-date{color:var(--text-secondary)}}.svg-inline--fa{color:inherit}.vertical-timeline-element-icon{box-shadow:0 0 0 4px var(--bg),inset 0 2px 0 #00000014,0 3px 0 4px #0000000d!important}.profile-hover-page-image{background:#fff;border-radius:10px;box-sizing:border-box;height:auto;object-fit:contain;padding:6px 10px}.clickable-image{cursor:pointer;transition:transform .2s var(--ease),opacity .2s var(--ease)}.clickable-image:hover{opacity:.85;transform:scale(1.05)}.details-btn{background:var(--accent-soft);border:1px solid #0000;border-radius:980px;color:var(--accent)!important;cursor:pointer;font-size:.82rem;font-weight:600;margin-top:.9rem;padding:.4rem 1rem;transition:all .2s var(--ease)}.details-btn:hover{background:var(--accent);color:#fff!important;transform:translateY(-1px)}.hover-page-overlay{align-items:center;animation:overlay-fade .25s var(--ease);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;box-sizing:border-box;display:flex;height:100vh;inset:0;justify-content:center;padding:1.5rem;position:fixed;width:100vw;z-index:9999}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}.hover-page-content{animation:overlay-rise .3s var(--ease);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 30px 70px -20px #0009;color:var(--text);max-height:88vh;max-width:760px;overflow-y:auto;padding:2.5rem;position:relative;width:100%}@keyframes overlay-rise{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.hover-page-content h1{color:var(--text);font-size:1.5rem;font-weight:600;margin:0 0 .5rem;text-align:left}.hover-page-content p{color:var(--text-secondary);line-height:1.7}.hover-page-content ul{color:var(--text-secondary);line-height:1.8;padding-left:1.2rem}.hover-page-header{align-items:center;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1.2rem;padding-right:2rem}.hover-page-header h1{flex:1 1}.hover-page-header img{max-height:3.5rem;width:auto}.hover-page-link-btn{color:var(--accent)!important;display:inline-block;font-size:.95rem;font-weight:600;margin-top:1.2rem;transition:opacity .2s var(--ease)}.hover-page-link-btn:hover{opacity:.7}.close-btn{align-items:center;background:var(--surface-2)!important;border:1px solid var(--border);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;height:34px;justify-content:center;position:absolute;right:1.1rem;top:1.1rem;transition:all .2s var(--ease);width:34px}.close-btn:hover{color:var(--text);transform:scale(1.08)}.special-btn{align-items:center;align-self:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:980px;color:var(--text);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.7rem 1.6rem;transition:all .25s var(--ease)}.special-btn:hover{border-color:var(--accent);box-shadow:0 10px 24px -14px var(--accent);color:var(--accent);transform:translateY(-2px)}.coursework-extension{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-top:1.5rem;padding:2rem}.coursework-extension h2{font-size:1.2rem;font-weight:600;margin:0 0 1rem}.coursework-columns{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:repeat(3,1fr);margin-top:1rem}.coursework-columns h3{color:var(--accent);font-size:1rem;font-weight:600;margin-bottom:.8rem}.coursework-columns ul{color:var(--text-secondary);line-height:1.9;margin:0;padding-left:1.1rem}@media(max-width:900px){.coursework-columns{gap:1.5rem;grid-template-columns:1fr}}@media(max-width:640px){.hover-page-content{padding:1.6rem}.hover-page-header{align-items:flex-start;flex-direction:column;padding-right:1.5rem}}.projects-container{display:flex;flex-direction:column}.projects-container .projects-grid{grid-gap:1.75rem;display:grid;gap:1.75rem;grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.projects-container .projects-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.projects-container .projects-grid{grid-template-columns:1fr}}.projects-grid .project{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}.projects-grid .project h2{color:var(--text);font-size:1.08rem;font-weight:600;margin:1.2rem 1.3rem .4rem}.projects-grid .project p{color:var(--text-secondary);font-size:.92rem;line-height:1.6;margin:0 1.3rem 1.4rem}.projects-grid .project:hover{border-color:var(--border-strong);box-shadow:0 28px 55px -25px #0000008c;transform:translateY(-6px)}.image-wrapper{aspect-ratio:16/10;background:#fff;border-bottom:1px solid var(--border);cursor:pointer;overflow:hidden;position:relative}.project-image{display:block;height:100%;object-fit:contain;transition:transform .4s var(--ease),filter .3s var(--ease);width:100%}.details-text{background:linear-gradient(0deg,#000000bf,#0000);color:#fff;font-size:.9rem;font-weight:600;inset:auto 0 0 0;letter-spacing:.02em;opacity:0;padding:12px 0;position:absolute;text-align:center;transition:opacity .3s var(--ease)}.project:hover .project-image{transform:scale(1.06)}.project:hover .details-text{opacity:1}.hover-page-header .hover-page-image{border:1px solid var(--border);border-radius:var(--radius-md);height:auto;max-height:none;max-width:26rem;width:100%}.hover-page-content ul{column-count:2;column-gap:2rem}@media(max-width:640px){.hover-page-content ul{column-count:1}}.affiliations-container{display:flex;flex-direction:column}.affiliations-container .affiliations-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}@media(max-width:820px){.affiliations-container .affiliations-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.affiliations-container .affiliations-grid{grid-template-columns:1fr}}.affiliations{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}.affiliations>a:first-child{align-items:center;background:#fff;display:flex;justify-content:center;min-height:130px;padding:1.8rem}.affiliations img{max-height:84px;max-width:100%;object-fit:contain;transition:transform .3s var(--ease);width:auto}.affiliations h2{color:var(--text);font-size:.98rem;font-weight:600;line-height:1.4;margin:1rem 1.2rem 1.2rem}.affiliations:hover{border-color:var(--border-strong);box-shadow:0 26px 50px -25px #00000080;transform:translateY(-5px)}.affiliations:hover img{transform:scale(1.05)}.affiliations h2:hover{color:var(--accent)}.skills-container{display:flex;flex-direction:column}.skills-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}.skill-inset{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;gap:2rem;padding:1.75rem;transition:transform .3s var(--ease),border-color .3s var(--ease)}.skill-inset:hover{border-color:var(--border-strong);transform:translateY(-4px)}.skill-left{align-items:center;display:flex;flex:0 0 16rem;justify-content:center}.skill-left img{border-radius:var(--radius-md);max-height:12rem;max-width:100%;object-fit:cover;transition:transform .3s var(--ease)}.skill-left img.zoom_volunteer:hover{transform:scale(1.04)}.skill-right{flex:1 1;text-align:left}.skill-right h2{color:var(--text);font-size:1.25rem;font-weight:600;margin:0 0 .8rem}.skill-right p{color:var(--text-secondary);font-size:1rem;line-height:1.7;margin:0}@media(max-width:640px){.skill-inset{align-items:flex-start;flex-direction:column;gap:1.25rem}.skill-left{flex:1 1;width:100%}.skill-left img{max-height:14rem;width:100%}}.pub-container{display:flex;flex-direction:column}.pub-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}.pub-inset{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.6rem;padding:1.75rem 2rem;transition:transform .3s var(--ease),border-color .3s var(--ease)}.pub-inset h4{color:var(--text);font-size:1.2rem;font-style:normal;font-weight:600;line-height:1.4;margin:0}.pub-inset p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0}.pub-inset .bold{color:var(--text);font-weight:700}.pub-inset a{align-self:flex-start;color:var(--accent)!important;font-size:.95rem;font-weight:600;margin-top:.4rem}.pub-inset a:hover{opacity:.75}.pub-inset:hover{border-color:var(--border-strong);transform:translateY(-4px)}.contact_wrapper{text-align:left}.contact-lead{color:var(--text-secondary)!important;font-size:1.1rem!important;line-height:1.7;max-width:56ch}.contact-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.btn-ghost{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:980px;color:var(--text)!important;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.7rem 1.4rem;transition:transform .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)!important;transform:translateY(-2px)}.contact-actions .btn-accent{text-decoration:none}
/*# sourceMappingURL=main.6bb77aa2.css.map*/