*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100dvh;font-family:DM Sans,Helvetica Neue,Arial,sans-serif;font-family:var(--font-primary);font-size:clamp(.95rem,.9rem + .25vw,1.05rem);font-size:var(--font-size-base);line-height:1.6;color:#2a2a2a;color:var(--color-dark);background-color:#f5f5f3;background-color:var(--color-clear);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,svg{display:block;max-width:100%;height:auto}a{color:inherit;-webkit-text-decoration:none;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}ul,ol{list-style:none}:root{--color-clear: #f5f5f3;--color-dark: #2a2a2a;--color-dark-50: color-mix(in srgb, var(--color-dark) 50%, transparent);--color-accent-rgb: 108 70 156;--color-charcoal: rgb(28, 22, 35);--color-accent: rgb(var(--color-accent-rgb));--color-accent-lighter: rgb(var(--color-accent-rgb) / .1);--color-accent-light: rgb(var(--color-accent-rgb) / .3);--color-accent-medium: rgb(var(--color-accent-rgb) / .4);--color-accent-dark: color-mix(in srgb, var(--color-accent) 80%, black);--color-accent-dark-75: rgb(from var(--color-accent-dark) r g b / .75);--font-primary: "DM Sans", "Helvetica Neue", Arial, sans-serif;--font-title: "Raleway", "Helvetica Neue", Arial, sans-serif;--font-size-xs: clamp(.7rem, .65rem + .25vw, .8rem);--font-size-sm: clamp(.8rem, .75rem + .25vw, .9rem);--font-size-base: clamp(.95rem, .9rem + .25vw, 1.05rem);--font-size-lg: clamp(1.25rem, 1rem + .5vw, 1.5rem);--font-size-xl: clamp(1.6rem, 1.2rem + 1vw, 2.1rem);--font-size-2xl: clamp(2rem, 1.5rem + 1.5vw, 2.6rem);--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 6rem;--space-2xl: 8.5rem;--grid-gap: 1.5rem;--container-max: 1280px;--container-padding: var(--space-md);--transition-base: .3s ease}h1,h2,h3,h4{font-family:Raleway,Helvetica Neue,Arial,sans-serif;font-family:var(--font-title);line-height:1.2;font-weight:400;letter-spacing:-.01em;text-transform:uppercase}h1{font-size:clamp(2rem,1.5rem + 1.5vw,2.6rem);font-size:var(--font-size-2xl)}h2{font-size:clamp(1.6rem,1.2rem + 1vw,2.1rem);font-size:var(--font-size-xl)}h3{font-size:clamp(1.25rem,1rem + .5vw,1.5rem);font-size:var(--font-size-lg)}p{max-width:65ch}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid rgb(108,70,156);outline:2px solid var(--color-accent);outline-offset:2px}::-moz-selection{background-color:#6c469c1a;background-color:var(--color-accent-lighter);color:#2a2a2a;color:var(--color-dark)}::selection{background-color:#6c469c1a;background-color:var(--color-accent-lighter);color:#2a2a2a;color:var(--color-dark)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.img-cover{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.img-tall{aspect-ratio:3 / 4}.img-wide{aspect-ratio:16 / 9}.img-square{aspect-ratio:1 / 1}.section{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}@media(max-width:1024px){:root{--container-padding: var(--space-sm)}}@media(max-width:640px){.section{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}}.panel{position:relative;min-height:100dvh;max-height:calc(100dvh - 4rem);display:flex;flex-direction:column;justify-content:center;background-color:var(--color-clear);z-index:1}.panel:nth-child(2){z-index:2}.panel:nth-child(3){z-index:3}.panel:nth-child(4){z-index:4}.panel:nth-child(5){z-index:5}.panel:nth-child(6){z-index:6}.panel--light{background-color:var(--color-clear)}.panel--dark{background-color:var(--color-accent-light)}.panel--intro{background-color:var(--color-accent-light);overflow:hidden}.panel--intro .intro-canvas{position:absolute;inset:0 0 100px;z-index:0}.panel--intro:fullscreen .intro-canvas{bottom:0;height:100dvh}.sketch-fake-fullscreen .site-header,.sketch-fake-fullscreen .site-footer,.sketch-fake-fullscreen footer,.sketch-fake-fullscreen .projects-section,.sketch-fake-fullscreen .panel:not(.panel--intro),.sketch-fake-fullscreen .panel--intro .intro-overlay{display:none!important}.sketch-fake-fullscreen{background-color:#f0ece6}.sketch-fake-fullscreen .panel--intro{position:fixed;inset:0;z-index:9999;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.sketch-fake-fullscreen .panel--intro .intro-canvas{position:absolute!important;top:0;left:0;right:0;bottom:0!important;height:100%!important}.panel--intro .intro-overlay{position:absolute;z-index:1;pointer-events:none}.panel--intro .intro-overlay>*{pointer-events:none}.panel--intro .intro-overlay a,.panel--intro .intro-overlay button,.panel--intro .intro-overlay input,.panel--intro .intro-overlay textarea,.panel--intro .intro-overlay select,.panel--intro .intro-overlay [role=button]{pointer-events:auto}.panel+.panel{box-shadow:0 -8px 40px #00000014}.panel--scrollable{justify-content:flex-start;overflow-y:auto;padding-top:var(--space-xl);padding-bottom:var(--space-xl)}@media(max-width:640px){.panel{min-height:auto;padding-top:0;padding-bottom:0}.panel#work{padding-bottom:2rem}.panel+.panel{box-shadow:none}.panel--intro .intro-canvas{position:relative;height:75dvh;bottom:auto}}
