@font-face{font-family:Fira Mono;src:url(/_astro/FiraMono-Regular.BTCkDNvf.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fira Mono;src:url(/_astro/FiraMono-Medium.DU3aDxX5.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Fira Mono;src:url(/_astro/FiraMono-Bold.CLVRCuM9.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}.mobley-sans{font-family:mobley-sans,sans-serif;font-style:normal;font-weight:400}h2,h3,h4,h5,h6{text-wrap:balance;overflow-wrap:break-word;margin:0}p{text-wrap:pretty;overflow-wrap:break-word;margin:0}html,body{width:100%;min-width:0}html ::-webkit-scrollbar,body ::-webkit-scrollbar{width:.8em}html ::-webkit-scrollbar-track,body ::-webkit-scrollbar-track{background-color:#303030}html ::-webkit-scrollbar-thumb,body ::-webkit-scrollbar-thumb{background-color:#666}html ::-webkit-scrollbar-thumb:hover,body ::-webkit-scrollbar-thumb:hover{background-color:#4d4d4d}html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;box-sizing:border-box}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}.lenis.lenis-smooth iframe{pointer-events:none}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;scroll-padding-top:0}}*{border:none;margin:0;padding:0}*,:before,:after{box-sizing:inherit}body{text-rendering:optimizespeed;color:#e8e8e8;background-color:#252525;font-family:Fira Mono,monospace;font-size:clamp(14px,13.27px + .23vw,16px);line-height:1.5}:root{--page-gutter:16px;--safe-gutter-left:max(var(--page-gutter), env(safe-area-inset-left));--safe-gutter-right:max(var(--page-gutter), env(safe-area-inset-right))}.site{grid-template-rows:auto minmax(0,1fr) auto;width:100%;min-width:0;height:auto;min-height:100dvh;display:grid;position:relative}@media (width>=768px){:root{--page-gutter:24px}}@media (width>=1024px){:root{--page-gutter:clamp(24px, 2.2vw, 32px)}}@media (width>=1024px) and (height>=800px){.site{height:100dvh;overflow:hidden}}img,picture,video,canvas,svg{vertical-align:middle;max-width:100%;height:auto;font-style:italic}menu:not(article menu),ol:not(article ol),ul:not(article ul){list-style:none}menu,ol,ul{padding-left:0}article ol,article ul{list-style-position:inside}ul[role=list],ol[role=list]{list-style:none}button,input,ul,li,a,textarea,span,select{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}a,a:visited,a:active{text-decoration:none}button,a,input[type=submit],input[type=reset]{white-space:nowrap;cursor:pointer;background:0 0;border:none;width:fit-content;height:fit-content;padding:0}:where(a,button,input,select,textarea):focus-visible{outline-offset:3px;outline:2px solid #e2cc2c}@media (width<=1023px){:where(.menu-toggle,.compact-nav a,.compact-projects-toggle,.footer a,.project-nav-btn){min-width:44px;min-height:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.nav-item{color:#e8e8e8;transition:background-color .38s cubic-bezier(.22,1,.36,1),color .38s cubic-bezier(.22,1,.36,1)}.nav-item:hover,.nav-item.is-active,.nav-item.is-open{color:#7c7c7c}.header{z-index:50;padding:1.5rem var(--safe-gutter-right) 1.5rem var(--safe-gutter-left);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.header .hero-name{align-items:flex-start;gap:.35rem;display:inline-flex}.header .hero-name .icon-pic{aspect-ratio:1;background-color:#003fb1;border-radius:50%;flex:none;width:13px;margin-top:.125rem}.header .hero-name .info{white-space:normal;flex-direction:column;display:flex}.header .hero-name .info span:first-child{font-weight:700}.header .page-location-wrapper{text-align:center;place-self:center}.header .page-location-wrapper p{font-weight:700}.header .desktop-nav{place-self:start end}.header .desktop-nav .routes-wrapper,.header .desktop-nav .contact-wrapper{display:inline-block;position:relative}.header .desktop-nav .routes-wrapper .routes,.header .desktop-nav .contact-wrapper .routes{place-items:end;width:100%;position:absolute}.header .desktop-nav .routes-wrapper .routes .nav-item,.header .desktop-nav .contact-wrapper .routes .nav-item{margin-top:.75rem;display:block}.header .desktop-nav .routes-wrapper .route-1,.header .desktop-nav .contact-wrapper .route-1{flex-direction:row;display:flex}.header .desktop-nav .routes-wrapper .route-1 .base-route,.header .desktop-nav .routes-wrapper .route-1 .project-abbrs,.header .desktop-nav .contact-wrapper .route-1 .base-route,.header .desktop-nav .contact-wrapper .route-1 .project-abbrs{place-items:end;width:100%;display:inline-block}.header .desktop-nav .routes-wrapper .route-1 .base-route,.header .desktop-nav .contact-wrapper .route-1 .base-route{align-self:start}.menu-toggle,.compact-nav{display:none}@media (width<=1023px){.header{min-width:0;padding-block:max(12px, env(safe-area-inset-top)) 12px;background:#252525fa;border-bottom:1px solid #e8e8e81f;grid-template-columns:minmax(0,1fr) auto minmax(44px,1fr);align-items:center;position:sticky;top:0}.header .hero-name{min-width:0}.header .hero-name .info span{text-overflow:ellipsis;overflow:hidden}.header .hero-name .info span:last-child{display:none}.header .page-location-wrapper{min-width:0}.header .page-location-wrapper p{display:none}.header .page-location-wrapper .page-location{text-overflow:ellipsis;white-space:nowrap;max-width:30vw;display:block;overflow:hidden}.header .desktop-nav{display:none}.menu-toggle{justify-content:flex-end;place-self:center end;align-items:center;gap:.35rem;padding-inline:.5rem;display:inline-flex}.menu-toggle i{font-size:1.4rem}.compact-nav{top:100%;right:var(--safe-gutter-right);left:var(--safe-gutter-left);background:#303030;border:1px solid #e8e8e82e;border-radius:.35rem;max-height:calc(100dvh - 72px);padding:12px;display:grid;position:absolute;overflow-y:auto;box-shadow:0 18px 45px #00000059}.compact-nav[hidden]{display:none}.compact-nav>a,.compact-nav>button{white-space:normal;border-radius:.25rem;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;display:flex}.compact-nav .compact-project-links{padding:0 0 8px 18px;display:grid}.compact-nav .compact-project-links[hidden]{display:none}.compact-nav .compact-project-links a{white-space:normal;align-items:center;min-height:44px;padding-inline:12px;display:flex}}@media (width<=374px){.header .hero-name .info span:first-child{max-width:9.5rem}}.hero{min-width:0;padding:48px var(--safe-gutter-right) 48px var(--safe-gutter-left);flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex}.hero .dsad-avatar{flex:none;width:clamp(100px,25vw,150px);height:auto}.hero .info-wrap{width:min(100%,80ch)}.hero .info-wrap .title{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.hero .info-wrap .title .ri-home-fill{font-size:clamp(28px,7vw,34px)}.hero .info .long-copy{white-space:normal;max-width:80ch;margin-top:10px;font-size:clamp(14px,1.2vw,16px);line-height:1.65}.follow-color{color:#fff;position:relative}.follow-color .follow-bg{z-index:-1;transform-origin:50%;will-change:transform;pointer-events:none;background:#ff6a2b;border-radius:.275em;position:absolute;inset:0}@media (width>=768px){.hero{gap:28px;padding-block:64px}.hero .dsad-avatar{width:clamp(150px,17vw,175px)}}@media (width>=1024px){.hero{padding-block:40px}.hero .dsad-avatar{width:clamp(175px,10vw,255px)}}.footer{z-index:1;padding:24px var(--safe-gutter-right) max(24px, env(safe-area-inset-bottom)) var(--safe-gutter-left);gap:24px;display:grid}.page-links{flex-direction:column;gap:8px;display:flex}.links,.social{flex-wrap:wrap;gap:4px 12px;display:flex}.links a,.social a{align-items:center;display:inline-flex}.social svg{width:20px;height:20px}.social a svg path{fill:#fff;transition:fill .2s}.social a:hover svg path{fill:#eb602d}.time-list{display:none}@media (width<=767px){.links{flex-direction:column;align-items:flex-start}.social{margin-top:4px}}@media (width>=768px){.footer{grid-template-columns:minmax(0,1fr) auto;align-items:end}.time-list{text-align:right;flex-direction:row;align-self:end;align-items:center;gap:12px 20px;display:flex}.time-list .clock{align-items:center;gap:10px;display:flex}.time-list .clock .sun-moon{aspect-ratio:1;background-color:#e2cc2c;border-radius:50%;width:13px;margin-bottom:1px;transition:background-color .25s}}@media (width>=1024px){.footer{padding:25px}.time-list{flex-direction:column;align-items:flex-end;gap:10px}}.stats-panel{z-index:40;width:44px;max-width:calc(100vw - var(--page-gutter));cursor:pointer;user-select:none;background-color:#003fb1;border-radius:0 .3rem .3rem 0;grid-template-columns:1fr;place-content:center;place-items:center;height:clamp(190px,7.8125vw + 65px,215px);padding-inline-start:10px;display:grid;position:fixed;top:clamp(110px,16vh,150px);left:0}.stats-panel i{color:#003fb1;opacity:.85;pointer-events:none;font-size:28px;position:absolute;top:50%;right:-35px;transform:translateY(-50%)}.stats-panel .ds-panel{place-self:start;width:75%}.stats-panel .ds-panel .ds-body{opacity:0;pointer-events:none}.stats-panel .ds-panel .ds-stats .ds-row .ds-label{font-weight:700}.stats-panel .ds-panel .ds-stats .ds-row .ds-bar-wrapper{flex-direction:row;align-items:center;gap:10px;display:flex}.stats-panel .ds-panel .ds-stats .ds-row .ds-bar-wrapper .ds-bar{background-color:#f0f8ff;border-radius:3rem;width:100%;height:7px}.stats-panel.is-open .ds-body{pointer-events:auto}.stats-panel .stat-title{writing-mode:vertical-rl;text-align:center;white-space:nowrap;pointer-events:none;height:100%;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.stats-panel .stat-title p{display:inline-block}@media (width<=767px){.stats-panel{display:none}}.hero-ttt{aspect-ratio:1;background:#7066fd;border-radius:4.75px;place-self:end;place-items:center;width:283px;display:grid;position:relative}@media (width<1231px){.hero-ttt{width:250px}}.ttt-hint{color:#e8e8e8;pointer-events:none;user-select:none;font-weight:700;position:absolute;top:-28px;left:50%;transform:translate(-50%)}.ttt-board{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:242.5px;height:242.5px;display:grid;position:relative}@media (width<1231px){.ttt-board{width:220px;height:220px}}.ttt-board:before{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#e8e8e8 0 0),linear-gradient(#e8e8e8 0 0),linear-gradient(#e8e8e8 0 0),linear-gradient(#e8e8e8 0 0);background-position:33.33% 0,66.66% 0,0 33.33%,0 66.66%;background-repeat:no-repeat;background-size:4px 100%,4px 100%,100% 4px,100% 4px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border-radius:6px;position:absolute;inset:0}.ttt-cell{appearance:none;cursor:pointer;color:#e8e8e8;-webkit-tap-highlight-color:transparent;background:0 0;border:none;place-items:center;width:100%;height:100%;font-family:inherit;font-weight:700;display:grid}.ttt-cell:disabled{cursor:default}.ttt-cell::selection{background:0 0}.ttt-cell.is-o{font-size:3.6rem;line-height:1}.ttt-cell.is-x{font-size:3.4rem;line-height:1}.ttt-overlay{opacity:0;pointer-events:none;background:#7066fd;border-radius:4.75px;place-items:center;gap:14px;display:grid;position:absolute;inset:0}.ttt-overlay-icon{color:#e8e8e8;font-size:4.2rem}.ttt-again{appearance:none;color:#7066fd;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#e8e8e8;border:0;border-radius:4px;padding:6px 10px;font-size:.65rem;font-weight:700}.ttt-again:hover{transform:translateY(-1px)}.ttt-again:active{transform:translateY(0)}.project-wrapper{min-width:0;padding:36px var(--safe-gutter-right) 56px var(--safe-gutter-left);gap:32px;display:grid}.project-info{flex-direction:column;gap:12px;min-width:0;line-height:1.65;display:flex}.project-info .project-title{overflow-wrap:anywhere;max-width:100%;font-size:clamp(2rem,11vw,3.5rem);line-height:.98}.project-info .project-summary{white-space:normal;max-width:75ch}.project-info .project-sub-info{flex-direction:column;gap:10px;display:flex}.project-info .project-sub-info .year{font-weight:700}.project-info .project-sub-info .project-tags{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.project-info .project-sub-info .project-tags .tags{white-space:normal;overflow-wrap:anywhere;background-color:#7066fd;border-radius:.175rem;align-items:center;max-width:100%;min-height:32px;padding:6px 9px;display:inline-flex}.project-images{min-width:0}.project-images>.lenis-content{gap:12px;min-width:0;display:grid}.project-images .masonry-row{display:contents}.project-images .image{border-radius:.275rem;width:100%;min-width:0;height:auto;display:block}.project-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.project-nav .project-nav-btn{color:#252525;text-align:center;white-space:normal;background-color:#e8e8e8;border-radius:.175rem;justify-content:center;align-items:center;width:100%;padding:10px 12px;transition:background-color .38s cubic-bezier(.22,1,.36,1),color .38s cubic-bezier(.22,1,.36,1);display:inline-flex}.project-nav .project-nav-btn:hover{color:#e8e8e8;background-color:#7c7c7c}@media (width>=768px){.project-wrapper{gap:40px;padding-block:48px}.project-images>.lenis-content{grid-template-columns:repeat(2,minmax(0,1fr))}.project-nav{justify-self:start}.project-nav .project-nav-btn{min-width:180px}}@media (width>=1024px){.project-wrapper{grid-template:"info gallery""pager gallery"/minmax(300px,.78fr) minmax(0,1.7fr);align-content:center;align-items:stretch;gap:0 clamp(24px,4vw,72px);height:100%;min-height:0;padding:0}.project-info{padding-left:max(32px, var(--safe-gutter-left));grid-area:info;align-self:end}.project-info .project-title{font-size:clamp(3rem,4vw,3.5rem)}.project-images{width:100%;min-height:0;padding-right:var(--safe-gutter-right);grid-area:gallery;align-self:start}.project-images>.lenis-content{flex-direction:column;gap:10px;display:flex}.project-images .masonry-row{gap:10px;display:grid}.project-images .masonry-row.row-1{grid-template-columns:minmax(0,1fr)}.project-images .masonry-row.row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.project-images .masonry-row.row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.project-images .masonry-row.row-4{grid-template-columns:repeat(4,minmax(0,1fr))}.project-nav{padding-left:max(32px, var(--safe-gutter-left));grid-area:pager;place-self:start;margin-top:5rem}.project-nav .project-nav-btn{min-width:0}}@media (width>=1024px) and (height>=800px){.project-images{--offset:160px;height:calc(100dvh - var(--offset));transform:translateY(var(--offset));scrollbar-width:none;-ms-overflow-style:none;overflow:hidden}.project-images::-webkit-scrollbar{display:none}}.work-wrapper{width:min(100%,1050px);min-width:0;padding:40px var(--safe-gutter-right) 56px var(--safe-gutter-left);place-content:center;gap:28px;margin-inline:auto;display:grid}.work-wrapper .work-container{align-items:flex-start;gap:16px;min-width:0;display:flex}.work-wrapper .work-container .job-img{object-fit:contain;border-radius:.35rem;flex:none;width:clamp(56px,18vw,72px);overflow:hidden}.work-wrapper .work-container .work-info{min-width:0}.work-wrapper .work-container .work-info .organization{font-weight:700}.work-wrapper .work-container .work-info p{white-space:normal}.work-wrapper .work-container .work-info p:nth-child(3){max-width:58ch;margin-top:8px;line-height:1.65}@media (width>=768px){.work-wrapper{gap:32px;padding-block:56px}.work-wrapper .work-container .job-img{width:72px}}@media (width>=1024px){.work-wrapper{gap:clamp(36px,5vh,65px);padding-block:32px}.work-wrapper .work-container{align-items:center}.work-wrapper .work-container:nth-child(2n){text-align:right;flex-direction:row-reverse}.work-wrapper .work-container .job-img{width:clamp(72px,6vw,92px)}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
