.link-container[data-astro-cid-pux6a34n]{position:fixed;width:auto;height:auto;padding:1rem;z-index:100}.link-container[data-astro-cid-pux6a34n].projects{top:0;right:0}.link-container[data-astro-cid-pux6a34n].contact{left:0;top:0}.link-container[data-astro-cid-pux6a34n].start{bottom:0;right:0}.link-container[data-astro-cid-pux6a34n] .link[data-astro-cid-pux6a34n]{font-weight:600;text-transform:lowercase}.link[data-astro-cid-mbqdmgin]{text-decoration:underline solid transparent;transition:text-decoration-color .2s ease-in-out}.link[data-astro-cid-mbqdmgin]:hover{text-decoration-color:inherit}.section[data-astro-cid-sh445jdo]{display:flex;flex-direction:column;align-items:flex-start;width:var(--safe-viewport-width);min-height:var(--safe-viewport-height);padding:4rem 1rem 1rem;gap:1.5rem}.section[data-astro-cid-amng4zvp]#projects{height:fit-content;min-height:0}.card-grid[data-astro-cid-amng4zvp]{width:100%;display:grid;align-content:center;justify-items:center;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-auto-rows:1fr;gap:.5rem}.project-card[data-astro-cid-amng4zvp]{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;padding:1rem;gap:1rem;font-size:.8rem;min-width:30ch;min-height:8rem;background-color:var(--translucent)}.project-card__header[data-astro-cid-amng4zvp]{flex-shrink:0}.project-card__content[data-astro-cid-amng4zvp]{flex:1;display:flex;flex-direction:column;justify-content:space-between}.project-card__title[data-astro-cid-amng4zvp]{font-size:1rem;font-weight:500}.project-card__language[data-astro-cid-amng4zvp]{text-transform:lowercase}.project-card__description[data-astro-cid-amng4zvp]{line-height:160%;margin-bottom:.5rem}.icon-link[data-astro-cid-z5k367vc]{--hover-transform:scale(1.05);text-decoration:none;background-color:none;display:inline-flex;justify-content:center;align-items:center;width:2rem;height:2rem}.icon-link[data-astro-cid-z5k367vc] svg[data-astro-cid-z5k367vc]{fill:currentColor;display:block;width:100%;height:auto}.section[data-astro-cid-xmivup5a]#contact{height:100vh;max-height:100vh}.contact-container[data-astro-cid-xmivup5a]{width:100%;height:100%;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:2rem}.contact-details[data-astro-cid-xmivup5a]{gap:1rem;display:flex;justify-content:center;align-items:center;flex-direction:column}.social[data-astro-cid-xmivup5a]{display:flex;justify-content:center;align-items:center;gap:1rem}.section[data-astro-cid-6jmfuzxr]#start{align-items:center;justify-content:center;padding:1rem;height:var(--safe-viewport-height)}.start-container[data-astro-cid-6jmfuzxr]{width:100%;height:100%;display:grid;position:relative;grid-template-rows:1fr;grid-template-columns:1fr;justify-items:center;align-items:center;padding:0}.caption-container[data-astro-cid-6jmfuzxr],.blob-scene[data-astro-cid-6jmfuzxr]{min-width:0;min-height:0;grid-column:1;grid-row:1;position:relative}.caption-container[data-astro-cid-6jmfuzxr]{width:fit-content;height:fit-content;z-index:10;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:1rem}.caption-container[data-astro-cid-6jmfuzxr] .caption[data-astro-cid-6jmfuzxr]{--font-size:1.5rem;font-size:var(--font-size);font-weight:800;color:#fff;text-align:center;text-decoration:none;text-transform:lowercase}.caption-container[data-astro-cid-6jmfuzxr] .caption[data-astro-cid-6jmfuzxr]:not(:first-child){font-size:calc(var(--font-size)*.8)}.blob-scene[data-astro-cid-6jmfuzxr]{display:flex;justify-content:center;align-items:center;position:relative;width:100%;height:100%;overflow:hidden;z-index:0;opacity:0}.blob-scene[data-astro-cid-6jmfuzxr][data-loaded=true]{transition:opacity .5s ease-in-out;transition-delay:.2s;opacity:1}[data-astro-cid-6jmfuzxr][data-device-type=mobile] .blob-scene[data-astro-cid-6jmfuzxr],[data-astro-cid-6jmfuzxr][data-device-type=tablet] .blob-scene[data-astro-cid-6jmfuzxr]{max-height:calc(var(--safe-viewport-height)*.8)}@media only screen and (min-width:700px){.caption[data-astro-cid-6jmfuzxr]{--font-size:2rem}}@font-face{font-family:Familjen Grotesk;font-style:normal;src:url(/assets/fonts/Familjen_Grotesk/FamiljenGrotesk-VariableFont_wght.ttf)format("truetype-variations");font-weight:400 700}@font-face{font-family:Familjen Grotesk;font-style:italic;src:url(/assets/fonts/Familjen_Grotesk/FamiljenGrotesk-Italic-VariableFont_wght.ttf)format("truetype-variations");font-weight:400 700}@font-face{font-family:JetBrains Mono;font-style:normal;src:url(/assets/fonts/JetBrains_Mono/JetBrainsMono-VariableFont_wght.ttf)format("truetype-variations");font-weight:100 800}@font-face{font-family:JetBrains Mono;font-style:italic;src:url(/assets/fonts/JetBrains_Mono/JetBrainsMono-Italic-VariableFont_wght.ttf)format("truetype-variations");font-weight:100 800}:root{--mono-font:"JetBrains Mono", monospace;--main-font:var(--mono-font);--pink:#fae3da;--red:#c8151e;--light-gray:rgb(180, 180, 180);--dark-gray:rgb(80, 80, 80);--translucent:rgba(255, 255, 255, .05);--body-bg:var(--light-gray);--text-color:white;--safe-viewport-height:100vh;--safe-viewport-width:100vw}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden}html[data-loaded=true]{scroll-behavior:smooth}body{color:var(--text-color);background-color:var(--body-bg);font-family:var(--main-font);width:100%}main{width:100%;height:fit-content;min-height:var(--safe-viewport-height);display:flex;justify-content:flex-start;align-items:center;flex-direction:column;gap:2rem}button:not(:disabled),a{cursor:pointer}a{--hover-transform:none;--hover-opacity:.8;--transition-duration:.1s;--transition-timing-function:ease;cursor:pointer;color:inherit;transition-property:opacity,transform;transition-duration:var(--transition-duration);transition-timing-function:var(--transition-timing-function)}code{font-family:var(--mono-font)}.title{--font-size:1.5rem;font-size:var(--font-size);font-weight:800}section>.title{font-weight:600;font-size:calc(var(--font-size)*.8)}@media (hover:hover){a:hover{opacity:var(--hover-opacity);transform:var(--hover-transform)}}@media only screen and (min-width:700px){.title{--font-size:2rem}section>.title{--font-size:1.6rem}}@supports (height:100svh){:root{--safe-viewport-height:100svh;--safe-viewport-width:100svw}}