nav{-webkit-backdrop-filter:blur(200px);backdrop-filter:blur(200px);z-index:20;width:100%;position:fixed}nav .header-inner{padding-top:var(--space-4);padding-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}nav h3{font-weight:900}nav .nav-left{align-items:center;gap:.4em;display:flex}nav .nav-left img{height:.7em}nav .nav-right{gap:var(--space-3);display:flex}@media screen and (width>=768px){nav .nav-right{gap:var(--space-5)}}section#footer{color:#fff;background:#000;flex-direction:column;padding:0;display:flex;position:relative}section#footer .content{padding:var(--space-8) 0;flex-direction:column;flex-grow:1;display:flex}section#footer{overflow:hidden}section#footer .container{justify-content:space-between;gap:var(--space-7);flex-direction:column;flex-grow:1;display:flex}section#footer .logo{flex-grow:1;flex-shrink:0;align-items:baseline;gap:1rem;display:flex}section#footer .logo h1{margin:0;font-size:clamp(6rem,10vw,7rem);line-height:1}section#footer .logo img{filter:invert();height:1rem}section#footer .footer-top{gap:var(--space-7);flex-direction:column;display:flex}section#footer .social-links,section#footer .contact-links,section#footer .copyright{align-items:flex-start;gap:var(--space-3);font-weight:800;font-size:var(--text-sm);flex-direction:column;display:flex}section#footer *{z-index:15}section#footer .footer-bottom{justify-content:space-between;gap:var(--space-7);flex-direction:column-reverse;display:flex}section#footer a{color:#fff;text-decoration:none}section#footer .footer-canvas{z-index:10;width:100%;position:absolute;inset:0}section#footer .footer-canvas:after{content:"";background:linear-gradient(#000000e6 0%,#0006 100%);width:100%;height:100%;position:absolute;top:0;left:0}@media screen and (width>=768px){section#footer .content{padding-top:clamp(5rem, 8vw, 20rem) 0;padding-bottom:var(--space-7);min-height:min(50vw,50rem)}section#footer .footer-top,section#footer .footer-bottom,section#footer .contact-links{flex-direction:row}section#footer .contact-links{gap:min(15vw,15rem)}section#footer .social-links{align-items:flex-end}section#footer .footer-top{gap:0}section#footer .footer-bottom{flex-direction:row}section#footer .footer-canvas:after{background:linear-gradient(90deg,#000 0%,#00000080 100%)}}section#hero{z-index:1;cursor:none;background:ivory;justify-content:center;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}section#hero .hero-text{gap:var(--space-3);pointer-events:none;flex-direction:column;flex-grow:1;margin:0 auto;display:flex}section#hero .hero-text .medium-bold{font-weight:600}section#hero .hero-row h1{white-space:nowrap;margin:0;font-size:clamp(2rem,6vw,7rem);line-height:1.8}section#hero .hero-row.bordered{position:relative}section#hero .hero-row.bordered:before{content:"";background:#0004;height:1px;position:absolute;top:0;left:0;right:0}section#hero .hero-row.bordered:after{content:"";background:#0004;height:1px;position:absolute;bottom:0;left:0;right:0}section#hero .hero-row.bordered h1{line-height:1.2;font-size:clamp(var(--text-2xl), 8vw, 10rem)}section#hero mark{font-weight:900}section#hero .align-left{text-align:left;margin-left:20vw;padding-left:10vw;transform:rotate(1deg)}section#hero .align-left:after{transform:translate(5vw)}section#hero .align-right{text-align:right;margin-right:15vw}section#hero .align-center{text-align:center;margin-right:7vw;padding-right:0;transform:rotate(-1deg)}section#hero .align-center:after{transform:translate(-5vw)}section#hero .scroll-hint{bottom:var(--space-3);text-align:center;font-size:var(--text-xsm);opacity:.3;font-weight:900;animation:2.5s cubic-bezier(.29,.72,.44,1) infinite scrollWheel;position:absolute;left:0;right:0}section#hero .scroll-hint span{justify-content:center;align-items:baseline;gap:var(--space-2);display:flex}section#hero .scroll-hint img{opacity:.8;height:.7em}section#hero .hero-canvas{z-index:0;pointer-events:auto;touch-action:pan-y;position:absolute;inset:0}section#hero .hero-text{z-index:1;position:relative}@media screen and (width>=768px){section#hero .hero-row h1{font-weight:450}section#hero .hero-row.align-left{margin-left:7vw}section#hero .hero-row.align-right{margin-right:12vw}section#hero .hero-row.bordered h1{font-weight:400}section#hero .hero-row.bordered:before,section#hero .hero-row.bordered:after{background:#0006}}@keyframes scrollWheel{0%{opacity:0;transform:translateY(-100%)}50%{opacity:.5}to{opacity:0;transform:translateY(0%)}}.clicker{mix-blend-mode:multiply;pointer-events:none;background:#7ce16f;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:min(20vw,100px);height:min(20vw,100px);transition:scale .2s;display:flex;position:absolute;top:15%;right:15%;transform:rotate(20deg)}.clicker p{color:#3e7137;text-transform:uppercase;letter-spacing:.1em;font-size:80%;font-weight:900;transform:translateY(5%)}.clicker:hover{scale:1.1}.clicker.destroyed{scale:0}section#about{color:#fff;background:#000;flex-direction:column;justify-content:center;padding-bottom:0;display:flex;position:relative}section#about .container{padding-bottom:var(--space-8);flex-direction:column;flex-grow:1;justify-content:center;display:flex;position:relative}section#about .about-content{gap:clamp(var(--space-4), 3vw, var(--space-6));flex-direction:column;max-width:40rem;margin:0 auto;display:flex}section#about .about-text{letter-spacing:-.1px;font-weight:500;font-size:clamp(var(--text-xl), 3vw, var(--text-2xl));text-align:justify}section#about strong{font-style:italic;font-weight:900}section#about .scroll-hint{bottom:var(--space-4);left:var(--space-3);white-space:nowrap;font-size:var(--text-xsm);align-items:center;gap:.5em;font-weight:900;display:flex;position:absolute}section#about .scroll-hint img{height:.9em;transform:translateY(.3em)}@media screen and (width>=768px){section#about{min-height:100svh}section#about .about-content{flex-direction:row-reverse;max-width:clamp(30rem,50vw,45rem)}section#about .img-container{flex:0 0 40%}section#about .img-container img{object-fit:cover;width:100%;height:100%}section#about .scroll-hint{left:var(--space-6)}}section#selected-projects .container{gap:clamp(var(--space-5), 5vw, 15rem);flex-direction:column;display:flex}section#selected-projects .carousel{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));justify-content:center;display:grid}section#selected-projects .projects-text{font-size:var(--text-xl);text-align:center;max-width:45rem;margin:0 var(--space-4);font-weight:500;line-height:170%}@media screen and (width>=480px){section#selected-projects .projects-text{margin:clamp(var(--space-4), 5vw, var(--space-7)) auto}}@media screen and (width>=768px){section#selected-projects .projects-text{font-weight:750}}@media screen and (width>=1440px){section#selected-projects h1{text-align:center}}.project-card{border:2px solid #000;flex-direction:column;max-width:25rem;display:flex}.project-card .img-container{border-bottom:2px solid #000;padding:2rem}.project-card .details{padding:var(--space-4);padding-right:var(--space-6);gap:var(--space-3);flex-direction:column;flex-grow:1;display:flex}.project-card p.project-title{font-size:var(--text-xl);font-weight:700}.project-card p.project-desc{font-weight:600;font-size:var(--text-lg);letter-spacing:-.05em;flex-grow:1}section#more-projects{color:#fff;background:#000}section#more-projects .container{flex-direction:column;gap:.9rem;display:flex;overflow:hidden}section#more-projects .project-row{isolation:isolate;contain:layout paint;will-change:transform;backface-visibility:hidden;width:max-content;display:flex;position:relative;overflow-x:visible}section#more-projects .project-row:nth-of-type(2){animation-direction:reverse}section#more-projects .project-row:nth-of-type(3){margin-left:-4rem}section#more-projects .project-thumb{padding:var(--space-2) var(--space-4);flex-shrink:0;margin-right:.9rem}section#more-projects .project-thumb img{height:4rem;transition:transform .2s}@media screen and (hover:hover){section#more-projects .project-thumb:hover img{transform:scale(1.05)}}section#more-projects .more-text{font-weight:800;font-size:clamp(var(--text-2xl), 10vw, var(--text-3xl));margin:var(--space-4) 0;letter-spacing:-.02em;text-align:center;line-height:100%}section#more-projects mark{color:#fff}@media screen and (width>=480px){section#more-projects .project-thumb img{height:clamp(5rem,15vw,10rem)}}section#toolbox{background:#f5f5f5}section#toolbox h1{text-align:center;margin-bottom:var(--space-7);font-weight:700}section#toolbox span.subtitle{font-size:var(--text-sm);font-weight:900}section#toolbox .tools-grid{margin-top:var(--space-3);grid-template-rows:repeat(4,clamp(6rem,25vw,13rem));grid-template-columns:repeat(2,1fr);gap:.5em;display:grid}section#toolbox .tools-grid>:nth-child(8){display:none}@media screen and (width>=768px){section#toolbox .tools-grid{grid-template-rows:repeat(3,clamp(6rem,15vw,13rem));grid-template-columns:repeat(3,1fr)}section#toolbox .tools-grid>:nth-child(8){display:flex}}@media screen and (width>=1024px){section#toolbox .tools-grid{grid-template-rows:repeat(2,clamp(6rem,15vw,13rem));grid-template-columns:repeat(6,1fr)}section#toolbox .tools-grid>:nth-child(-n+3){grid-column:span 2}}section#toolbox .tools-grid-cell{background:#ebebeb;border-radius:1em;justify-content:center;align-items:center;transition:all .2s;display:flex}section#toolbox .tools-grid-cell img{max-width:6em;height:2em}@media screen and (width>=768px){section#toolbox .tools-grid-cell img{height:3em}}@media screen and (hover:hover){section#toolbox .tools-grid-cell:hover{background:#333}section#toolbox .tools-grid-cell:hover img{filter:invert()}}section#cta{padding:var(--space-8) 0}section#cta .container{flex-direction:column;justify-content:center;align-items:center;display:flex}section#cta .central-content{align-items:center;gap:var(--space-5);flex-direction:column-reverse;display:flex}section#cta .central-content p{font-size:clamp(var(--text-2xl), 5vw, 3rem);text-align:center;max-width:25rem;font-weight:500}section#cta .central-content img{width:clamp(6rem,12vw,8rem)}@media screen and (width>=768px){section#cta .container{min-height:min(40vw,30rem)}section#cta .central-content{gap:var(--space-7);flex-direction:row}section#cta .central-content p{text-align:right;font-weight:600}}section#about-me .container{flex-direction:column;align-items:center;display:flex}section#about-me .cover-img{max-width:55rem}section#about-me h1{text-align:center;margin:clamp(var(--space-7), 10vw, var(--space-8)) 0}section#about-me .description{gap:var(--space-5);margin:0 var(--space-3);flex-direction:column;max-width:40rem;font-weight:450;display:flex}section#about-me p{font-size:var(--text-lg);letter-spacing:-.03em;line-height:170%}section#about-me .tags{margin:var(--space-7) var(--space-3);text-transform:uppercase;gap:.5em}@media screen and (width>=768px){section#about-me p{font-weight:600}}section#projects{padding:var(--space-8) 0}section#projects .container{gap:clamp(var(--space-3), 3vw, var(--space-7));flex-direction:column;display:flex}section#projects h1{font-weight:600}section#projects h2{font-size:var(--text-2xl);letter-spacing:-.03em;margin:var(--space-6) 0;font-weight:700}section#projects .project-list>div .project-row{border-top:1px solid #aaa}section#projects .project-list>div:last-of-type .project-row{border-bottom:1px solid #aaa}section#projects .project-list>div:first-of-type .project-row{gap:var(--space-5);flex-direction:column-reverse}section#projects .project-list>div:first-of-type .project-row .text{gap:var(--space-5)}section#projects .project-list>div:first-of-type .project-row .project-image{width:unset;justify-content:center;align-self:stretch;align-items:center;display:flex}section#projects .project-list>div:first-of-type .project-row .project-title{font-size:var(--text-xl)}section#projects .project-list>div:first-of-type .project-row p{font-size:var(--text-lg)}section#projects .project-row{justify-content:space-between;gap:var(--space-2);padding:var(--space-4) clamp(var(--space-3), 3vw, var(--space-6));display:flex}section#projects .project-row .text{gap:var(--space-2);flex-direction:column;display:flex}section#projects .project-row .project-title{font-size:var(--text-lg);letter-spacing:-.03em;font-weight:700;text-decoration:underline}section#projects .project-row .project-desc{justify-content:space-between;gap:var(--space-5);flex-direction:column;display:flex}section#projects .project-row .project-image{width:5rem;padding:var(--space-2);flex-shrink:0;align-self:flex-start}section#projects .project-row p{font-weight:500;font-size:var(--text-md)}@media screen and (width>=768px){section#projects .project-row .text{gap:var(--space-2);flex-direction:row;max-width:60rem}section#projects .project-row .text .project-title{font-size:var(--text-md);width:clamp(5rem,15vw,18rem)}section#projects .project-list>div:first-of-type .project-row{flex-direction:row}section#projects .project-list>div:first-of-type .project-row .project-title{font-size:var(--text-lg)}section#projects .project-list>div:first-of-type .project-row .project-image{max-width:15rem}section#projects .project-image{align-self:center}}section#project-details{padding:var(--space-8) 0}section#project-details .container{gap:var(--space-5);flex-direction:column;display:flex}section#project-details h1{font-weight:600}section#project-details h2{font-size:clamp(var(--text-sm), 2vw, var(--text-lg));font-weight:900}section#project-details h3{font-weight:700}section#project-details .underlined{align-self:flex-start}section#project-details p{letter-spacing:-.03em;line-height:170%;font-size:var(--text-lg);font-weight:450}section#project-details .cover-image{padding:var(--space-6);background-color:#d0e2f3}section#project-details .cover-image img{object-fit:contain;width:100%;max-height:30rem}section#project-details .text-container{gap:var(--space-6);margin:0 var(--space-3);flex-direction:column;display:flex}section#project-details .description{gap:var(--space-5);flex-direction:column;max-width:45rem;display:flex}section#project-details .description a{text-decoration:underline}section#project-details a.link-wrapper{align-self:flex-start}section#project-details .img-extras{margin-top:var(--space-7);border-top:1px solid var(--text);gap:var(--space-5);padding:var(--space-5) 0;flex-direction:column;display:flex}section#project-details .img-extras .img-row{justify-content:space-evenly;gap:var(--space-5);flex-direction:column;display:flex}section#project-details .img-extras .img-row img{cursor:pointer;object-fit:contain;min-width:0;max-height:20rem}@media screen and (width>=768px){section#project-details .text-container{margin:var(--space-5) var(--space-7)}section#project-details .text-container p{font-weight:550;line-height:180%}section#project-details .img-extras .img-row{flex-direction:row}}section#not-found .container{align-items:center;gap:var(--space-6);padding:clamp(var(--space-7), 10vw, var(--space-8)) 0;flex-direction:column;display:flex}@font-face{font-family:Satoshi-Variable;src:url(/assets/Satoshi-Variable-CFg-z2ne.woff2)format("woff2"),url(/assets/Satoshi-Variable-CfACykSx.woff)format("woff"),url(/assets/Satoshi-Variable-ChAXbpFa.ttf)format("truetype");font-weight:300 900;font-display:swap;font-style:normal}@font-face{font-family:Satoshi-Variable;src:url(/assets/Satoshi-VariableItalic-DjwFspxr.woff2)format("woff2"),url(/assets/Satoshi-VariableItalic-pYBsOxD_.woff)format("woff"),url(/assets/Satoshi-VariableItalic-Bb7sdEFv.ttf)format("truetype");font-weight:300 900;font-display:swap;font-style:italic}:root{--text:#08060d;--text-light:#909087;--bg:#fff;--sans:"Satoshi-Variable", "Segoe UI", Roboto, sans-serif;--heading:"Bricolage Grotesque Variable", Roboto, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4rem;--space-8:8rem;--text-xsm:.7rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-2xl:2.5rem;--text-3xl:3.5rem;--max-width:120rem;--radius:.5rem;font:var(--text-base)/145% var(--sans);letter-spacing:.011em;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0}p{letter-spacing:-.05em;line-height:150%}p,h1,h2,h3{margin:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer;outline:inherit;background:0 0;border:none;padding:0}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-3);box-sizing:border-box;margin:0 auto}@media screen and (width>=768px){.container{padding:0 var(--space-5)}}@media screen and (width>=1024px){.container{padding:0 var(--space-7)}}section{padding:var(--space-8) 0;z-index:1;position:relative}mark{background:0 0;position:relative}mark .highlight-container{z-index:-1;width:100%;position:absolute;inset:0}mark .highlight{z-index:-1;object-fit:contain;width:100%;height:100%;position:absolute;inset:0}h1,h2,h3{color:var(--text-h);font-weight:500}h1{font-family:var(--heading);font-size:var(--text-2xl);letter-spacing:-.03em;margin:var(--space-4) 0;line-height:1;font-size:clamp(var(--text-3xl), 6vw, 6rem)}h2{font-size:var(--text-lg);letter-spacing:-.01em;margin:0 0 var(--space-2);line-height:118%}h3{font-size:var(--text-sm)}@media screen and (width>=768px){h1{margin:var(--space-5) 0;font-weight:600}h2{font-size:var(--text-xl)}h3{font-size:var(--text-md)}}.underlined{position:relative}.underlined:after{content:"";background:currentColor;width:100%;height:.1em;position:absolute;bottom:0;left:0}.upper{text-transform:uppercase}.tags{gap:var(--space-1);letter-spacing:-.05em;flex-wrap:wrap;display:flex}.tag{border:2px solid var(--text);padding:0 var(--space-1);white-space:nowrap;border-radius:999px;font-size:.9em;font-weight:700;line-height:135%}.btn-outlined{justify-content:center;align-items:center;gap:var(--space-2);border:2px solid var(--text);text-transform:uppercase;white-space:nowrap;border-radius:999px;align-self:flex-start;padding:.2em 1em;font-weight:700;line-height:1;display:flex}.btn-outlined img{max-height:.5em}.invisible{opacity:0}.invisible-no-flow{opacity:0;pointer-events:none;position:absolute;scale:0}@media screen and (hover:hover){.underlined-hover{position:relative}.underlined-hover:after{content:"";transform-origin:100%;background:currentColor;width:100%;height:.1em;transition:transform .3s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.underlined-hover:hover:after{transform-origin:0%;transform:scaleX(1)}.btn-outlined:hover{color:#fff;background:#000}.btn-outlined:hover img{filter:invert();transform:translate(5px)}.jump-hover:hover .skratek{animation:.3s cubic-bezier(.33,1,.68,1) infinite alternate jump}}@keyframes jump{0%{transform:translateY(0)}to{transform:translateY(-10px)}}
