html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}:root{--background-color: #FDFDFD;--text-color: #2D3436;--accent-color: #6C5CE7;--brightness: .12;--background-color-light: #FFFFFF;--background-color-dark: #232323;--text-color-light: #2D3436;--text-color-dark: #F5F6FA;--space-xs: 4px;--space-sm: 12px;--space-md: 24px;--space-lg: 48px;--space-xl: 80px}@media only screen and (max-width: 768px){html{font-size:15.5px}}html *{transition:color .3s ease-in-out,background-color .3s ease-in-out}::selection{background-color:var(--accent-color);color:#fff}@keyframes float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-8px,0)}}@keyframes arrow-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}html.js main section{opacity:0;transform:translateY(24px);transition:opacity .7s ease-out,transform .7s ease-out}html.js main section h2:after{width:0;transition:width .6s ease-out .35s}html.js main section.revealed{opacity:1;transform:translateY(0)}html.js main section.revealed h2:after{width:32px}@media (prefers-reduced-motion: reduce){html.js main section{opacity:1;transform:none;transition:none}html.js main section h2:after{width:32px;transition:none}.profile-picture img,.arrow-wrapper .arrow{animation:none!important}}:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.portfolio-body{position:relative;background-color:var(--background-color)}.portfolio-body button{background:none;border:none;padding:0;font:inherit;cursor:pointer}.portfolio-body .theme-switcher{position:fixed;right:0;top:0;padding:16px;display:flex;align-items:center;z-index:1}.portfolio-body .theme-switcher__icon{display:block;width:35px;filter:brightness(var(--brightness))}.portfolio-body .theme-switcher__icon span{display:block}.portfolio-body h3,.portfolio-body p,.portfolio-body li,.portfolio-body a{line-height:1.5}.portfolio-body h1{font-family:Source Sans Pro,sans-serif;color:var(--text-color);font-size:clamp(2rem,6vw,3rem);font-weight:400}.portfolio-body h1.bold,.portfolio-body h1 .bold{font-weight:700}.portfolio-body h2{font-family:Source Sans Pro,sans-serif;color:var(--accent-color);font-size:1.5rem;font-weight:700;text-transform:uppercase;text-align:right;margin-top:6px}.portfolio-body h2:after{content:"";display:block;width:32px;height:3px;margin:8px 0 0 auto;border-radius:2px;background-color:var(--accent-color)}@media only screen and (max-width: 768px){.portfolio-body h2{text-align:left;margin-bottom:var(--space-md)}.portfolio-body h2:after{margin-left:0}}.portfolio-body h3,.portfolio-body .h3{font-family:Source Sans Pro,sans-serif;color:var(--text-color);font-size:1rem;font-weight:700}.portfolio-body p{font-family:Source Sans Pro,sans-serif;color:var(--text-color);font-size:1rem;font-weight:400}.portfolio-body p.alt-txt{font-family:Inconsolata,monospace}.portfolio-body a{position:relative;display:block;width:fit-content;font-family:Source Sans Pro,sans-serif;color:var(--accent-color);text-decoration:none;font-size:1rem;font-weight:400;border-bottom:1px solid var(--background-color)}.portfolio-body a.h3{color:var(--text-color)}.portfolio-body a.h3:before{border-bottom:1px solid var(--text-color)}.portfolio-body a.h3:after{border-color:var(--text-color)}.portfolio-body a:hover{cursor:pointer}.portfolio-body a:hover:before{width:110%;opacity:1;transition:width 1s cubic-bezier(.3,0,.22,.99),opacity .1s linear 0s}.portfolio-body a:hover:after{transform:rotate(315deg) translateY(6px) translate(6px)}.portfolio-body a:before{content:"";position:absolute;bottom:-2px;border-bottom:1px solid var(--accent-color);height:1px;width:0%;opacity:0;transition:width 1s cubic-bezier(.79,0,.64,.99),opacity .1s linear 1s}.portfolio-body a:after{content:"";width:1px;height:1px;padding:2px;margin:1px 1px 1px 5px;border-style:solid;border-width:0 1px 1px 0;cursor:pointer;display:inline-block;transform:rotate(315deg);transition:transform 1s cubic-bezier(.6,0,.5,1);border-color:var(--accent-color)}.portfolio-body ul li{font-family:Source Sans Pro,sans-serif;color:var(--text-color);font-size:1rem;font-weight:400}.portfolio-body ul li:before{content:"-";padding-right:10px}.portfolio-body .accent{color:var(--accent-color)}.portfolio-body .col{width:min(1000px,100% - 48px);margin:0 auto}.portfolio-body .page-container{width:100%;position:relative;overflow-x:hidden}.portfolio-body .landing-grid{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.portfolio-body .landing-grid .landing-content{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-lg);padding-top:var(--space-xl)}@media only screen and (max-width: 768px){.portfolio-body .landing-grid .landing-content{flex-direction:column-reverse;gap:var(--space-md);padding-top:var(--space-lg)}}.portfolio-body .landing-grid .landing-section{max-width:600px}.portfolio-body .landing-grid .landing-section .landing-subtitle{margin-top:var(--space-sm)}.portfolio-body .landing-grid .landing-section .landing-meta{margin-top:var(--space-md);font-size:.9rem;line-height:1.7}.portfolio-body .landing-grid .profile-picture{flex-shrink:0}.portfolio-body .landing-grid .profile-picture img{display:block;width:clamp(140px,24vw,260px);border-radius:50%;animation:float 6s ease-in-out infinite;will-change:transform;backface-visibility:hidden}@supports (-moz-appearance: none){.portfolio-body .landing-grid .profile-picture img{animation:none}}.portfolio-body .arrow-wrapper{align-self:center;width:40px;height:40px;margin-bottom:var(--space-md)}.portfolio-body .arrow-wrapper:hover .arrow:before{transform:rotate(45deg);margin-top:30px}.portfolio-body .arrow-wrapper:hover .arrow:after{transform:rotate(-45deg);margin-top:30px}.portfolio-body .arrow-wrapper .arrow{display:block;position:relative;animation:arrow-nudge 2.5s ease-in-out infinite}.portfolio-body .arrow-wrapper .arrow:before,.portfolio-body .arrow-wrapper .arrow:after{position:absolute;left:50%;top:50%;width:15px;height:3px;background-color:var(--text-color);border-radius:1px;margin-top:20px;transition:transform .8s cubic-bezier(.78,0,.22,1),margin-top .8s ease-in-out}.portfolio-body .arrow-wrapper .arrow:before{content:"";margin-left:-12px;transform:rotate(-135deg)}.portfolio-body .arrow-wrapper .arrow:after{content:"";margin-left:-2px;transform:rotate(135deg)}.portfolio-body .portfolio-container{width:100%;position:relative;overflow:hidden}.portfolio-body .portfolio-container section+section{margin-top:var(--space-lg);border-top:1px solid color-mix(in srgb,var(--text-color) 10%,transparent);padding-top:var(--space-lg)}.portfolio-body .portfolio-container .item-list p{max-width:65ch}.portfolio-body .portfolio-container .site-footer{border-top:1px solid color-mix(in srgb,var(--text-color) 10%,transparent);padding:var(--space-md) 0;text-align:center}.portfolio-body .portfolio-container .site-footer p{font-size:.85rem;opacity:.7}.portfolio-body .portfolio-container .grid-row{display:grid;grid-template-columns:1fr 2fr;grid-column-gap:50px;position:relative}@media only screen and (max-width: 768px){.portfolio-body .portfolio-container .grid-row{grid-template-columns:1fr}}.portfolio-body .portfolio-container .grid-row .item-list{display:flex;flex-direction:column;margin-top:4px;gap:var(--space-sm)}@media only screen and (max-width: 768px){.portfolio-body .portfolio-container .grid-row .item-list{margin-left:var(--space-md)}}.portfolio-body .portfolio-container .grid-row .item-list .item{display:flex;flex-direction:row;justify-content:space-between}.portfolio-body .portfolio-container .grid-row .item-list .item .item-right{max-width:65%}@media only screen and (max-width: 768px){.portfolio-body .portfolio-container .grid-row .item-list .item .item-right{max-width:100%}}@media only screen and (max-width: 768px){.portfolio-body .portfolio-container .grid-row .item-list .item .item-left{display:none}}.portfolio-body .portfolio-container .grid-row .toolkit-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.portfolio-body .portfolio-container .grid-row .toolkit-col .toolkit-langs{grid-column:1/-1}@media only screen and (max-width: 768px){.portfolio-body .portfolio-container .grid-row .toolkit-col{margin-left:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}}.portfolio-body .portfolio-container .grid-row .toolkit-col h3{text-transform:uppercase}.portfolio-body .portfolio-container .grid-row .app-mockup{position:absolute;top:70px;left:0;width:min(32%,320px);transition:transform 1s cubic-bezier(.6,0,.5,1)}.portfolio-body .portfolio-container .grid-row .app-mockup:hover{transform:translateY(-15px)}.portfolio-body .portfolio-container .grid-row .app-mockup-mobile{width:min(100%,400px);margin:var(--space-md) auto 0}.portfolio-body .portfolio-container .grid-row .contact-description{font-weight:600}.mt-big{margin-top:var(--space-xl)}.mt-med{margin-top:var(--space-lg)}.mt-sml{margin-top:var(--space-md)}.mt-xsml{margin-top:var(--space-xs)}.mb-big{margin-bottom:var(--space-xl)}.show-tablet{display:none}@media only screen and (max-width: 768px){.show-tablet{display:block}.hide-tablet{display:none}}
