*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:none;text-size-adjust:none}body{margin:0;padding:0}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}
:root{--background:#fff;--foreground:#171717;--color-super-black:#000;--font-sans:"itc-avant-garde-gothic-pro",helvetica,sans-serif;--font-serif:"Spectral", serif;--color-red:#f30505;--color-green:#0ea622;--color-black:#222;--color-dark-grey:#343131;--color-white:#fff;--color-light-grey:#efefef;--color-super-light-grey:#f9fafb;--color-super-light-grey-border:#e5e7eb;--color-mid-grey:#666;--color-dark-purple:#2b1535;--color-light-purple:#f2ebf6;--color-villages:#9ec50b;--color-settlements:#0073c6;--font-fixed:"ibm-plex-mono", sans-serif;--font-weight-normal:300;--font-weight-medium:500;--font-weight-bold:700;--font-size-xxx-large:260%;--font-size-xx-large:160%;--font-size-x-large:140%;--font-size-large:95%;--font-size-medium:90%;--font-size-small:80%;--font-size-x-small:75%;--font-size-xx-small:70%;--font-size-xxx-small:60%;--font-size-xxxx-small:55%;--border-radius:.5rem;--sidebar-width:20rem}@media (min-width:800px){:root{--font-size-large:110%;--font-size-medium:105%}}
body{color:var(--color-black);font-family:var(--font-sans);background-color:var(--color-dark-purple)}html{scroll-behavior:smooth}:root{--route-exit-duration:.15s;--route-enter-duration:.21s;--route-slide-duration:.42s}header.landing-header{width:100%;color:var(--color-white);z-index:10;flex-direction:column;min-height:50vh;padding:2rem;display:flex}@media screen and (max-width:799px){header.landing-header{-webkit-scroll-snap-align:start;-webkit-scroll-snap-stop:always;scroll-snap-stop:always;scroll-snap-align:start;min-height:100dvh}}header.landing-header .logo-container{justify-content:space-between;gap:1rem;width:100%;margin-bottom:2rem;display:flex}header.landing-header h1{text-wrap:balance;max-width:64ch;font-size:var(--font-size-xx-large)}header.landing-header svg path{fill:var(--color-white)}.logo-container nav{transform-origin:0 0;position:fixed;top:-1px;right:-6rem;transform:rotate(90deg)}.logo-container nav ul{font-size:var(--font-size-large);flex-direction:column;gap:1rem;padding:0;list-style:none;display:flex}.logo-container nav ul li a{background-color:var(--color-white);color:var(--color-dark-purple);border:1px solid var(--color-black);padding:.2rem .6rem .2rem 1rem;text-decoration:none;transition:background-color .3s,padding-bottom .15s}.logo-container nav ul li a:hover{color:var(--color-white);background-color:var(--color-green)}section.about{border-top:1px solid var(--color-white);color:var(--color-white);-webkit-scroll-snap-align:start;-webkit-scroll-snap-stop:always;scroll-snap-stop:always;scroll-snap-align:start;min-height:100dvh;padding:2rem}section.about p{color:var(--color-white)}section.about h3+p{margin-top:1rem}section.about p+h3,section.about p+p{margin-top:1.5rem}.landing-home{scroll-behavior:smooth;flex-direction:column;display:flex}section.projects-list{grid-template-columns:1fr;display:grid}.route-panel{min-height:0}@media screen and (max-width:799px){.landing-home{scroll-snap-type:y mandatory;scroll-snap-align:start;height:100dvh;position:relative;inset:0;overflow-y:scroll}.about-page{scroll-snap-type:none;height:auto;overflow-y:visible}.about-page .landing-header,.about-page .about{scroll-snap-align:none;scroll-snap-stop:normal}.about-page .route-panel{scroll-snap-align:none}}@media screen and (min-width:800px){section.about{grid-template-columns:1fr 1fr;align-items:center;gap:2rem;display:grid}}.landing-section{color:var(--color-white);border-top:1px solid var(--color-white);z-index:3;background-position:50%;background-size:cover;flex-direction:column;padding:2rem;display:flex;position:relative}@media screen and (max-width:799px){.landing-section{-webkit-scroll-snap-align:start;-webkit-scroll-snap-stop:always;scroll-snap-stop:always;scroll-snap-align:start;min-height:100dvh}}.landing-section:hover{cursor:pointer}.video-frame{aspect-ratio:9/12;margin-bottom:.5rem;position:relative}.landing-section video{background-color:var(--color-white);border-radius:var(--border-radius);object-fit:cover;z-index:0;width:100%;height:100%;transition:opacity .4s;position:absolute;top:0;left:0}.landing-content{z-index:5;flex-direction:column;justify-content:space-around;height:100%;display:flex;position:relative}.landing-header{justify-content:space-between;align-items:flex-start;display:flex}.landing-index{letter-spacing:.2em;font-size:.75rem;font-family:var(--font-geist-mono,monospace);opacity:.5;color:var(--section-accent)}h2.landing-title{font-size:var(--font-size-xx-large);letter-spacing:-.025em;white-space:pre-line;margin:.5rem 0;font-weight:600;line-height:1;position:relative}h2.landing-title:after{content:"";background-color:var(--color-white);width:3rem;height:1px;position:absolute;bottom:-.75rem;left:0}p.landing-description{font-size:var(--font-size-lg);max-width:20rem;margin:1.25rem 0}.landing-cta{font-weight:var(--font-weight-medium);border:1px solid var(--color-white);font-size:var(--font-size-sm);letter-spacing:.18em;text-transform:uppercase;color:var(--color-white);border-radius:var(--border-radius);cursor:pointer;background:0 0;align-items:center;gap:.5rem;margin-top:.5rem;padding:.2rem .5rem;font-family:inherit;transition:all .15s;display:flex}.landing-cta a{color:inherit;text-decoration:none}.landing-cta:hover{color:var(--color-dark-purple);background-color:var(--color-white)}@media screen and (min-width:800px){section.projects-list{border-top:1px solid var(--color-white);grid-template-columns:repeat(3,1fr)}.landing-section{min-height:none;border-top:none;border-right:1px solid var(--color-white)}.landing-section:last-child{border-right:none}}::view-transition-group(site-logo){animation-duration:.32s}::view-transition-group(site-tagline){animation-duration:.32s}::view-transition-old(.nav-forward){--slide-offset:-60px;animation:var(--route-exit-duration) ease-in both fade reverse, var(--route-slide-duration) ease-in-out both slide reverse}::view-transition-new(.nav-forward){--slide-offset:60px;animation:var(--route-enter-duration) ease-out var(--route-exit-duration) both fade, var(--route-slide-duration) ease-in-out both slide}::view-transition-old(.nav-back){--slide-offset:60px;animation:var(--route-exit-duration) ease-in both fade reverse, var(--route-slide-duration) ease-in-out both slide reverse}::view-transition-new(.nav-back){--slide-offset:-60px;animation:var(--route-enter-duration) ease-out var(--route-exit-duration) both fade, var(--route-slide-duration) ease-in-out both slide}@keyframes fade{0%{filter:blur(6px);opacity:0}to{filter:blur();opacity:1}}@keyframes slide{0%{transform:translateX(var(--slide-offset))}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}

