﻿:root{color-scheme:light;--global-bg-color:#fff;--global-code-bg-color:rgba(181,9,172,0.05);--global-text-color:#000;--global-text-color-light:#828282;--global-theme-color:#b509ac;--global-hover-color:#b509ac;--global-hover-text-color:#fff;--global-footer-bg-color:#1c1c1d;--global-footer-text-color:#e8e8e8;--global-footer-link-color:#fff;--global-distill-app-color:#828282;--global-divider-color:rgba(0,0,0,0.1);--global-card-bg-color:#fff;--global-highlight-color:#b71c1c;--global-back-to-top-bg-color:rgba(0,0,0,0.4);--global-back-to-top-text-color:#fff;--global-newsletter-bg-color:#fff;--global-newsletter-text-color:#000;--global-tip-block:#42b983;--global-tip-block-bg:#e2f5ec;--global-tip-block-text:#215d42;--global-tip-block-title:#359469;--global-warning-block:#e7c000;--global-warning-block-bg:#fff8d8;--global-warning-block-text:#6b5900;--global-warning-block-title:#b29400;--global-danger-block:#c00;--global-danger-block-bg:#ffe0e0;--global-danger-block-text:#600;--global-danger-block-title:#c00}:root #light-toggle-system{display:inline-block}:root #light-toggle-dark{display:none}:root #light-toggle-light{display:none}:root .only-light{display:block}:root .only-dark{display:none}:root #back-to-top{color:var(--global-back-to-top-text-color);background:var(--global-back-to-top-bg-color);bottom:30px;right:30px;height:40px;width:40px;z-index:10}html[data-theme=dark]{color-scheme:dark;--global-bg-color:#1c1c1d;--global-code-bg-color:#2c3237;--global-text-color:#e8e8e8;--global-text-color-light:#828282;--global-theme-color:#2698ba;--global-hover-color:#2698ba;--global-hover-text-color:#fff;--global-footer-bg-color:#e8e8e8;--global-footer-text-color:#1c1c1d;--global-footer-link-color:#000;--global-distill-app-color:#e8e8e8;--global-divider-color:#424246;--global-card-bg-color:#212529;--global-back-to-top-bg-color:rgba(255,255,255,0.5);--global-back-to-top-text-color:#000;--global-newsletter-bg-color:#e8e8e8;--global-newsletter-text-color:#1c1c1d;--global-tip-block:#42b983;--global-tip-block-bg:#215d42;--global-tip-block-text:#beffe2;--global-tip-block-title:#e2f5ec;--global-warning-block:#e7c000;--global-warning-block-bg:#6b5900;--global-warning-block-text:#fff2af;--global-warning-block-title:#fff8d8;--global-danger-block:#c00;--global-danger-block-bg:#600;--global-danger-block-text:#ffb9b9;--global-danger-block-title:#ffe0e0}html[data-theme=dark] .only-light{display:none}html[data-theme=dark] .only-dark{display:block}html[data-theme-setting=dark] #light-toggle-system{display:none}html[data-theme-setting=dark] #light-toggle-dark{display:inline-block}html[data-theme-setting=dark] #light-toggle-light{display:none}html[data-theme-setting=dark] #back-to-top{color:var(--global-back-to-top-text-color);background:var(--global-back-to-top-bg-color)}html[data-theme-setting=light] #light-toggle-system{display:none}html[data-theme-setting=light] #light-toggle-dark{display:none}html[data-theme-setting=light] #light-toggle-light{display:inline-block}.fa-half-sun-moon{position:relative;display:inline-block;--fa-font:var(--fa-font-solid);speak:none;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:1em;height:1em}.fa-half-sun-moon::before,.fa-half-sun-moon::after{content:"";position:absolute;inset:0;top:-0.5px;bottom:-0.5px;text-align:center;line-height:1em;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);font:var(--fa-font)}.fa-half-sun-moon::before{content:"";color:var(--global-text-color);clip-path:polygon(0 0,calc(50% - 0.5px) 0,calc(50% - 0.5px) 100%,0 100%)}.fa-half-sun-moon::after{content:"";color:var(--global-text-color);clip-path:polygon(calc(50% + 0.5px) 0,100% 0,100% 100%,calc(50% + 0.5px) 100%);right:-1.5px;transform:translateX(-1px)}#light-toggle:hover .fa-half-sun-moon::before{color:var(--global-theme-color)}#light-toggle:hover .fa-half-sun-moon::after{color:var(--global-theme-color)}body{padding-bottom:70px;color:var(--global-text-color);background-color:var(--global-bg-color)}body h1,body h2,body h3,body h4,body h5,body h6{scroll-margin-top:66px}body.fixed-top-nav{padding-top:57px}body.sticky-bottom-footer{padding-bottom:0}.container{max-width:1180px}.profile img{width:100%}p,h1,h2,h3,h4,h5,h6,em,div,li,span,strong{color:var(--global-text-color)}hr{border-top:1px solid var(--global-divider-color)}table td,table th{font-size:1rem;padding:1px 1rem 1px 0}table th{font-weight:bold}a,table.table a{color:var(--global-theme-color)}a:hover,table.table a:hover{color:var(--global-theme-color);text-decoration:underline}a:hover:after :not(.nav-item.dropdown),table.table a:hover:after :not(.nav-item.dropdown){width:100%}.table-dark{background-color:rgba(0,0,0,0)}.table-dark.table-bordered{border:1px solid var(--global-divider-color)!important}blockquote{background:var(--global-bg-color);border-left:5px solid var(--global-theme-color);margin:1.5em 0;padding:1em;font-size:1.2rem}blockquote p{margin-bottom:0}blockquote.block-tip{border-color:var(--global-tip-block);background-color:var(--global-tip-block-bg)}blockquote.block-tip em,blockquote.block-tip li,blockquote.block-tip p,blockquote.block-tip strong{color:var(--global-tip-block-text)}blockquote.block-tip a,blockquote.block-tip h1,blockquote.block-tip h2,blockquote.block-tip h3,blockquote.block-tip h4,blockquote.block-tip h5,blockquote.block-tip h6{color:var(--global-tip-block-title)}blockquote.block-warning{border-color:var(--global-warning-block);background-color:var(--global-warning-block-bg)}blockquote.block-warning em,blockquote.block-warning li,blockquote.block-warning p,blockquote.block-warning strong{color:var(--global-warning-block-text)}blockquote.block-warning a,blockquote.block-warning h1,blockquote.block-warning h2,blockquote.block-warning h3,blockquote.block-warning h4,blockquote.block-warning h5,blockquote.block-warning h6{color:var(--global-warning-block-title)}blockquote.block-danger{border-color:var(--global-danger-block);background-color:var(--global-danger-block-bg)}blockquote.block-danger em,blockquote.block-danger li,blockquote.block-danger p,blockquote.block-danger strong{color:var(--global-danger-block-text)}blockquote.block-danger a,blockquote.block-danger h1,blockquote.block-danger h2,blockquote.block-danger h3,blockquote.block-danger h4,blockquote.block-danger h5,blockquote.block-danger h6{color:var(--global-danger-block-title)}.navbar{box-shadow:none;border-bottom:1px solid var(--global-divider-color);background-color:var(--global-bg-color);opacity:.95}.navbar .dropdown-menu,.btn-group.dropdown .dropdown-menu{background-color:var(--global-bg-color);border:1px solid var(--global-divider-color)}.navbar .dropdown-menu a:not(.active),.btn-group.dropdown .dropdown-menu a:not(.active){color:var(--global-text-color)}.navbar .dropdown-menu a:hover,.btn-group.dropdown .dropdown-menu a:hover{color:var(--global-hover-color)}.navbar .dropdown-menu .dropdown-divider,.btn-group.dropdown .dropdown-menu .dropdown-divider{border-top:1px solid var(--global-divider-color)!important}.dropdown-item{color:var(--global-text-color)}.dropdown-item:hover{color:var(--global-hover-color);background-color:var(--global-bg-color)}.dropdown-item.active,.dropdown-item:active{background-color:var(--global-hover-color);color:var(--global-hover-text-color)!important}.dropdown-item.active:hover,.dropdown-item:active:hover{color:var(--global-hover-text-color)}.navbar.navbar-light a:hover{text-decoration:none}.navbar.navbar-light .navbar-brand{color:var(--global-text-color)}.navbar.navbar-light .navbar-nav .nav-item .nav-link{color:var(--global-text-color)}.navbar.navbar-light .navbar-nav .nav-item .nav-link:hover{color:var(--global-hover-color)}.navbar.navbar-light .navbar-nav .nav-item.active>.nav-link{background-color:inherit;font-weight:bolder;color:var(--global-theme-color)}.navbar.navbar-light .navbar-nav .nav-item.active>.nav-link:hover{color:var(--global-hover-color)}.navbar.navbar-light .navbar-brand.social{padding-bottom:0;padding-top:0;font-size:1.7rem}.navbar.navbar-light .navbar-brand.social a img{width:1.7rem;height:1.7rem;margin-bottom:.5rem}.navbar.navbar-light .navbar-brand.social a svg{width:1.7rem;height:1.7rem;margin-bottom:.5rem}.navbar.navbar-light .navbar-brand.social a svg image{width:1.7rem;height:1.7rem}.navbar.navbar-light .navbar-brand.social a i::before{color:var(--global-text-color);transition-property:all .2s ease-in-out}.navbar.navbar-light .navbar-brand.social a:hover i::before{color:var(--global-theme-color)}.navbar-toggler .icon-bar{display:block;width:22px;height:2px;background-color:var(--global-text-color);border-radius:1px;margin-bottom:4px;transition:all .2s}.navbar-toggler .top-bar{transform:rotate(45deg);transform-origin:10% 10%}.navbar-toggler .middle-bar{opacity:0}.navbar-toggler .bottom-bar{transform:rotate(-45deg);transform-origin:10% 90%}.navbar-toggler.collapsed .top-bar{transform:rotate(0)}.navbar-toggler.collapsed .middle-bar{opacity:1}.navbar-toggler.collapsed .bottom-bar{transform:rotate(0)}#light-toggle{padding:0;border:0;background-color:inherit;color:var(--global-text-color);width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center}#light-toggle:hover{color:var(--global-hover-color)}@media(min-width:576px){#light-toggle{transform:translateY(4px)}}#search-toggle{padding:0;border:0;background-color:inherit;color:var(--global-text-color)}#search-toggle:hover{color:var(--global-hover-color)}footer.fixed-bottom{background-color:var(--global-footer-bg-color);font-size:.75rem}footer.fixed-bottom .container{color:var(--global-footer-text-color);padding-top:9px;padding-bottom:8px;text-align:center}footer.fixed-bottom a{color:var(--global-footer-link-color)}footer.fixed-bottom a:hover{color:var(--global-theme-color);text-decoration:none}footer.sticky-bottom{border-top:1px solid var(--global-divider-color);padding-top:40px;padding-bottom:40px;font-size:.9rem}footer.sticky-bottom .container{text-align:center}.reference-site{--sustainable-accent:#587361;--sustainable-accent-hover:#3f5948;background:#fff;color:#1b1b1b;font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:15px;font-weight:400;line-height:1.65;letter-spacing:.005em}.reference-site h1,.reference-site h2,.reference-site h3,.reference-site h4,.reference-site p,.reference-site li,.reference-site div,.reference-site span,.reference-site strong{color:#1b1b1b}.reference-site a{color:#1b1b1b;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color 160ms ease,opacity 160ms ease}.reference-site a:hover,.reference-site a:focus{color:#777}.reference-site .container{max-width:1180px;padding-right:45px;padding-left:45px}.site-header{padding:50px 0 20px}.site-header .navbar{min-height:0;padding:0;border:0;background:rgba(0,0,0,0);opacity:1}.site-header .site-header-inner{align-items:center}.site-header .site-identity{display:flex;flex-direction:row;align-items:center;gap:18px;margin:0;padding:0;color:#1b1b1b;line-height:1.2;text-decoration:none;white-space:nowrap}.site-header .site-name{font-size:27px;font-weight:700;letter-spacing:-0.02em}.site-header .site-tagline{margin:0;color:#686868;font-size:13px;font-weight:400;letter-spacing:.02em}.site-header .navbar-collapse{align-self:center}.site-header .navbar-nav{align-items:center;gap:26px}.site-header .navbar.navbar-light .navbar-nav .nav-item .nav-link{padding:4px 0;color:#646464;font-size:14px;font-weight:400;text-decoration:none}.site-header .navbar.navbar-light .navbar-nav .nav-item.active>.nav-link,.site-header .navbar.navbar-light .navbar-nav .nav-item .nav-link:hover{color:#111;font-weight:400}.site-header .navbar.navbar-light .navbar-nav .nav-item.active>.nav-link{border-bottom:1px solid #111}.site-main{width:100%;padding-top:52px;padding-bottom:96px}.page-shell,.home-page{width:100%}.page-heading{max-width:760px;margin-bottom:62px}.page-heading h1{margin:0 0 22px;font-size:clamp(34px,4vw,48px);font-weight:400;line-height:1.12;letter-spacing:-0.025em}.page-heading p{margin:0;color:#525252;font-size:16px;line-height:1.75}.home-intro{display:grid;grid-template-columns:minmax(250px,0.72fr) minmax(360px,1.28fr);align-items:start;gap:clamp(30px,4vw,50px);margin-bottom:110px}.home-portrait{overflow:hidden;background:#f1f1ef}.home-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center}.home-profile-card .home-position{margin:18px 0 2px;font-size:14px}.home-profile-card .home-affiliation{margin:0 0 14px;color:#666;font-size:13px}.home-profile-card .home-links{display:flex;gap:10px;margin:0;font-size:14px}.home-profile-card .home-links a{color:var(--sustainable-accent);font-weight:500}.home-profile-card .home-links a:hover,.home-profile-card .home-links a:focus{color:var(--sustainable-accent-hover)}.home-intro-copy{padding-bottom:22px}.home-intro-copy .eyebrow{margin:0 0 16px;color:#686868;font-size:14px;letter-spacing:.02em}.home-intro-copy h1{margin:0 0 26px;font-size:clamp(48px,7vw,78px);font-weight:400;line-height:.98;letter-spacing:-0.045em}.home-intro-copy .home-affiliation{margin-bottom:26px;color:#4c4c4c;font-size:16px}.home-intro-copy .home-links{display:flex;gap:10px;margin:0;font-size:15px}.content-section{padding-top:66px;border-top:1px solid #d7d7d4}.content-section+.content-section{margin-top:92px}.section-title{margin:0 0 34px;font-size:clamp(32px,4vw,46px);font-weight:400;line-height:1.12;letter-spacing:-0.025em}.section-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:30px}.section-heading-row .section-link{font-size:14px}.section-kicker{margin:0 0 38px;font-size:18px;font-weight:500;letter-spacing:.01em}.home-publications .section-title{font-size:clamp(27px,3vw,34px)}.about-section{padding-top:10px}.about-section .prose{max-width:830px;font-size:17px;line-height:1.78}.about-section .prose p{margin-bottom:1.25em}.about-section .prose blockquote{margin:40px 0 0;padding:18px 24px;border:0;border-left:2px solid var(--sustainable-accent);background:rgba(0,0,0,0);font-size:16px}.about-section .prose blockquote strong{color:var(--sustainable-accent);font-weight:700}.publication-section{padding-top:45px;border-top:1px solid #d7d7d4}.publication-section+.publication-section{margin-top:78px}.reference-publications{margin-top:0}.reference-publications ol.bibliography{margin:0;padding:0;list-style:none}.reference-publications ol.bibliography>li{margin:0;list-style:none}.publication-item{display:grid;grid-template-columns:minmax(210px,28%) 1fr;gap:clamp(26px,4vw,48px);align-items:start;padding:0 0 52px}.publication-item+.publication-item{padding-top:8px}.publication-item.is-extended-abstract{display:block;max-width:900px}.publication-item.is-extended-abstract.has-publication-image{display:grid;max-width:none}.publication-media{aspect-ratio:1.45/1;overflow:hidden;background:#f0f0ee}.publication-media img,.publication-media .publication-placeholder{width:100%;height:100%;object-fit:cover}.publication-copy{padding-top:2px}.publication-copy p{margin-bottom:9px}.publication-copy .publication-title{margin:0 0 5px;font-size:20px;font-weight:500;line-height:1.3;letter-spacing:-0.015em}.publication-copy .publication-subtitle{max-width:680px;margin-bottom:15px;color:#333;font-size:14px;line-height:1.55}.publication-copy .publication-authors{color:#555;font-size:14px;line-height:1.55}.publication-copy .publication-authors strong{font-weight:600}.publication-copy .publication-meta{display:flex;flex-wrap:wrap;gap:0 8px;margin-top:14px;font-size:14px}.publication-copy .publication-meta a{color:var(--sustainable-accent);font-weight:500}.publication-copy .publication-meta a:hover,.publication-copy .publication-meta a:focus{color:var(--sustainable-accent-hover)}.publication-copy .publication-venue{margin-right:3px;font-weight:600}.publication-copy .publication-award{margin-top:12px;font-size:14px;font-weight:500}.course-section,.workshops-section{padding-top:52px;border-top:1px solid #d7d7d4}.course-section+.course-section,.course-section+.workshops-section,.workshops-section+.course-section,.workshops-section+.workshops-section{margin-top:86px}.teaching-heading{max-width:none}.teaching-page .course-section{padding-top:34px}.teaching-page .course-section+.course-section{margin-top:44px}.teaching-page .course-heading{margin-bottom:0}.course-heading{margin-bottom:26px}.course-heading h2{margin:0 0 12px;font-size:30px;font-weight:400;letter-spacing:-0.02em}.course-heading p{margin:2px 0;color:#555;font-size:14px}.course-heading .meta-gap{margin-left:30px}.course-description{max-width:850px;margin-bottom:48px;font-size:16px}.course-description p{margin:0}.course-section>h3{margin-bottom:28px;font-size:20px;font-weight:500}.student-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}.student-project img{width:100%;aspect-ratio:4/3;object-fit:cover}.student-project-copy{padding-top:18px}.student-project-copy h4{margin:0 0 2px;font-size:18px;font-weight:500}.student-project-copy p{margin-bottom:10px;color:#555;font-size:14px;line-height:1.55}.student-project-copy .student-name{color:#1b1b1b}.text-link{font-size:14px}.workshops-section h2{margin-bottom:20px;font-size:30px;font-weight:400}.workshops-section>.prose{max-width:820px;margin-bottom:40px}.workshop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 30px}.workshop-card{margin:0}.workshop-card img{width:100%;aspect-ratio:3/2;object-fit:cover}.workshop-card figcaption{padding-top:12px;color:#3f3f3f;font-size:14px}.projects-heading{margin-bottom:46px}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:22px}.project-tile{position:relative;display:block;width:100%;overflow:hidden;aspect-ratio:16/10;border:0;background:rgba(0,0,0,0);box-shadow:none;text-decoration:none}.project-tile img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform 450ms cubic-bezier(0.2,0.65,0.3,1)}.project-tile:hover img,.project-tile:focus img{transform:scale(1.025)}.project-tile:hover .project-overlay,.project-tile:focus .project-overlay{opacity:1}.project-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:rgba(20,20,20,.66);opacity:0;text-align:center;transition:opacity 250ms ease}.project-overlay .project-tile-title,.project-overlay .project-tile-subtitle{color:#fff}.project-overlay .project-tile-title{font-size:clamp(19px,2vw,27px);font-weight:400;line-height:1.15}.project-overlay .project-tile-subtitle{max-width:320px;margin-top:10px;font-size:13px;opacity:.86}.project-detail-heading{max-width:none;margin-bottom:34px}.project-detail-heading .back-link{margin-bottom:45px;font-size:13px}.project-detail-heading h1{margin:0 0 14px;font-size:clamp(42px,6vw,70px);font-weight:400;line-height:1.03;letter-spacing:-0.04em}.project-detail-heading h2{max-width:none;margin:0;color:#4d4d4d;font-size:clamp(20px,2.4vw,28px);font-weight:400;line-height:1.4}.project-facts{max-width:none;margin-bottom:34px;font-size:14px}.project-facts p{margin:4px 0}.project-facts strong{font-weight:600}.project-facts .project-links,.project-facts .project-publication{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.project-summary{max-width:none;margin:36px 0 54px;font-size:17px;line-height:1.75}.project-summary p{margin:0}.project-hero,.project-gallery-item{margin:0}.project-hero img,.project-gallery-item img{display:block;width:100%;object-fit:cover}.project-hero figcaption,.project-gallery-item figcaption{padding-top:10px;color:#6a6a6a;font-size:12px}.project-hero{margin-bottom:70px}.project-hero img{max-height:780px}.project-body{max-width:none;margin-bottom:62px;font-size:16px;line-height:1.78}.project-body h2{margin:52px 0 14px;font-size:26px;font-weight:500}.project-pre-video-sections{margin-top:64px}.project-pre-video-section+.project-pre-video-section{margin-top:76px}.project-pre-video-section>h2{margin:0 0 24px;font-size:28px;font-weight:500;letter-spacing:-0.02em}.project-pre-video-image{margin:0}.project-pre-video-image img{display:block;width:100%;height:auto;object-fit:contain}.project-pre-video-image figcaption{padding-top:10px;color:#666;font-size:13px}.project-pre-video-sections+.project-videos{margin-top:42px}.project-videos{margin-top:76px}.project-videos>h2,.project-gallery-set>h2{margin:0 0 24px;font-size:28px;font-weight:500;letter-spacing:-0.02em}.project-video-grid{display:grid;gap:36px}.project-video-item{margin:0}.project-video-item figcaption{padding-top:10px;color:#666;font-size:13px}.project-video-frame{position:relative;overflow:hidden;aspect-ratio:16/9;background:#111}.project-video-frame iframe,.project-video-frame video{width:100%;height:100%;border:0}.project-video-frame video{display:block;object-fit:contain}.publication-video-preview{margin-top:15px}.publication-video-preview summary{width:fit-content;cursor:pointer;font-size:14px;text-decoration:underline;text-underline-offset:3px}.publication-video-preview .project-video-frame{margin-top:14px}.project-gallery-sets{margin-top:76px}.project-videos+.project-gallery-sets{margin-top:30px}.project-gallery-set{margin-top:0;padding-top:0;border-top:0}.project-gallery-set+.project-gallery-set{margin-top:90px}.project-gallery-stage{margin:0}.project-gallery-stage .project-gallery-media{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,1040px);margin:0 auto}.project-gallery-stage img{display:block;width:auto;max-width:100%;max-height:min(68vh,760px);height:auto;object-fit:contain}.project-gallery-stage figcaption{width:min(100%,1040px);min-height:34px;margin:0 auto;padding:9px 0 0;background:#fff;color:#666;font-size:13px}.project-gallery-arrow{position:absolute;top:0;bottom:0;width:18%;padding:0;border:0;background:rgba(0,0,0,0);color:#fff;cursor:pointer;opacity:0;transition:opacity 160ms ease,background 160ms ease}.project-gallery-arrow span{color:#fff;font-size:clamp(42px,6vw,72px);font-weight:300;line-height:1;text-shadow:0 1px 12px rgba(0,0,0,.45)}.project-gallery-arrow.is-previous{left:0;text-align:left;padding-left:18px}.project-gallery-arrow.is-next{right:0;text-align:right;padding-right:18px}.project-gallery-arrow:hover,.project-gallery-arrow:focus-visible{background:linear-gradient(to right,rgba(0,0,0,0.18),transparent);opacity:1}.project-gallery-arrow.is-next:hover,.project-gallery-arrow.is-next:focus-visible{background:linear-gradient(to left,rgba(0,0,0,0.18),transparent)}.project-gallery-media:hover .project-gallery-arrow{opacity:.8}.project-gallery-thumbnails{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(78px,110px);gap:8px;width:min(100%,1040px);margin:0 auto;overflow-x:auto;padding:30px 0 0;scrollbar-width:none}.project-gallery-thumbnails::-webkit-scrollbar{display:none}.project-gallery-thumbnail{padding:0 0 5px;border:0;border-bottom:2px solid rgba(0,0,0,0);background:rgba(0,0,0,0);cursor:pointer;opacity:.32;transition:opacity 160ms ease,border-color 160ms ease}.project-gallery-thumbnail img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.project-gallery-thumbnail:hover,.project-gallery-thumbnail:focus-visible,.project-gallery-thumbnail.is-active{opacity:1}.project-gallery-thumbnail.is-active{border-bottom-color:#1b1b1b}.project-image-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 24px}.project-gallery-item.is-full{grid-column:1/-1}.project-gallery-item img{display:block;width:100%;max-height:66vh;aspect-ratio:4/3;object-fit:contain}.project-gallery-item.is-full img{aspect-ratio:16/9}.reference-site footer.sticky-bottom{padding:28px 0;border-top:1px solid #dededb;font-size:12px}@media(max-width:767px){.reference-site .container{padding-right:33px;padding-left:33px}.site-header{padding-top:32px}.site-header .site-header-inner{align-items:center}.site-header .site-identity{gap:9px}.site-header .site-name{font-size:21px}.site-header .site-tagline{font-size:11px}.site-header .navbar-toggler{margin-left:auto;padding:8px 0 8px 16px;border:0}.site-header .navbar-collapse{flex-basis:100%;margin-top:20px}.site-header .navbar-nav{gap:4px;padding:12px 0;border-top:1px solid #dededb}.site-header .navbar.navbar-light .navbar-nav .nav-item.active>.nav-link{border:0}.site-main{padding-top:30px;padding-bottom:70px}.project-gallery-stage img{max-height:58vh}.project-gallery-thumbnails{grid-auto-columns:minmax(66px,88px);gap:7px}.home-intro{grid-template-columns:1fr;gap:32px;margin-bottom:72px}.about-section{padding-top:0}.publication-item{grid-template-columns:1fr;gap:22px;padding-bottom:54px}.publication-media{aspect-ratio:16/10}.student-project-grid,.workshop-grid,.project-gallery,.project-image-gallery{grid-template-columns:1fr}.project-overlay{top:auto;min-height:42%;justify-content:flex-end;background:linear-gradient(to top,rgba(15,15,15,0.78),transparent);opacity:1}.project-tile{background:#171917}.project-tile img{opacity:.76}.project-gallery-item.is-full{grid-column:auto}.project-gallery-item.is-full img,.project-gallery-item img{aspect-ratio:4/3}}@media(prefers-reduced-motion:reduce){.project-tile img,.project-overlay{transition:none}}