html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:initial}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:initial}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:initial;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:initial}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}body{--circle-color1:rgba(144,207,239,.2);--circle-color2:#90cfef;--circle-color3:#6dbfff;--circle-color4:#328ef3;--circle-color5:#b88aff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0e0e0e;margin:0}.App{display:flow-root;overflow:hidden;overflow:clip}.App,.container{text-align:center}.container{box-sizing:border-box;display:block;margin:0 auto;max-width:1000px;padding:0 20px;position:relative;width:100%}.code-text{font-family:Century Gothic,CenturyGothic,Geneva,AppleGothic,sans-serif;position:absolute}.header{width:100%}@media only screen and (max-width:900px){.description-item{font-size:15px}.focus-circle{margin-left:15px}}@media only screen and (max-width:700px){.description-item{font-size:15px}.focus-circle{margin-left:15px}}@media only screen and (max-width:660px){.description-click-area,.description-item{flex-direction:column;font-size:15px}.description-click-area{gap:1.5em}.description-footer{margin-bottom:.5em}.focus-circle{margin-left:10px}}@media only screen and (max-width:460px){.description-click-area,.description-item{flex-direction:column;font-size:15px}.description-click-area{gap:1.5em}.description-footer{margin-bottom:.5em}.focus-circle{margin-left:10px}}.square-overlay{background-color:initial;border-left:1px solid #fff;border-radius:50px;border-right:1px solid #fff;height:90vw;left:50%;max-height:60vh;max-width:90vh;position:absolute;top:48vh;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:90vw}.loading{background-color:#000;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:100}.fade-out{-webkit-animation:fadeOut .5s forwards;animation:fadeOut .5s forwards}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.header{color:#f0f8ff;font-size:15px;left:5vw;margin:2em 2em 2em 0;padding-bottom:5em;position:absolute;top:0;width:90vw;z-index:1}.top-nav{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background-color:hsla(0,0%,39%,.12);border:1px solid hsla(0,0%,100%,.08);border-radius:999px;display:flex;font-family:Futura,sans-serif;gap:.4em;padding:.35em;position:fixed;right:2.5vw;top:1.6em;transition:opacity .6s ease;z-index:2}.top-nav.hidden{opacity:0;pointer-events:none}.top-nav-link{background:transparent;border:none;border-radius:999px;color:#f0f8ff;cursor:pointer;font:inherit;font-size:.85em;letter-spacing:.03em;opacity:.8;padding:.45em .9em;transition:background-color .3s ease,opacity .3s ease,color .3s ease}.top-nav-link:focus-visible,.top-nav-link:hover{background-color:var(--nav-color);color:#0e0e0e;opacity:1;outline:none}@media only screen and (max-width:1000px){.header{font-size:12px}}@media only screen and (max-width:900px){.top-nav{display:none}}@media only screen and (max-width:700px){.header{font-size:10px}}@media only screen and (max-width:460px){.header{font-size:8px}}.carousel{-webkit-animation:carousel-spin 14.4s linear infinite;animation:carousel-spin 14.4s linear infinite;margin-top:10%;-webkit-user-select:none;user-select:none;z-index:9}.carousel-line{-webkit-animation:carousel-counter-spin 14.4s linear infinite;animation:carousel-counter-spin 14.4s linear infinite}@-webkit-keyframes carousel-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes carousel-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes carousel-counter-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}@keyframes carousel-counter-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}.focus-circle{background-color:rgba(0,0,0,.3);border-radius:50%;cursor:pointer;font-size:1em;height:150px;margin-left:5px;text-align:center;-webkit-transform:scale(1);transform:scale(1);transition:background-color .5s ease-in-out,-webkit-transform 1s ease-in-out;transition:transform 1s ease-in-out,background-color .5s ease-in-out;transition:transform 1s ease-in-out,background-color .5s ease-in-out,-webkit-transform 1s ease-in-out;width:150px;z-index:10}.description-item:hover .focus-circle{background-color:var(--focus-color);font-size:1.1em}.description-column{color:#f0f8ff;font-family:Futura,sans-serif;margin:90vh 0 0;position:relative;scroll-snap-type:y proximity}.description-item{background-color:hsla(0,0%,39%,.1);border:1px solid hsla(0,0%,100%,.05);border-radius:10px;overflow:visible;padding:1em;position:relative;scroll-snap-align:center}.description-click-area,.description-item{align-items:center;display:flex;justify-content:space-between}.description-click-area{cursor:pointer;outline:none;width:100%}.description-click-area:focus-visible{border-radius:10px;box-shadow:0 0 0 2px hsla(0,0%,100%,.4)}.description-text{flex:1 1}.description-footer{margin-top:.9em}.description-cta{font-size:.85em;font-weight:700;letter-spacing:.04em;opacity:.85;transition:opacity .3s ease}.description-cta-arrow{display:inline-block;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.description-item:hover .description-cta{opacity:1}.description-item:hover .description-cta-arrow{-webkit-transform:translateX(4px);transform:translateX(4px)}.dotted-line{margin-left:50%;opacity:.5;-webkit-transform:translate(-50%);transform:translate(-50%);z-index:-1}.dotted-line-p1{border-left:2px dotted #fff;height:10vh;left:50%;position:relative}.circle-start{background-color:initial;border:1px solid #fff;border-radius:50%;height:20px;left:50%;margin-left:1px;position:relative;top:10px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:20px}.dotted-line-p2{border-right:2px dotted #fff}.dotted-line-p2,.dotted-line-p2-reverse{border-bottom:2px dotted #fff;border-top:2px dotted #fff;height:20vh;left:50%;margin-bottom:2px;margin-top:2px;position:relative;top:100%;width:20vh}.dotted-line-p2-reverse{border-left:2px dotted #fff;margin-left:2px;-webkit-transform:translate(-100%);transform:translate(-100%)}.dotted-line-p3,.dotted-line-p3-reverse{border-right:2px dotted #fff;height:10vh;position:relative;right:50%;top:100%}.circle-end{background-color:initial;border:1px solid #fff;border-radius:50%;height:20px;left:50%;margin-left:1px;margin-top:10px;position:absolute;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:20px}.description-end{align-items:center;border:1px solid hsla(0,0%,100%,.2);display:flex;justify-content:center;margin-left:auto;margin-right:auto;min-height:2vh;width:40%}.contact-title{font-weight:700;margin:0 0 .4em}.contact-links{font-size:.9em;margin:0}.contact-separator{margin:0 .6em;opacity:.6}.contact-link{border-bottom:1px dotted hsla(0,0%,100%,.5);color:inherit;text-decoration:none;transition:border-color .3s ease}.contact-link:hover{border-bottom-color:#fff}@media only screen and (max-width:660px){.description-end{width:80%}}.blank-space{margin-bottom:35%}.threejs-background{overflow:hidden;width:100%}.page,.threejs-background{height:100vh;left:0;position:fixed;top:0}.page{color:#fff;height:100dvh;width:100vw}.page-exit-button{background:transparent;border:none;cursor:pointer;font-size:2rem;position:absolute;right:3rem;top:1rem}@media only screen and (max-width:600px){.page-exit-button{right:5px}}.neuro-page{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:100vh;height:100dvh;padding-bottom:10px}.neuro-header{position:relative;top:-.5vh}.neuro-header h1{margin-bottom:.3em}.education-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:8px;width:min(1000px,92vw)}.education-card{background-color:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1);border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.2);font-size:14px;line-height:1.4;padding:12px 16px;text-align:left}.education-top{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.education-card h3{font-size:1.15em;margin:0}.education-result{background-color:hsla(0,0%,100%,.2);border-radius:999px;font-weight:700;padding:2px 10px;white-space:nowrap}.education-card p{margin:4px 0 0}.education-detail{font-style:italic}.education-institution{opacity:.85}.education-notes{font-size:.9em;opacity:.85}.neuro-scroll{box-sizing:border-box;flex:1 1;min-height:0;overflow-y:auto;padding:4px 6px 10px;scrollbar-color:hsla(0,0%,100%,.4) transparent;scrollbar-width:thin;width:min(1000px,92vw)}.neuro-subheader{font-size:1.1em;font-weight:700;margin:12px 0 8px;text-align:center}.dissertation-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.dissertation-card{background-color:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1);border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.2);display:flex;flex-direction:column;font-size:14px;line-height:1.4;padding:12px 16px;text-align:left}.dissertation-top{align-items:baseline;display:flex;gap:10px;justify-content:space-between;margin-bottom:6px}.dissertation-type{font-size:.75em;letter-spacing:.06em;opacity:.8;text-transform:uppercase}.dissertation-card h3{font-size:1.05em;line-height:1.3;margin:0 0 4px}.dissertation-card p{margin:4px 0 0}.dissertation-summary{flex:1 1;font-size:.9em;opacity:.85}.dissertation-link{color:#fff;display:inline-block;font-size:.9em;font-weight:700;margin-top:10px;opacity:.9;text-decoration:none}.dissertation-link:hover{opacity:1;text-decoration:underline}@media only screen and (max-width:700px){.neuro-header{font-size:13px}.neuro-header h1{font-size:1.7em;margin-left:2.5em;margin-right:2.5em}.education-row{gap:8px;grid-template-columns:1fr}.neuro-scroll{padding-bottom:80px;width:94vw}.education-card{font-size:12px;padding:8px 12px}.education-notes{display:none}.dissertation-row{gap:8px;grid-template-columns:1fr}.dissertation-card{font-size:12px;padding:8px 12px}}.page-header{position:relative;top:-.7vh}.page-title{margin:20px}.projects-page{align-items:center;display:flex;flex-direction:column;justify-content:center}.project-grid{grid-gap:20px;align-items:center;bottom:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);max-height:80vh;max-height:80dvh;overflow-y:auto;padding:20px;position:relative}.project-content{bottom:20px;left:0;position:absolute;width:100%;z-index:2}.project-content,.project-item{align-items:center;display:flex;flex-direction:column}.project-item{background-color:#fff;border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.3);color:#fff;height:250px;max-width:500px;overflow:hidden;padding:20px;position:relative;width:40vw}.project-image{border-radius:10px;height:100%;object-fit:cover;top:0;z-index:0}.project-image,.project-item:after{left:0;position:absolute;width:100%}.project-item:after{background:rgba(0,0,0,.6);border-bottom-left-radius:10px;border-bottom-right-radius:10px;bottom:0;content:"";height:60%;z-index:1}.project-button-container,.project-description,.project-title{position:relative;z-index:2}.project-title{font-weight:700;margin:-10px 0}.project-description{margin-bottom:20px;text-align:center}.project-button-container{display:flex;justify-content:space-around;width:100%}.project-item a,.project-item button{border:none;border-radius:5px;color:#fff;cursor:pointer;font:inherit;padding:10px 15px;text-decoration:none;transition:color .3s ease}.project-item a:hover,.project-item button:hover{color:#000}.project-item.has-study{cursor:pointer;transition:box-shadow .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease,-webkit-transform .3s ease}.project-item.has-study:focus-visible,.project-item.has-study:hover{box-shadow:0 10px 20px rgba(0,0,0,.35);outline:none;-webkit-transform:translateY(-4px);transform:translateY(-4px)}.project-open-hint{background-color:hsla(0,0%,100%,.9);border-radius:999px;color:#0e0e0e;font-size:.75em;opacity:0;padding:4px 10px;position:absolute;right:12px;top:12px;-webkit-transform:translateX(6px);transform:translateX(6px);transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease;transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease;z-index:2}.project-item.has-study:focus-visible .project-open-hint,.project-item.has-study:hover .project-open-hint{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}.project-badge{background-color:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.25);border-radius:999px;font-size:.75em;left:12px;letter-spacing:.03em;padding:4px 10px;position:absolute;top:12px;z-index:2}@media (max-width:600px){.page-header{font-size:25px;padding:5px}.project-grid{grid-template-columns:1fr}.project-item{width:80vw}.project-grid{padding-bottom:80px}}.case-study{display:flex;justify-content:center;width:100vw}.case-scroll{background-color:rgba(0,0,0,.55);border:1px solid hsla(0,0%,100%,.1);border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.3);box-sizing:border-box;color:#fff;line-height:1.55;margin-top:1rem;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.5rem 2rem 2.5rem;scrollbar-color:hsla(0,0%,100%,.3) transparent;scrollbar-width:thin;text-align:left;width:min(900px,92vw)}.case-back{background-color:#fff;border:none;border-radius:5px;cursor:pointer;font-weight:700;padding:8px 14px;transition:opacity .3s ease}.case-back:hover{opacity:.85}.case-header h1{font-size:1.9em;margin:1rem 0 .25rem}.case-subtitle{font-style:italic;margin:0 0 1rem;opacity:.85}.case-meta{grid-gap:.75rem 1.5rem;background-color:hsla(0,0%,100%,.08);border-radius:10px;display:grid;gap:.75rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 0 1rem;padding:1rem}.case-meta dt{font-size:.75em;letter-spacing:.08em;opacity:.7;text-transform:uppercase}.case-meta dd{margin:.15rem 0 0}.case-status{background-color:hsla(0,0%,100%,.08);border-left:3px solid hsla(0,0%,100%,.6);border-radius:0 10px 10px 0;font-size:.95em;margin:0 0 1rem;padding:.75rem 1rem}.case-section{margin-top:1.5rem}.case-section h2{border-bottom:1px solid hsla(0,0%,100%,.15);font-size:1.3em;margin:0 0 .5rem;padding-bottom:.25rem}.case-section p{margin:.5rem 0}.case-section ul{margin:.5rem 0;padding-left:1.25rem}.case-section li{margin:.25rem 0}.case-figures{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr;margin-top:1rem}.case-figures.multi{align-items:start;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.case-figure{align-items:center;background-color:hsla(0,0%,100%,.06);border-radius:10px;display:flex;justify-content:center;margin:0;overflow:hidden}.case-figure img{display:block;height:auto;max-height:70vh;object-fit:contain;width:100%}.case-caption{font-size:.8em;margin-top:.5rem!important;opacity:.7}.case-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:.75rem}.case-link{background-color:hsla(0,0%,100%,.9);border-radius:5px;color:#0e0e0e;display:inline-block;font-size:.9em;font-weight:700;padding:8px 14px;text-decoration:none;transition:opacity .3s ease}.case-link:hover{opacity:.85}.case-table-wrap{margin-top:.75rem;overflow-x:auto}.case-table{border-collapse:collapse;font-size:.9em;width:100%}.case-table td,.case-table th{border-bottom:1px solid hsla(0,0%,100%,.12);padding:.4rem .6rem;text-align:center}.case-table td:first-child,.case-table th:first-child{text-align:left}.case-table td:nth-child(2),.case-table th:nth-child(2){background-color:hsla(0,0%,100%,.1);font-weight:700}.case-table tr:last-child td{border-bottom:none;font-weight:700}.case-table td.yes{color:#9ff0b6}.case-table td.no{color:hsla(0,0%,100%,.45)}.case-credits{border-top:1px solid hsla(0,0%,100%,.15);font-size:.85em;margin-top:2rem;opacity:.8;padding-top:1rem}.case-credits p{margin:.25rem 0}@media (max-width:600px){.case-scroll{font-size:15px;margin-top:.5rem;max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem);padding:1rem 1rem 5rem;width:96vw}.case-header h1{font-size:1.5em;margin-right:2.5rem}}.lab-page{align-items:center;display:flex;flex-direction:column}.lab-page .page-title{max-width:800px}.lab-scroll{box-sizing:border-box;max-height:78vh;max-height:78dvh;overflow-y:auto;padding:4px 8px 20px;scrollbar-color:hsla(0,0%,100%,.4) transparent;scrollbar-width:thin;width:min(1040px,94vw)}.lab-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.lab-card{background-color:rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1);border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.2);display:flex;flex-direction:column;font-size:14px;line-height:1.45;padding:16px 20px;text-align:left}.lab-card h3{font-size:1.15em;margin:0 0 8px}.lab-card ul{flex:1 1;margin:0 0 12px;padding-left:1.2em}.lab-card li{margin:4px 0}.lab-tags{display:flex;flex-wrap:wrap;gap:6px}.lab-tag{background-color:hsla(0,0%,100%,.18);border:1px solid hsla(0,0%,100%,.2);border-radius:999px;font-size:.8em;padding:3px 10px;white-space:nowrap}.lab-spotlight{align-items:center;background-color:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.25);border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,.2);display:flex;font-size:14px;gap:20px;justify-content:space-between;line-height:1.45;margin-bottom:16px;padding:16px 20px;text-align:left}.lab-spotlight-label{font-size:.75em;letter-spacing:.1em;opacity:.8;text-transform:uppercase}.lab-spotlight h3{font-size:1.15em;margin:2px 0 6px}.lab-spotlight p{margin:0}.lab-spotlight-button{border:none;border-radius:5px;box-shadow:0 2px 6px rgba(0,0,0,.25);color:#fff;cursor:pointer;flex-shrink:0;font:inherit;font-weight:700;padding:12px 18px;transition:color .3s ease,-webkit-transform .3s ease;transition:color .3s ease,transform .3s ease;transition:color .3s ease,transform .3s ease,-webkit-transform .3s ease}.lab-spotlight-button:hover{color:#000;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.lab-credit{font-size:11px;line-height:1.5;margin:14px 4px 0;opacity:.75;text-align:left}.lab-credit a{color:inherit;text-decoration:underline}@media (max-width:700px){.lab-grid{gap:10px;grid-template-columns:1fr}.lab-card,.lab-spotlight{font-size:13px;padding:12px 14px}.lab-spotlight{align-items:stretch;flex-direction:column;gap:12px}.lab-scroll{max-height:74vh;max-height:74dvh;padding-bottom:80px}.lab-page .page-header{font-size:25px;padding:5px 50px}.lab-page .page-title{font-size:13px;margin:10px 20px}}