@charset "UTF-8";*,::before,::after{box-sizing:border-box;border-width:0}html{line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}h1,h2,h3,h4,h5,h6{font-weight:inherit;font-size:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}button,input{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button{-webkit-appearance:button;background-image:none;background-color:initial;cursor:pointer}:disabled{cursor:default}:-moz-focusring{outline:1px dotted ButtonText}h1,h2,h3,figure,p{margin:0}ul,menu{margin:0;padding:0;list-style:none}img,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}:root{color-scheme:light dark;--surface-1-light:#fff;--surface-2-light:#e5e5e5;--text-1-light:#0a0a0a;--text-2-light:#737373;--border-light:#bbb;--surface-1-dark:#0a0a0a;--surface-2-dark:#404040;--text-1-dark:#fafafa;--text-2-dark:#a3a3a3;--border-dark:#606060;--surface-1:var(--surface-1-light);--surface-2:var(--surface-2-light);--text-1:var(--text-1-light);--text-2:var(--text-2-light);--border:var(--border-light)}@media(prefers-color-scheme:dark){:root{--surface-1:var(--surface-1-dark);--surface-2:var(--surface-2-dark);--text-1:var(--text-1-dark);--text-2:var(--text-2-dark);--border:var(--border-dark)}}html.light{color-scheme:light;--surface-1:var(--surface-1-light);--surface-2:var(--surface-2-light);--text-1:var(--text-1-light);--text-2:var(--text-2-light);--border:var(--border-light)}html.dark{color-scheme:dark;--surface-1:var(--surface-1-dark);--surface-2:var(--surface-2-dark);--text-1:var(--text-1-dark);--text-2:var(--text-2-dark);--border:var(--border-dark)}html{height:100%}body{display:flex;flex-direction:column;width:100%;min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--surface-1);color:var(--text-1)}body>header{display:flex;justify-content:space-between;align-items:center;padding:.5rem;margin-bottom:2rem;width:100%;min-height:4rem}@media(min-width:640px){body>header{margin-bottom:3rem}}body>header ul{display:inline-flex}body>header .btn{display:inline-flex;justify-content:center;align-items:center;border-radius:.5rem;padding-right:1rem;padding-left:1rem;height:3rem;font-weight:600;font-size:1.25rem;user-select:none}body>header .btn-square{padding:0;width:3rem}body>menu{margin:0 auto 5rem;padding-right:1.5rem;padding-left:1.5rem;width:100%;max-width:768px;color:var(--text-2);font-weight:600;font-size:1.25rem;line-height:1.4;user-select:none;text-align:center}body>menu a{display:block;padding-top:.5rem;padding-bottom:.5rem}body>menu a:hover,body>menu a[aria-current=true]{color:var(--text-1)}body>main{flex-grow:1;width:100%;height:100%}main>section{margin:0 auto 3rem;padding-right:1.5rem;padding-left:1.5rem}@media(min-width:640px){main>section{margin-bottom:4rem}}body>footer{margin-right:auto;margin-left:auto;color:var(--text-2);font-size:.875rem;line-height:1.4286}body>footer section:last-of-type{display:flex;flex-flow:row wrap;justify-content:center;gap:1rem;padding:2.5rem}body>footer section:last-of-type a:hover{text-decoration-line:underline}hgroup{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin:0 auto 3rem;padding-right:1.5rem;padding-left:1.5rem;max-width:1024px;text-align:center}hgroup h1{font-weight:600;font-size:clamp(2rem,calc(1.667rem + 1.481vw),3rem);line-height:clamp(2.25rem,calc(1.833rem + 1.852vw),3.5rem);text-wrap:balance}hgroup h2{font-weight:600;font-size:clamp(1.5rem,calc(1.333rem + .741vw),2rem);line-height:clamp(1.75rem,calc(1.5rem + 1.111vw),2.5rem);text-wrap:balance}hgroup p{color:var(--text-2);font-size:1.0625rem;line-height:1.5556;text-wrap:balance}@media(min-width:640px){hgroup{width:83.3333%;margin-bottom:4rem}}section.galleries{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2rem 1.5rem;max-width:1280px}@media(min-width:640px){section.galleries{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:3rem}}@media(min-width:1024px){section.galleries{grid-template-columns:repeat(3,minmax(0,1fr))}}section.gallery{padding-right:0;padding-left:0}.prose{max-width:768px;color:var(--text-1);font-size:1rem;line-height:1.75}.prose a{color:var(--text-1);font-weight:500;text-decoration:underline}.prose p{margin-top:1.25em;margin-bottom:1.25em}.prose img{margin-top:2em;margin-bottom:2em}.prose h3{margin-top:1.6em;margin-bottom:.6em;color:var(--text-1);font-weight:600;font-size:1.25em;line-height:1.6}.prose ul{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em;list-style-type:disc}.prose ul>li{margin-top:.5em;margin-bottom:.5em;padding-left:.375em}.prose ul li::marker{color:var(--text-2);font-variant-numeric:tabular-nums;unicode-bidi:isolate;text-align:start!important;text-align-last:start!important;text-indent:0!important;text-transform:none}.prose h3+*{margin-top:0}.prose figure{margin-top:2em;margin-bottom:2em}.prose figure>*{margin-top:0;margin-bottom:0}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.card{display:flex;flex-direction:column;border-radius:1rem}.card>figure{aspect-ratio:3/2;width:100%;border-radius:1rem}.card>img,.card figure>img{box-shadow:0 1px 2px rgba(0,0,0,5%);border-radius:1rem;aspect-ratio:3/2;width:100%;overflow:hidden;object-fit:cover}.card>img:hover,.card figure>img:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.card>div{display:flex;flex:auto;flex-direction:column;gap:.75rem;padding:1rem}.card>div>h2{font-weight:600;font-size:1.125rem;line-height:1.375}.card>div>p{color:var(--text-2);font-size:.875rem;line-height:1.4286}.gallery-item{cursor:zoom-in}.hidden{display:none}#menu-toggle[aria-expanded=true] .icon-menu{display:none}#menu-toggle[aria-expanded=true] .icon-close{display:block}section.social-icons{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:2rem;padding-right:1.5rem;padding-left:1.5rem}section.featured{padding-right:1.5rem;padding-left:1.5rem;max-width:1280px;color:var(--text-1-dark)}.featured-card{display:flex;box-shadow:0 1px 2px rgba(0,0,0,5%);border-radius:1rem;background-position:50%;background-size:cover;aspect-ratio:1/1;width:100%;overflow:hidden}@media(min-width:640px){.featured-card{aspect-ratio:16/9}}.featured-card>div{display:flex;flex-direction:column;justify-content:flex-end;gap:1rem;background-image:linear-gradient(to top,RGB(0 0 0/.8) 10%,transparent 50%);padding:1.5rem;width:100%;height:100%}.featured-card>div>h2{font-weight:600;font-size:clamp(1.5rem,calc(1.375rem + .556vw),1.875rem);line-height:1.2}.featured-card>div>p{font-size:.875rem;line-height:1.4286}.featured-card:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}nav.categories{padding-right:1.5rem;padding-left:1.5rem;margin:0 auto 3rem}nav.categories>ul{display:flex;flex-flow:row wrap;justify-content:center;gap:.75rem}nav.categories>ul li{max-width:100%}nav.categories>ul li>a{display:block;padding:.5rem .75rem;border-radius:9999px;border:1px solid var(--border);font-size:.875rem;line-height:1.4286;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:640px){nav.categories>ul li>a{padding:.75rem 1rem;font-size:1rem;line-height:1.25}}@media(min-width:640px){nav.categories{margin-bottom:4rem}}/*!PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com*/.pswp{--pswp-bg:#000;--pswp-placeholder-bg:#222;--pswp-root-z-index:100000;--pswp-preloader-color:rgba(79, 79, 79, 0.4);--pswp-preloader-color-secondary:rgba(255, 255, 255, 0.9);--pswp-icon-color:#fff;--pswp-icon-color-secondary:#4f4f4f;--pswp-icon-stroke-color:#4f4f4f;--pswp-icon-stroke-width:2px;--pswp-error-text-color:var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:transparent}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:-webkit-zoom-out;cursor:-moz-zoom-out;cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration)cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:0 0;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:0 0;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;top:0;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:0 0;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scale(-1,1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise 600ms linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.pswp__dynamic-caption{color:#fff;position:absolute;width:100%;left:0;top:0;transition:opacity 120ms linear!important}.pswp-caption-content{display:none}.pswp__dynamic-caption a{color:#fff}.pswp__dynamic-caption--faded{opacity:0!important}.pswp__dynamic-caption--aside{width:auto;max-width:300px;padding:20px 15px 20px 20px;margin-top:70px}.pswp__dynamic-caption--below{width:auto;max-width:700px;padding:15px 0 0}.pswp__dynamic-caption--on-hor-edge{padding-left:15px;padding-right:15px}.pswp__dynamic-caption--mobile{width:100%;background:rgba(0,0,0,.5);padding:10px 15px;right:0;bottom:0;top:auto!important;left:0!important}.hero{padding:5rem 1.5rem;max-width:1200px;margin:0 auto}.hero-grid{display:grid;grid-template-columns:280px 1fr;gap:4rem;align-items:start}.hero-photo img{width:100%;max-width:280px;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.12);display:block}.hero-title{font-size:2.5rem;margin:0 0 1rem;font-weight:400;letter-spacing:-.02em}.hero-subtitle{margin-top:1.5rem;font-size:1.15rem;line-height:1.8;opacity:.85;max-width:65ch;font-weight:300}.job-market-notice{margin-top:1.5rem;padding:.75rem 1.25rem;background:rgba(254,254,254,.957);border:1px solid rgba(255,255,255,0);border-radius:6px;font-size:.95rem;font-weight:400;color:#0f0101;display:inline-block;max-width:fit-content}.hero-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.btn{display:inline-block;padding:.75rem 1.5rem;border-radius:4px;font-weight:400;text-decoration:none;background:rgba(255,255,255,5%);border:1px solid rgba(255,255,255,.15);transition:all .2s ease;font-size:.95rem;letter-spacing:.01em}.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,8%);border-color:rgba(255,255,255,.25)}.btn-secondary{background:0 0}.hero-links{margin-top:1.5rem;font-size:.95rem;opacity:.75;display:flex;gap:.75rem;flex-wrap:wrap}.hero-links a{text-decoration:none;transition:opacity .2s ease}.hero-links a:hover{opacity:1}.section{max-width:1200px;margin:0 auto;padding:4rem 1.5rem;border-top:1px solid rgba(255,255,255,8%)}.section:first-of-type{border-top:none;padding-top:0}.section h2{margin-bottom:2.5rem;font-size:1.5rem;font-weight:400;letter-spacing:-.01em;text-transform:uppercase;font-size:.875rem;letter-spacing:.15em;opacity:.7}.cards{display:flex;flex-direction:column;gap:3rem}.card{display:block;text-decoration:none;transition:opacity .2s ease;padding-left:0;border-left:2px solid transparent;padding-left:2rem}.card:hover{opacity:.8;border-left-color:rgba(255,255,255,.3)}.card h3{margin-top:0;margin-bottom:.75rem;font-size:1.5rem;font-weight:400;letter-spacing:-.01em}.card p{margin:0;opacity:.75;line-height:1.7;font-size:1rem;font-weight:300;max-width:70ch}.content{line-height:1.8;font-size:1.05rem;max-width:70ch}.content .project-block,.research-content .project-block{max-width:1400px!important;width:100%!important;margin-left:auto;margin-right:auto}.research-content{max-width:1400px!important;width:100%}.research-intro{max-width:1400px;width:100%;margin-bottom:3rem}.research-intro>p{font-size:1.15rem;line-height:1.75;opacity:.85;margin-bottom:0}.research-intro h2{margin-top:2rem;margin-bottom:1.5rem;font-size:1.3rem;font-weight:400;letter-spacing:-.01em}.research-intro h2:first-child{margin-top:0}.research-intro ul,.research-intro ol{margin:1rem 0;padding-left:1.5rem}.research-intro ul li,.research-intro ol li{margin-bottom:.75rem;line-height:1.7;opacity:.9}.research-image-full{max-width:1400px;width:100%;margin-top:4rem;margin-bottom:2rem}.research-image-full img{width:100%;height:auto;border-radius:14px;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 25px rgba(0,0,0,.18);display:block;object-fit:contain}.research-image-full .figcaption{margin-top:.75rem;font-size:.9rem;line-height:1.4;opacity:.8;text-align:center;max-width:100%;margin-left:auto;margin-right:auto}.content h1{font-size:2.2rem;font-weight:400;letter-spacing:-.02em;line-height:1.2;margin-top:0;margin-bottom:1.5rem;color:rgba(255,255,255,.98)}.content h1 a{text-decoration:none;color:inherit;transition:opacity .2s ease}.content h1 a:hover{opacity:.7}.content>p:first-of-type{font-size:1.15rem;line-height:1.75;opacity:.85;margin-bottom:3rem;max-width:70ch}.content h2{margin-top:3rem;margin-bottom:1.5rem;font-size:1.3rem;font-weight:400;letter-spacing:-.01em}.content h2:first-child{margin-top:0}.content h3{margin-top:2rem;margin-bottom:1rem;font-size:1.5rem;font-weight:400;letter-spacing:-.01em;line-height:1.3;color:rgba(255,255,255,.95)}@media(max-width:800px){.hero{padding:3rem 1.5rem}.hero-grid{grid-template-columns:1fr;gap:3rem;text-align:left}.hero-photo{max-width:240px;margin:0 auto}.hero-photo img{max-width:100%}.section{padding:3rem 1.5rem}.cards{gap:2.5rem}.card{padding-left:1.5rem}}.portfolio-categories{display:flex;flex-direction:column;gap:4rem;margin-top:2rem}.portfolio-category{border-bottom:1px solid rgba(255,255,255,8%);padding-bottom:3rem}.portfolio-category:last-child{border-bottom:none;padding-bottom:0}.portfolio-category-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.5rem 0;transition:opacity .2s ease}.portfolio-category-header:hover{opacity:.8}.portfolio-category-title{font-size:1.75rem;font-weight:400;letter-spacing:-.01em;margin:0;text-transform:none}.portfolio-category-toggle{font-size:2rem;font-weight:300;line-height:1;transition:transform .3s ease;opacity:.7}.portfolio-category-carousel.expanded .portfolio-category-toggle{transform:rotate(45deg)}.portfolio-category-description{margin:0 0 1.5rem;opacity:.7;font-size:1rem;font-weight:300;font-style:italic}.portfolio-category-carousel{position:relative;max-width:1e3px;margin:0 auto;max-height:0;overflow:hidden;opacity:0;transition:max-height .5s ease,opacity .5s ease,margin .5s ease}.portfolio-category-carousel.expanded{max-height:2e3px;opacity:1;margin-top:2rem;margin-bottom:0}.portfolio-category-carousel.expanded .portfolio-category-toggle{transform:rotate(45deg)}.portfolio-carousel-track{display:flex;overflow:hidden;border-radius:8px;background:rgba(255,255,255,2%)}.portfolio-carousel-slide{min-width:100%;opacity:0;transition:opacity .6s ease-in-out;display:none}.portfolio-carousel-slide.active{opacity:1;display:block}.portfolio-carousel-slide img{width:100%;height:auto;display:block;object-fit:contain;max-height:80vh;border-radius:8px;margin:0 auto}.portfolio-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:100%;display:flex;justify-content:space-between;pointer-events:none;padding:0 1rem}.portfolio-carousel-btn{pointer-events:all;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.9);width:48px;height:48px;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px)}.portfolio-carousel-btn:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);transform:scale(1.05)}.portfolio-carousel-btn:active{transform:scale(.95)}.portfolio-carousel-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem;flex-wrap:wrap}.portfolio-carousel-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;transition:all .3s ease;padding:0}.portfolio-carousel-dot.active{background:rgba(255,255,255,.8);width:24px;border-radius:4px}.portfolio-carousel-dot:hover{background:rgba(255,255,255,.5)}.portfolio-link{text-align:center;margin-top:3rem}@media(max-width:800px){.portfolio-categories{gap:3rem}.portfolio-category{padding-bottom:2rem}.portfolio-carousel-nav{padding:0 .5rem}.portfolio-carousel-btn{width:40px;height:40px;font-size:1.25rem}}.publications-loading{text-align:center;padding:2rem;opacity:.7}#publications-container{margin-top:2rem}.publications-category{margin-bottom:3.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,8%)}.publications-category:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.publications-category-title{font-size:1.1rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;margin:0 0 2rem;opacity:.8}.publications-list{display:flex;flex-direction:column;gap:1.25rem}.publication-item{padding:.75rem 0}.publication-citation{margin:0;line-height:1.8;font-size:1rem;font-weight:300;color:rgba(255,255,255,.9)}.publication-citation em{font-style:italic;color:rgba(255,255,255,.95)}.publication-citation strong{font-weight:600;color:#fff}.publication-citation a{color:rgba(255,255,255,.8);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);transition:all .2s ease}.publication-citation a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.4)}.publication-download{margin-left:1rem;font-size:.9rem;color:rgba(255,255,255,.7);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);transition:all .2s ease}.publication-download:hover{color:rgba(255,255,255,.9);border-bottom-color:rgba(255,255,255,.4)}.publication-download::before{content:"📄 ";margin-right:.25rem}#publications-container code{background:rgba(255,255,255,.1);padding:.2rem .4rem;border-radius:3px;font-size:.9em;font-family:monospace}@media(max-width:800px){.publications-list{gap:1.5rem}.publication-item{padding:1rem 0}}.research-grid{max-width:1100px;margin:2rem auto;padding:0 1.5rem;display:grid;grid-template-columns:1fr 360px;gap:1.5rem;align-items:start}.research-main{padding:2rem;border-radius:18px;background:rgba(255,255,255,6%);border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 25px rgba(0,0,0,.15)}.research-aside{display:grid;gap:1rem}.figure-box{padding:1rem;border-radius:16px;background:rgba(255,255,255,4%);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 20px rgba(0,0,0,.12)}.figure-box img{width:100%;height:auto;border-radius:12px;border:1px solid rgba(255,255,255,.12)}.figure-caption{margin-top:.6rem;font-size:.9rem;line-height:1.35;opacity:.82}@media(max-width:950px){.research-grid{grid-template-columns:1fr}.research-aside{grid-template-columns:1fr}}.project-block{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:start;margin:4rem 0;padding:2.5rem;border-radius:12px;background:rgba(255,255,255,3%);border:1px solid rgba(255,255,255,8%);box-shadow:0 8px 24px rgba(0,0,0,.1);transition:all .3s ease;max-width:1400px;width:100%;box-sizing:border-box}.project-block:hover{background:rgba(255,255,255,4%);border-color:rgba(255,255,255,.12)}.project-text h2{margin-top:0;margin-bottom:1.25rem;font-size:1.5rem;font-weight:400;letter-spacing:-.015em;line-height:1.3;color:rgba(255,255,255,.95);border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:.75rem}.project-text p{opacity:.88;line-height:1.8;font-weight:300;font-size:1.05rem;margin-bottom:1.25rem}.project-text p:last-of-type{margin-bottom:0}.project-text p strong{font-weight:500;opacity:.95;letter-spacing:.01em}.project-text p:has(>strong:first-child){margin-top:1.5rem;padding:1rem 1.25rem 1rem 1.5rem;border-left:3px solid rgba(255,255,255,.3);background:rgba(255,255,255,5%);border-radius:6px;font-style:italic}.project-text p:has(>strong:first-child) strong{font-style:normal;display:inline}.project-figures{display:flex;flex-direction:column;gap:1.5rem;width:100%;min-width:0;overflow:visible;align-items:stretch}.project-figure{margin:0;width:100%;min-width:0;overflow:visible;display:block;flex-shrink:0}.project-figure:first-child{margin-top:0}.project-figure img{width:100%;height:auto;max-width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 25px rgba(0,0,0,.18);display:block;object-fit:contain}.project-figure figcaption,.project-figure .figcaption{margin-top:.75rem;font-size:.9rem;line-height:1.4;opacity:.8}.project-figure figcaption strong,.project-figure .figcaption strong{font-weight:600;opacity:.95}.content ul,.content ol{margin:2rem 0;padding-left:1.5rem}.content ul li,.content ol li{margin-bottom:.75rem;line-height:1.7;opacity:.9}.content ul li strong,.content ol li strong{font-weight:500;opacity:.95}@media(max-width:950px){.project-block{grid-template-columns:1fr;padding:1.75rem;gap:2rem;margin:3rem 0}.content h1{font-size:1.85rem}.content>p:first-of-type{font-size:1.05rem}.project-text h2{font-size:1.35rem}}.lazyload,.lazyloading{opacity:0}.lazyloaded{opacity:1;transition:opacity 300ms}img.lazyload:not([src]){visibility:hidden}