.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.block{display:block}.h-96{height:24rem}.h-\[440px\]{height:440px}.h-full{height:100%}.w-full{width:100%}.overflow-hidden{overflow:hidden}.rounded-xl{border-radius:.75rem}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}html{font-family:var(--font-fredoka);overflow-x:hidden;box-sizing:border-box}*,:after,:before{box-sizing:inherit}body,html{margin:0;overflow-x:hidden}.navbar{position:fixed;top:0;left:0;width:100%;margin:10px;padding:10px;z-index:1000;background-color:transparent}.navbar a,footer{text-decoration:none;color:#636363;font-size:14px}footer{text-align:left;padding:10px;position:fixed;bottom:0;left:10px;width:100%;z-index:5000}ol,ul{list-style-type:none;padding-left:0;margin-left:0;margin-bottom:5px}ul a{color:#636363;text-decoration:none}ul a.active{text-decoration:underline}.mobile-only{display:none}#container{width:100%;display:flex;justify-content:center;height:500px}img{padding:30px}.about-text{padding-left:20px;padding-right:20px;text-align:left;font-size:14px;max-width:100%}.links-container{width:90%;max-width:1500px;display:flex;justify-content:center;align-items:center;flex-direction:row;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:17px;z-index:1000;flex-wrap:wrap;line-height:.8;gap:0 10px;padding:0 20px}.text-link{text-decoration:none;color:#686868}#image-preview{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;background-size:contain;background-repeat:no-repeat;background-position:50%;pointer-events:none;z-index:1}.text-item{padding:5px 0;position:relative;z-index:2000;white-space:nowrap;transition:opacity .3s ease;font-size:16px}.text-item.filtered{opacity:.3}sup{font-size:8px}#portfolio{color:#636363;text-decoration:underline;display:inline-block}.text-link:hover{color:#000}#image-preview:hover,.text-item:hover+#image-preview{display:block}.filter-buttons{position:fixed;top:20px;right:20px;z-index:3000}.filter-btn{background:none;border:none;color:#acabab;font-family:var(--font-fredoka);font-size:14px;margin-left:20px;cursor:pointer;padding:5px 10px;transition:color .3s ease}.filter-btn.active,.filter-btn:hover{color:#000}.hamburger-menu{display:none}.about-layout{display:flex;flex-direction:column;min-height:100vh}.about-left{width:100%;height:100vh;position:relative;padding-top:0}.about-left,.profile-container{display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:transparent}.profile-container{text-align:center;max-width:800px;margin:0 auto;padding:20px;height:calc(100vh - 120px)}.profile-container img{max-height:60vh;width:auto;object-fit:contain;margin:0 auto;display:block;padding:0!important}.about-text{margin:20px auto;font-size:16px;line-height:1.6;color:#636363;text-align:center;max-width:720px}.keep-together{white-space:nowrap}.mobile-about-title,.mobile-work-subtitle,.mobile-work-title{display:none}.resume-section{width:100%;max-width:1000px;margin:0 auto;padding:40px 0 100px;display:flex;gap:40px;background-color:transparent}.resume-column{flex:1}.resume-column-left{padding-right:20px}.resume-column-right{padding-left:20px}.resume-name{font-size:12px;margin-bottom:10px;color:#636363}.resume-contact{font-size:12px;margin-bottom:30px;color:#636363}.resume-section-title{margin-top:30px;margin-bottom:15px;border-bottom:1px solid #d0d0d0;padding-bottom:5px;text-transform:uppercase}.header-text,.resume-section-title{font-size:12px;font-weight:400;color:#000}.header-text.time{color:grey}.education-item,.experience-item,.honors-item{margin-bottom:20px}.education-header,.experience-header,.honors-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}.education-item p,.experience-item p,.honors-item p,.skills-text{font-size:12px;margin:3px 0;color:#b0b0b0;line-height:1.1}.project-detail{min-height:100vh;display:flex;flex-direction:column}.project-initial-view{height:calc(100vh - 80px);padding:40px;max-width:1400px;margin:0 auto;display:flex;flex-direction:column}.project-detail-title{text-align:center;font-size:16px;color:#000;font-weight:400;margin-bottom:20px}.project-detail-content{flex:1;display:flex;flex-direction:column;height:calc(100% - 44px)}.project-image-container{position:relative;width:100%;height:90%;display:flex;justify-content:center;align-items:center;margin-bottom:20px;aspect-ratio:16/9;max-height:calc(100vh - 200px);cursor:default}.project-detail-image{max-width:80%;max-height:100%;width:auto;height:auto;object-fit:contain;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-caption-wrapper{position:relative;text-align:center;height:10%}.project-caption{text-align:center;color:#636363;font-size:14px;line-height:1.6;max-width:800px;margin:0 auto;padding:0 10px;overflow-y:auto}.scroll-arrow{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);color:#c2c2c2}.project-full-description{padding:80px 40px;max-width:70%;margin:0 auto;color:#636363;position:relative}.project-full-title{font-size:48px;color:#000;font-weight:300;margin-bottom:80px;text-align:center;text-transform:uppercase;font-family:var(--font-spectral)}.project-full-content{display:grid;grid-template-columns:1fr 1fr;align-items:start;max-width:1200px;margin:0 auto 60px}.project-details-list{font-size:14px;line-height:1.6;position:sticky;top:40px;margin:0;padding:0;justify-self:end;width:100%}.detail-item{margin-bottom:20px}.detail-item:first-child{margin-top:0}.detail-label{color:#000;margin-bottom:5px;display:block}.detail-value{color:#636363;white-space:pre-line}.project-full-text{font-size:14px;line-height:1.8;color:#636363;white-space:pre-wrap;margin:0;padding:0;width:100%}.project-full-text p{margin:0;padding:0}@media (max-width:768px){.project-full-content{grid-template-columns:1fr;gap:40px}}.nav-button{position:absolute;top:50%;transform:translateY(-50%);font-size:40px;color:rgba(0,0,0,.3);cursor:pointer;opacity:0;transition:opacity .3s ease;z-index:2;user-select:none}.nav-button:hover{color:#000}.nav-button.prev{left:-60px}.nav-button.next{right:-60px}.project-image-container:hover .nav-button{opacity:1}@media (max-width:768px){.project-detail{padding:0!important;margin:0!important;border:none!important;outline:none!important}.nav-button{position:absolute;top:50%;transform:translateY(-50%);font-size:30px;color:rgba(0,0,0,.5);cursor:pointer;opacity:1;transition:opacity .3s ease;z-index:2;user-select:none}.nav-button.prev{left:10px}.nav-button.next{right:10px}.project-initial-view{padding:60px 20px 20px;height:auto;min-height:100vh;margin:0}.project-detail-title{text-align:left;margin-bottom:30px}.project-detail-content{height:auto;margin-bottom:0;padding-bottom:0}.project-image-container{width:100%;height:60vh;margin:0 0 30px;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;border:none;outline:none}.project-detail-image{max-width:95vw!important;max-height:95%!important;width:auto!important;height:auto!important;object-fit:contain!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.project-caption-wrapper{height:auto;min-height:0;padding:10px 0}.project-caption{text-align:left;margin:0;padding:0 20px}.scroll-arrow{display:none}.project-full-description{padding:40px 0!important;max-width:100%!important;margin:0 auto!important}.project-full-title{font-size:32px!important;text-align:left!important;margin:0 20px 40px!important}.project-full-content{display:block!important;max-width:calc(100vw - 40px)!important;margin:0 20px!important;padding:0!important}.project-details-list{width:100%;margin-bottom:30px;position:static;display:block}.project-full-text{width:100%;margin:0;padding:0}}.next-project-link{position:relative;display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;padding-right:40px;margin-bottom:40px;cursor:pointer;z-index:1}.next-project-label{font-size:12px;color:grey;margin-bottom:5px;text-transform:uppercase}.next-project-title{font-size:16px;color:#000;font-weight:400}.next-project-title:hover{color:grey;transition:color .3s ease}@media (max-width:768px){.next-project-link{bottom:20px;left:20px;right:auto;margin-bottom:80px;align-items:flex-start}.links-container{position:static;display:flex;justify-content:flex-start;align-items:flex-start;transform:none;left:auto;top:auto;padding:300px 20px 100px;margin:0;flex-direction:column;min-height:calc(100vh - 160px);overflow-x:hidden}.links-container,.text-item{width:100%;max-width:100%;text-align:left;box-sizing:border-box}.text-item{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1;overflow:hidden;font-size:14px}.filter-buttons{display:none}.filter-btn{margin-left:10px}.hamburger-menu{--bar-width:16px;--bar-height:2px;--hamburger-gap:3px;--foreground:#636363;--background:#fff;--hamburger-margin:8px;--animation-timing:200ms ease-in-out;--hamburger-height:calc(var(--bar-height) * 3 + var(--hamburger-gap) * 2);--x-width:calc(var(--hamburger-height) * 1.41421356237);display:flex;flex-direction:column;gap:var(--hamburger-gap);width:max-content;position:fixed;top:20px;right:20px;z-index:4000;cursor:pointer}.hamburger-menu:has(input:checked){--foreground:#636363}.hamburger-menu input,.hamburger-menu:after,.hamburger-menu:before{content:"";width:var(--bar-width);height:var(--bar-height);background-color:var(--foreground);border-radius:9999px;transform-origin:left center;transition:opacity var(--animation-timing),width var(--animation-timing),rotate var(--animation-timing),translate var(--animation-timing),background-color var(--animation-timing)}.hamburger-menu input{appearance:none;padding:0;margin:0;outline:none;pointer-events:none}.hamburger-menu:has(input:checked):before{rotate:45deg;width:var(--x-width);translate:0 calc(var(--bar-height) / -2)}.hamburger-menu:has(input:checked):after{rotate:-45deg;width:var(--x-width);translate:0 calc(var(--bar-height) / 2)}.hamburger-menu input:checked{opacity:0;width:0}.mobile-menu-dropdown{position:fixed;top:0;left:0;width:100%;height:100vh;background:hsla(0,0%,100%,.95);z-index:3500;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-left:40px;gap:40px;opacity:0;animation:fadeIn .3s ease-in-out forwards}.mobile-menu-dropdown.closing{animation:fadeOut .3s ease-in-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.mobile-menu-item{display:block;padding:5px 0;background:none;border:none;text-align:left;font-family:var(--font-fredoka);font-size:14px;font-weight:400;color:#686868;cursor:pointer;transition:color .3s ease}.mobile-menu-item.active,.mobile-menu-item:hover{color:#000}.mobile-menu-section{display:flex;flex-direction:column;gap:10px}.mobile-menu-section-title{font-family:var(--font-fredoka);font-size:14px;font-weight:400;color:#acacac;margin:0 0 5px;padding:0}body{overflow-y:auto}body,main{min-height:100vh}main{position:static}footer{position:fixed;bottom:0;left:0;width:100%;padding:10px 20px;background-color:#fff;z-index:5000;color:#000}footer ul{display:flex;flex-direction:row;gap:20px;align-items:center;justify-content:flex-start;width:calc(100vw - 40px);margin:0}footer ul a{color:#000}footer li{margin:0}footer .instagram,footer .linkedin{display:none}.mobile-only{display:block}body.mobile-menu-open #container,body.mobile-menu-open .about-layout,body.mobile-menu-open .links-container,body.mobile-menu-open .navbar>a,body.mobile-menu-open .project-detail,body.mobile-menu-open footer,body.mobile-menu-open main{display:none!important}}.scroll-indicator{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);text-align:center;color:#636363;cursor:pointer}.scroll-arrow{font-size:20px;animation:bounce 4s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.copyright-text{font-size:12px;color:#969696;margin-top:0;text-align:center}.resume-column-right .honors-item:last-child{margin-bottom:20px}.all-projects-page{min-height:100vh;padding:80px 40px 100px}.all-projects-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:40px 60px;padding:0;align-items:start}.project-card{display:flex;gap:25px;text-decoration:none;color:inherit;transition:opacity .3s ease;align-items:stretch;margin-bottom:0;width:100%}.project-card:hover{opacity:.7}.project-image-wrapper{flex:0 0 calc(50% - 12.5px);height:auto;overflow:hidden}.project-card-image{transition:transform .3s ease;padding:0}.project-card:hover .project-card-image{transform:scale(1.05)}.project-info{flex:0 0 calc(50% - 12.5px);display:flex;flex-direction:column;justify-content:flex-end;padding:0}.project-card-title{font-size:14px;font-weight:400;color:#000;margin:0 0 8px;line-height:1.3;font-family:var(--font-fredoka)}.project-card-location{font-size:12px;color:#686868;margin:0;font-family:var(--font-fredoka)}@media (max-width:768px){.all-projects-page{padding:80px 20px 100px}.all-projects-container{grid-template-columns:1fr;gap:40px}.project-card{flex-direction:row;gap:15px}.project-image-wrapper,.project-info{flex:0 0 calc(50% - 7.5px)}.about-layout{box-sizing:border-box}.about-left{height:100vh;min-height:100vh;padding:80px 20px 40px!important;align-items:flex-start;justify-content:flex-end}.mobile-about-title,.mobile-work-title{top:80px;font-size:14px;color:#000}.mobile-about-title,.mobile-work-subtitle,.mobile-work-title{display:block;position:absolute;left:20px;font-weight:400;margin:0;font-family:var(--font-fredoka)}.mobile-work-subtitle{top:105px;font-size:12px;color:#636363}.profile-container{height:auto;max-width:100%;padding:0;align-items:flex-start;text-align:left}.profile-container img{max-height:none;width:120px;height:120px;object-fit:cover;border-radius:0;margin:0 0 20px;align-self:flex-start;padding:0!important}.about-text{margin:0 0 20px;text-align:left;max-width:100%;font-size:14px;line-height:1.5;padding:0}.copyright-text{text-align:left;margin:20px 0}.scroll-indicator{display:none}.resume-section{max-width:100%;padding:40px 20px 100px;flex-direction:column;gap:30px}.resume-column{flex:none}.resume-column-left,.resume-column-right{padding:0}.resume-section-title{text-align:left;margin-top:0;margin-bottom:15px;font-size:14px;font-weight:400;color:grey}.education-header,.experience-header,.honors-header{flex-direction:column;align-items:flex-start;gap:2px}.header-text{font-size:14px;font-weight:400;color:#000}.header-text.time{font-size:12px;font-weight:400;color:grey}.education-item p,.experience-item p,.honors-item p,.skills-text{font-size:13px;line-height:1.3;margin:2px 0}.education-item,.experience-item,.honors-item{margin-bottom:25px}}body:has(.about-layout) .navbar,body:has(.about-layout) footer{background-color:#fff}.about-left .scroll-indicator{bottom:96px;color:#969696;cursor:pointer;text-decoration:none;outline-offset:8px}.about-left .scroll-arrow{position:static;color:inherit;transform:none;animation:none;transition:color .16s ease}.about-left .scroll-indicator:focus-visible,.about-left .scroll-indicator:hover{color:#636363}.about-layout .resume-section{display:block;width:min(calc(100% - 80px),820px);max-width:820px;margin:0 auto;padding:80px 0 140px}.resume-block+.resume-block{margin-top:80px}.about-layout .resume-section-title{margin:0 0 24px;padding-bottom:8px;scroll-margin-top:96px;color:#636363;font-size:14px;line-height:1.5;letter-spacing:0}html:has(.about-layout){scroll-behavior:smooth}.about-layout .header-text{color:#636363;font-size:14px;line-height:1.5;letter-spacing:0}.about-layout .header-text.time{color:grey}.about-layout .education-item,.about-layout .honors-item{margin-bottom:28px}.about-layout .education-item:last-child,.about-layout .honors-item:last-child{margin-bottom:0}.about-layout .education-item p,.about-layout .honors-item p{color:#969696;font-size:14px;line-height:1.5;letter-spacing:0}@media (max-width:768px){.about-layout .resume-section{width:auto;margin:0 20px;padding:56px 0 120px}.resume-block+.resume-block{margin-top:56px}.about-layout .resume-section-title{margin-bottom:20px}.about-layout .education-item p,.about-layout .header-text,.about-layout .honors-item p,.about-layout .resume-section-title{font-size:14px;line-height:1.5}}body:has(.ascii-home),html:has(.ascii-home){width:100%;height:100%;overflow:hidden;background:#f4f4ee}body:has(.ascii-home) .navbar,body:has(.ascii-home) footer{background:transparent}.ascii-gallery,.ascii-home{position:relative;width:100%;height:100svh;min-height:620px;overflow:hidden;background:#f4f4ee;color:#262724}.ascii-gallery-stage,.ascii-image-layer,.ascii-image-layer canvas,.ascii-image-layer img{position:absolute;inset:0;width:100%;height:100%}.ascii-gallery-stage{z-index:0;overflow:hidden;background:#f4f4ee}.ascii-image-layer{transform:scale(1.012);transform-origin:center;will-change:opacity,transform}.ascii-image-layer.is-active{z-index:2;animation:ascii-layer-enter .76s cubic-bezier(.22,1,.36,1) both}.ascii-image-layer.is-leaving{z-index:1;animation:ascii-layer-leave .76s cubic-bezier(.22,1,.36,1) both}.ascii-image-layer img{padding:0;object-fit:cover;filter:saturate(.72) contrast(.94) brightness(1.08);opacity:.19}.ascii-image-layer canvas{display:block;mix-blend-mode:multiply}.ascii-gallery:after{position:absolute;inset:0;z-index:3;background:linear-gradient(270deg,hsla(60,21%,95%,.96) 0,hsla(60,21%,95%,.9) min(29vw,350px),hsla(60,21%,95%,0) min(52vw,720px)),linear-gradient(180deg,hsla(60,21%,95%,.82) 0,hsla(60,21%,95%,.04) 20%,hsla(60,21%,95%,.02) 68%,hsla(60,21%,95%,.82));content:"";pointer-events:none}.ascii-project-meta{position:absolute;bottom:98px;left:20px;z-index:20;display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:min(720px,calc(100vw - 420px));color:#262724;pointer-events:none}.ascii-project-kicker{display:flex;flex-wrap:wrap;gap:8px 18px;color:#585954;font-size:11px;line-height:1.35}.ascii-project-meta h1{max-width:15ch;margin:0;font-family:var(--font-spectral);font-size:clamp(42px,5.4vw,84px);font-weight:300;line-height:.94;letter-spacing:0;text-wrap:balance}.ascii-project-meta p{max-width:54ch;margin:0;color:#4a4b46;font-size:13px;line-height:1.45}.ascii-project-meta a{position:relative;color:#262724;font-size:13px;line-height:1.3;pointer-events:auto;text-decoration:none}.ascii-project-meta a:after{position:absolute;right:0;bottom:-3px;left:0;height:1px;background:currentColor;content:"";transform:scaleX(.32);transform-origin:left;transition:transform .22s cubic-bezier(.22,1,.36,1)}.ascii-project-meta a:focus-visible:after,.ascii-project-meta a:hover:after{transform:scaleX(1)}.ascii-project-index{position:absolute;top:76px;right:20px;bottom:42px;z-index:20;display:flex;flex-direction:column;width:min(330px,29vw);min-width:260px;color:#393a36;mask-image:linear-gradient(180deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent)}.ascii-index-heading{display:flex;justify-content:space-between;align-items:baseline;padding:0 0 8px;border-bottom:1px solid rgba(50,51,47,.24);color:#585954;font-size:10px;line-height:1.3}.ascii-index-sort{display:flex;gap:12px;align-items:baseline}.ascii-index-sort button{position:relative;padding:0;border:0;background:transparent;color:rgba(88,89,84,.52);font:inherit;line-height:inherit;cursor:pointer;transition:color .16s ease}.ascii-index-sort button:after{position:absolute;right:0;bottom:-9px;left:0;height:1px;background:#393a36;content:"";opacity:0;transform:scaleX(.45);transition:opacity .16s ease,transform .2s cubic-bezier(.22,1,.36,1)}.ascii-index-sort button.is-active,.ascii-index-sort button:focus-visible,.ascii-index-sort button:hover{color:#393a36}.ascii-index-sort button:focus-visible{outline:1px solid rgba(57,58,54,.65);outline-offset:3px}.ascii-index-sort button.is-active:after{opacity:1;transform:scaleX(1)}.ascii-project-index ol{min-height:0;margin:0;overflow-x:hidden;overflow-y:auto;scrollbar-color:rgba(50,51,47,.28) transparent;scrollbar-width:thin}.ascii-project-index li{position:relative;margin:0}.ascii-index-row{display:grid;grid-template-columns:38px minmax(0,1fr) 14px;gap:8px;align-items:baseline;width:100%;min-height:34px;padding:8px 0;border:0;border-bottom:1px solid rgba(50,51,47,.14);background:transparent;color:rgba(57,58,54,.56);font-family:var(--font-fredoka);text-align:left;text-decoration:none;cursor:pointer;transition:color .18s ease,opacity .18s ease}.ascii-index-row.is-active,.ascii-index-row:focus-visible,.ascii-index-row:hover{color:#232421}.ascii-index-row:focus-visible{outline:1px solid rgba(35,36,33,.72);outline-offset:-1px}.ascii-index-category,.ascii-index-number{font-size:9px;line-height:1.3}.ascii-index-title{overflow:hidden;font-size:11px;line-height:1.35;text-overflow:ellipsis;transition:transform .24s cubic-bezier(.22,1,.36,1);white-space:nowrap}.ascii-index-row.is-active .ascii-index-title,.ascii-index-row:focus-visible .ascii-index-title,.ascii-index-row:hover .ascii-index-title{transform:translateX(-5px)}.ascii-index-category{justify-self:end;transition:opacity .16s ease}.ascii-index-open{position:absolute;top:50%;right:0;display:grid;place-items:center;width:26px;height:26px;color:#232421;font-family:var(--font-fredoka);font-size:14px;line-height:1;opacity:0;pointer-events:auto;text-decoration:none;transform:translate(4px,-50%);transition:opacity .16s ease,transform .22s cubic-bezier(.22,1,.36,1)}.ascii-hover-thumbnail{position:absolute;right:calc(min(330px, 29vw) + 38px);z-index:24;overflow:hidden;background:transparent;opacity:0;pointer-events:none;transform:translate(9px,-50%);animation:ascii-thumbnail-enter .22s cubic-bezier(.22,1,.36,1) forwards}.ascii-hover-thumbnail img{padding:0;object-fit:contain;filter:saturate(.82) contrast(.96)}.ascii-project-index li:focus-within .ascii-index-open,.ascii-project-index li:hover .ascii-index-open{opacity:1;transform:translateY(-50%)}.ascii-project-index li:focus-within .ascii-index-category,.ascii-project-index li:hover .ascii-index-category{opacity:0}@keyframes ascii-thumbnail-enter{to{opacity:1;transform:translateY(-50%)}}@keyframes ascii-layer-enter{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1.012)}}@keyframes ascii-layer-leave{0%{opacity:1;transform:scale(1.012)}to{opacity:0;transform:scale(.995)}}@media (max-width:768px){.ascii-gallery,.ascii-home{min-height:520px}.ascii-project-meta{top:96px;bottom:auto;width:calc(100% - 40px);gap:9px}.ascii-project-kicker{gap:7px 12px;font-size:9px}.ascii-project-meta h1{max-width:13ch;font-size:clamp(30px,10vw,52px);line-height:.98}.ascii-project-meta p{display:none}.ascii-project-meta a{font-size:11px}.ascii-project-index{top:auto;right:20px;bottom:72px;left:20px;display:block;width:auto;min-width:0;mask-image:none}.ascii-gallery:after{background:linear-gradient(0deg,hsla(60,21%,95%,.9) 0,hsla(60,21%,95%,.08) 34%,hsla(60,21%,95%,.04) 68%,hsla(60,21%,95%,.84))}.ascii-index-heading{padding-bottom:6px}.ascii-project-index ol{display:flex;margin-left:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}.ascii-project-index li{flex:0 0 42px;scroll-snap-align:start}.ascii-index-row{display:flex;justify-content:center;min-height:42px;padding:12px 0;border-bottom:0;transform:none}.ascii-index-row.is-active,.ascii-index-row:focus-visible,.ascii-index-row:hover{transform:none}.ascii-hover-thumbnail,.ascii-index-category,.ascii-index-open,.ascii-index-title{display:none}.ascii-index-number{font-size:10px}body:has(.ascii-home) footer{background:transparent}}@media (prefers-reduced-motion:reduce){.ascii-hover-thumbnail,.ascii-image-layer.is-active,.ascii-image-layer.is-leaving{animation:none}.ascii-hover-thumbnail{opacity:1;transform:translateY(-50%)}.ascii-index-row,.ascii-index-title,.ascii-project-meta a:after{transition:none}}@font-face{font-family:Fredoka;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka Fallback;src:local("Arial");ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.00%;size-adjust:101.84%}.__className_dcba26{font-family:Fredoka,Fredoka Fallback;font-style:normal}.__variable_dcba26{--font-fredoka:"Fredoka","Fredoka Fallback"}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/08de5a6c8e2756a6-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/042599cf3ef1ed12-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/07eb198cb290aa99-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/ba3ff6f2a6b16018-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spectral;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/e8d031e1cd02c4e9-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a905a6179bab2b08-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/273b2e150de7c4a9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/692781be160fc9d0-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1e9fc5e960416d85-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e244d3ca994d3054-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Spectral Fallback;src:local("Times New Roman");ascent-override:96.46%;descent-override:42.17%;line-gap-override:0.00%;size-adjust:109.78%}.__className_797595{font-family:Spectral,Spectral Fallback;font-style:normal}.__variable_797595{--font-spectral:"Spectral","Spectral Fallback"}