.space{min-width:var(--space-large);min-height:var(--space-large)}@media(max-width:36rem){.space{min-width:var(--space-small);min-height:var(--space-small)}}.field-error input,.field-error textarea{border-color:var(--color-error)}.footer,.footer-link{color:var(--color-dark-gray)}.footer-separator{margin:0 .25rem;color:var(--color-gray)}.navigation{position:fixed;width:fit-content;inset:2rem;bottom:auto;margin:auto;padding:.5rem;text-wrap:nowrap;z-index:2;--color-white-80: color-mix(in srgb, var(--color-white) 80%, transparent);--color-shadow: color-mix(in srgb, var(--color-black) 10%, transparent);--color-shadow-strong: color-mix( in srgb, var(--color-black) 20%, transparent )}.navigation:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;border-radius:1.75rem;border:1px solid var(--color-white-80);backdrop-filter:brightness(1.1) blur(10px);background-color:var(--color-white-80);box-shadow:2px 2px 20px 2px var(--color-shadow)}@media(max-width:36rem){.navigation{bottom:2rem;top:auto}.navigation:before{box-shadow:2px 2px 20px 2px var(--color-shadow-strong)}}.navigation a{margin:0;padding:.5rem .809rem;display:inline-block;border-radius:10rem;color:var(--color-dark-gray)}@media(hover:hover)and (pointer:fine){.navigation a:hover{color:var(--color-accent);text-decoration:none}}.navigation menu{margin:0;padding:0}.navigation li{list-style:none}.navigation-menu-large{display:flex}@media(max-width:36rem){.navigation-menu-large{display:none}}.navigation-divider{color:var(--color-gray)}.menu-button{cursor:pointer;display:none;margin:0;padding:.5rem .809rem;border:none;border-radius:10rem;background:none;color:var(--color-dark-gray);font-size:1rem}@media(hover:hover)and (pointer:fine){.menu-button:hover{color:var(--color-accent)}}@media(max-width:36rem){.menu-button{display:inline-block}}.navigation-menu-small{display:none;flex-direction:column}@media(max-width:36rem){.navigation-menu-small{display:flex}}.navigation-scrim{display:none;position:fixed;inset:0;z-index:2;background-color:color-mix(in srgb,var(--color-black) 40%,transparent)}@media(max-width:36rem){.navigation-scrim{display:initial}}.contact-form{align-items:start}@media(max-width:36rem){.contact-form{align-items:stretch}}.contact-form textarea{resize:none}.featured-project{text-decoration:none;color:var(--color-foreground)}.featured-item-image{aspect-ratio:1;background-color:var(--color-gray);background-size:contain}.hero-portrait{background-image:url(/images/portrait.jpg);background-size:contain;background-repeat:no-repeat;background-position:center;aspect-ratio:4/5}.gallery{cursor:zoom-in;aspect-ratio:1;position:relative}.gallery.fullscreen{cursor:zoom-out;position:fixed;inset:0;aspect-ratio:unset;z-index:3}.gallery-container{overflow:hidden;position:absolute;inset:0}.gallery-arrow{z-index:1;padding:1rem!important;height:fit-content;margin:auto;position:absolute;top:0;bottom:0;background-repeat:no-repeat}.gallery-close{z-index:1;padding:1rem!important;position:absolute;top:0;right:0}.gallery-image{position:absolute;inset:0;background-size:contain;background-repeat:no-repeat;background-position:center;animation-timing-function:ease-in-out;animation-duration:.5s;animation-fill-mode:both}.gallery-image.active{z-index:1}.gallery-image.to-left{animation-name:to-left}.gallery-image.to-right{animation-name:to-right}.gallery-image.from-left{animation-name:to-left;animation-direction:reverse}.gallery-image.from-right{animation-name:to-right;animation-direction:reverse}@keyframes to-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes to-right{0%{transform:translate(0)}to{transform:translate(100%)}}.project{scroll-margin-top:var(--space-safe-top);align-items:start}@media(max-width:36rem){.project{align-items:normal}}.project-image{aspect-ratio:1;background-size:contain;background-repeat:no-repeat}@font-face{font-family:Satoshi;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/satoshi-regular.woff2) format("woff2"),url(/fonts/satoshi-regular.woff) format("woff"),url(/fonts/satoshi-regular.ttf) format("truetype")}@font-face{font-family:Satoshi;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/satoshi-medium.woff2) format("woff2"),url(/fonts/satoshi-medium.woff) format("woff"),url(/fonts/satoshi-medium.ttf) format("truetype")}:root{--color-teal: #0f8a8a;--color-red: #f02020;--color-black: #000000;--color-dark-gray: #1d1d1d;--color-gray: #777777;--color-light-gray: #f2f2f2;--color-white: #ffffff;--color-accent: var(--color-teal);--color-error: var(--color-red);--color-foreground: var(--color-dark-gray);--color-foreground-inverted: var(--color-white);--color-background: var(--color-white);--space-safe-top: 8rem;--space-safe-bottom: 0rem}@media(max-width:36rem){:root{--space-safe-top: 0;--space-safe-bottom: 8rem}}.site-width{max-width:60rem;margin:auto;padding:0 2rem}.auto-row{display:flex}@media(max-width:36rem){.auto-row{flex-direction:column}}.button{cursor:pointer;display:inline-flex;padding:1rem 1.618rem;font-size:1rem;text-decoration:none;justify-content:center;background-color:var(--color-accent);color:var(--color-foreground-inverted);border:1px solid var(--color-accent)}@media(hover:hover)and (pointer:fine){.button:hover{background-color:var(--color-dark-gray);border-color:var(--color-dark-gray);text-decoration:none}}@media(max-width:36rem){.button{display:flex;text-align:center}}.text-input{padding:1rem;border:none;min-width:20rem;field-sizing:content;font-size:1rem;background-color:var(--color-light-gray);border:1px solid var(--color-light-gray)}@media(max-width:36rem){.text-input{flex:1;min-width:auto}}.fill{flex:1}.row{display:flex}.column{display:flex;flex-direction:column}.hide{display:none}.align-center{align-items:center}.align-start{align-items:start}.justify-space-between{justify-content:space-between}.left{left:0}.right{right:0}.background-white{background-color:var(--color-white)}.background-gray{background-color:var(--color-light-gray)}.error{color:var(--color-error)}body{margin:0;min-width:20rem;color:var(--color-dark-gray);background-color:var(--color-light-gray)}body,button,input,textarea{font-family:Satoshi,sans-serif}h1{color:var(--color-accent);font-size:3rem}@media(max-width:36rem){h1{font-size:2.5rem}}h2{font-size:1.75rem}h3{font-size:1.25rem}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.2;font-weight:500;font-feature-settings:"ss03"}p{margin:0;line-height:2}a,button{font-weight:500}ul{margin:0;padding-left:2rem}a{text-decoration:none;color:var(--color-accent)}@media(hover:hover)and (pointer:fine){a:hover{text-decoration:underline}}
