:root{--unit:16px;--unit-1:clamp(0.625rem,0.55rem + 0.25vw,0.75rem);--unit-2:clamp(0.75rem,0.675rem + 0.25vw,0.875rem);--unit-3:clamp(0.875rem,0.8rem + 0.25vw,1rem);--unit-4:clamp(1rem,0.925rem + 0.25vw,1.125rem);--unit-5:clamp(1.125rem,1.05rem + 0.25vw,1.25rem);--unit-6:clamp(1.8125rem,2rem + -0.625vw,1.5rem);--unit-7:clamp(1.5rem,1.275rem + 0.75vw,1.875rem);--unit-8:clamp(1.875rem,1.65rem + 0.75vw,2.25rem);--unit-9:clamp(2.25rem,1.8rem + 1.5vw,3rem);--unit-10:clamp(3rem,2.55rem + 1.5vw,3.75rem);--width-xs:480px;--width-sm:640px;--width-md:768px;--width-lg:1024px;--radius-xs:3px;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-full:9999px;--radius-round:50%;--shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--matcha:#12b76a;--zinc-50:#fafafa;--zinc-100:#f4f4f5;--zinc-200:#e4e4e7;--zinc-300:#d4d4d8;--zinc-400:#a1a1aa;--zinc-500:#71717a;--zinc-600:#52525b;--zinc-700:#3f3f46;--zinc-800:#27272a;--zinc-900:#18181b;--zinc-950:#09090b;--zinc:var(--zinc-500)}html{background:var(--zinc-50);color:var(--zinc-800);font-family:Hanken Grotesk,"system-ui",sans-serif;font-feature-settings:"pnum" on,"lnum" on,"ss01" on,"case" on;overflow-x:hidden;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--zinc-950:#fafafa;--zinc-900:#f4f4f5;--zinc-800:#e4e4e7;--zinc-700:#d4d4d8;--zinc-600:#a1a1aa;--zinc-500:#71717a;--zinc-400:#52525b;--zinc-300:#3f3f46;--zinc-200:#27272a;--zinc-100:#18181b;--zinc-50:#09090b;--zinc:var(--zinc-500);transition:background-color .15s ease-in-out}}.font-xs{font-size:var(--unit-1)}.font-sm{font-size:var(--unit-2)}.font-base{font-size:var(--unit-3)}.font-md{font-size:var(--unit-4)}.font-xmd{font-size:var(--unit-5)}.font-xxmd{font-size:var(--unit-6)}.font-lg{font-size:var(--unit-7)}.font-xlg{font-size:var(--unit-8)}.font-xxlg{font-size:var(--unit-9)}.font-display{font-size:var(--unit-10)}.font-medium{font-weight:600}.font-bold{font-weight:700}body{font-size:var(--unit-4);font-weight:400;letter-spacing:-.01em;line-height:125%;margin:0}.info_content,.text_column{box-sizing:border-box;display:grid;grid-template-columns:minmax(1rem,1fr) 8fr minmax(1rem,1fr);margin:auto;max-width:var(--width-md);padding:var(--unit-3)}.info_content *,.text_column *{grid-column:2/3}.info_content p,.text_column p{margin-bottom:16px;max-width:60ch;text-wrap:pretty}.info_content p+p,.text_column p+p{margin-bottom:var(--unit-3)}.info_content h1,.info_content h2,.info_content h3,.info_content h4,.info_content h5,.info_content h6,.text_column h1,.text_column h2,.text_column h3,.text_column h4,.text_column h5,.text_column h6{margin-bottom:var(--unit-3);margin-top:36px}.info_content figure,.info_content p:has(img),.text_column figure,.text_column p:has(img){margin-left:0;margin-right:0;padding:0}.info_content .splide,.text_column .splide{grid-column:1/-1}.info_content figure,.info_content p:has(img),.text_column figure,.text_column p:has(img){grid-column:1/-1;justify-self:center}li,p{letter-spacing:-.1px;line-height:155%;margin:0}ol,ul{line-height:1.6;list-style-position:outside;padding:0}strong{color:var(--zinc-900);font-weight:700}blockquote{font-size:clamp(1.25rem,1.67vw,1.5rem);letter-spacing:-.01em;line-height:140%}blockquote:before{content:"“";display:block;font-size:4.5em;line-height:1em;margin-bottom:-.45em;margin-left:-.02em}figure{align-items:center;display:flex;flex-direction:column;gap:1rem}figure figcaption{font-size:var(--unit-2);line-height:1.5;margin:0 4rem 1rem}figure figcaption:before{content:"↑ ";font-weight:600}img{border:1.5px solid rgba(0,0,0,.05);border-radius:var(--radius-lg);width:100%}h1,h2,h3,h4,h5,h6{color:var(zinc-950);font-weight:700;line-height:1em;margin-bottom:0;margin-top:0}.display{font-size:clamp(2.5rem,5vw,5.5rem);letter-spacing:-.03em;line-height:95%}h1,h2{font-size:var(--unit-9);letter-spacing:-.025em;line-height:110%}h3{font-size:var(--unit-7)}h3,h4,h5,h6{letter-spacing:-.025em;line-height:120%}h4,h5,h6{font-size:var(--unit-5)}.slide_fade{background:#000;background:linear-gradient(90deg,transparent 0,var(--zinc-50) 100%);bottom:0;position:absolute;right:0;top:0;width:5rem}#logo{color:var(--zinc-800);font-size:var(--unit-5);font-weight:600;letter-spacing:.5px;text-decoration:none}.nav_container{bottom:0;display:grid;height:56px;left:0;margin-bottom:2rem;place-items:center;position:fixed;right:0}.mobile_nav{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:var(--zinc-200);border:1px solid #c7c7c736;border-radius:48px;box-shadow:0 2px 4px rgba(0,0,0,.15);display:grid;font-size:var(--unit-4);grid-template-columns:1fr 1fr 1fr;height:48px;padding:4px;width:-moz-fit-content;width:fit-content;z-index:4}.mobile_nav a{align-items:center;color:var(--zinc-700);display:flex;font-weight:600;height:100%;justify-content:center;padding:0 1rem;text-decoration:none;text-transform:capitalize}@media screen and (width >= 699px){#logo{color:var(--zinc-700);text-decoration:none}nav{align-items:center;display:flex;justify-content:space-between}}.portfolio_grid{display:grid;gap:.25rem;grid-template-columns:repeat(2,1fr);height:-moz-fit-content;height:fit-content;margin:80px 0}.visit_link{transition:all .35s ease}@media screen and (width >= 830px){.portfolio_grid{gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(max(180px,400px),1fr))}}.preview_container{border:1.5px solid transparent;color:var(--zinc-800);cursor:pointer;height:-moz-min-content;height:min-content;text-decoration:none}.preview_container .preview_header{display:none}.preview_container .preview_browser{aspect-ratio:2.5/2;border:1px solid var(--zinc-200);border-radius:8px;box-shadow:inset 0 0 0 1px #fff;overflow:hidden}.preview_container img{border:0;border-radius:0;pointer-events:none;transition:transform .85s ease-in-out}@media (hover:hover){.preview_container:hover{background:var(--zinc-200)}.preview_container:hover .preview_browser{border-color:var(--zinc-300)}.preview_container:hover .visit_link{opacity:1}.preview_container:hover img{transform:translateY(-50%)}}@media screen and (width >= 699px){.visit_link{opacity:0}.preview_container{background:transparent;border-radius:16px;padding:4px;transition:background .1s ease}.preview_container .preview_browser{aspect-ratio:16/9}.preview_container .preview_header{align-items:center;display:flex;font-size:var(--unit-2);justify-content:space-between;padding:8px;text-transform:capitalize}.preview_container img{transition:transform 3s cubic-bezier(.165,.84,.44,1)}.preview_container:focus,.preview_container:focus-visible,.preview_container:focus-within{background:var(--zinc-200);border:1.5px solid var(--matcha);outline:none}.preview_container:focus .preview_browser,.preview_container:focus-visible .preview_browser,.preview_container:focus-within .preview_browser{border-color:var(--zinc-300)}.preview_container:focus .visit_link,.preview_container:focus-visible .visit_link,.preview_container:focus-within .visit_link{opacity:1}}.tag_container{align-items:center;background:linear-gradient(to bottom,var(--zinc-50) 70%,transparent);display:flex;grid-area:content;height:56px;overflow:scroll;overflow:-moz-scrollbars-none;padding:1rem;position:sticky;scrollbar-width:none;top:0;z-index:10;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.tag_container::-webkit-scrollbar{display:none;width:0}.tagBar{align-items:center;display:flex;gap:.5rem;height:100%;list-style:none;margin:0}.tagBar li{padding:0}.tagBar li a{border:1px solid transparent;border-radius:40px;color:var(--zinc-600);font-size:var(--unit-3);font-weight:500;letter-spacing:1px;padding:.5rem 1rem;text-decoration:none;text-transform:capitalize}.tagBar a:focus-visible{border:1px solid var(--matcha);color:var(--zinc-800);outline:none}.tagBar a:hover{border:1px solid var(--zinc-300);color:var(--zinc-900);outline:none}.tagBar .active a{background:var(--zinc-900)}.tagBar .active a,.tagBar .active a:hover{border:1px solid transparent;color:var(--zinc-50)}.tagBar .active a:focus-visible{border:1px solid var(--matcha)}.links_container{display:flex;gap:1rem}footer{box-sizing:border-box;gap:1.5rem;padding:0 1rem;width:100%}footer a{color:var(--zinc-600);text-decoration:none}footer a:focus-visible,footer a:hover{color:var(--zinc-950);outline:none}.fineprint{color:var(--zinc-500);font-size:var(--unit-2)}.button_row{padding:2rem 0}.primary_btn{background-color:var(--zinc-900);border-radius:var(--radius-lg);color:var(--zinc-50);font-size:var(--unit-3);font-weight:500;letter-spacing:1px;padding:.75rem 2rem;text-align:center;text-decoration:none}.text_btn{color:var(--zinc-600);font-size:var(--unit-3);font-weight:500;letter-spacing:.5px;padding:.65rem;text-align:center;text-decoration:none}.text_btn:focus-visible,.text_btn:hover{color:var(--zinc-950)}.content,body{position:relative}.content{margin:auto}.info_content{margin-bottom:3rem}.filled_btn{background:var(--zinc-800);border-radius:48px;color:var(--zinc-50)!important}.filled_btn:hover{background-color:var(--matcha)}.hide_mobile{display:none}@media screen and (width >= 760px){.hide_desktop{display:none}.hide_mobile{display:initial}.content{padding-left:2rem;padding-right:2rem}footer{flex-direction:row}.mobile_nav{display:none}}.homeGrid{display:grid;grid-template-columns:[content] 1fr;min-height:100dvh;padding:0}.mobileHero{padding:3rem 2rem 4rem}.mobileHero .hero{max-width:50ch;padding-top:1rem;text-wrap:pretty}.side_bar{align-items:start;display:none;overflow:auto}footer{display:flex;flex-direction:column;gap:1rem}.portfolio_grid{grid-area:content;padding:0 1rem}nav{align-items:center;display:flex;height:56px}.submit_button{background-color:var(--zinc-900);border-radius:var(--radius-lg);color:var(--zinc-50);font-size:var(--unit-3);font-weight:500;letter-spacing:1px;padding:.75rem 2rem;text-align:center}.submit_button:hover{background:var(--zinc-950);color:var(--zinc-50)}.submit_button:focus-visible{background:var(--matcha);color:var(--zinc-50)}.hero{margin-bottom:auto;max-width:600px}.hero h1{font-size:var(--unit-5);font-weight:400;line-height:140%}.links_container a{font-size:var(--unit-3);text-transform:capitalize}@media screen and (width >= 760px){.mobileHero{display:none}.hero h1{font-size:var(--unit-4)}.nav_container{display:none}.homeGrid{display:grid;grid-template-columns:[sidebar] 240px [content] 1fr}.side_bar{display:flex;flex-direction:column;gap:2rem;grid-area:sidebar;height:calc(100dvh - 2rem);padding:1rem 1rem 0 0;position:sticky;top:0}}@media screen and (width >= 830px){.homeGrid{display:grid;grid-template-columns:[sidebar] 300px [content] 1fr;padding:0 2rem}}.info_content{margin:auto auto 6rem;max-width:560px}@view-transition{navigation:auto}html *{-webkit-tap-highlight-color:transparent}